1d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd/*
2d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * Copyright (C) 2007 Esmertec AG.
3d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * Copyright (C) 2007 The Android Open Source Project
4d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd *
5d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * Licensed under the Apache License, Version 2.0 (the "License");
6d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * you may not use this file except in compliance with the License.
7d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * You may obtain a copy of the License at
8d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd *
9d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd *      http://www.apache.org/licenses/LICENSE-2.0
10d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd *
11d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * Unless required by applicable law or agreed to in writing, software
12d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * distributed under the License is distributed on an "AS IS" BASIS,
13d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * See the License for the specific language governing permissions and
15d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * limitations under the License.
16d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd */
17d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd
18d3b009ae55651f1e60950342468e3c37fdeb0796Mike Doddpackage com.android.messaging.mmslib.pdu;
19d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd
20d3b009ae55651f1e60950342468e3c37fdeb0796Mike Doddimport com.android.messaging.mmslib.InvalidHeaderValueException;
21d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd
22d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd/**
23d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * M-Notification.ind PDU.
24d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd */
25d3b009ae55651f1e60950342468e3c37fdeb0796Mike Doddpublic class NotificationInd extends GenericPdu {
26d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    /**
27d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * Empty constructor.
28d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * Since the Pdu corresponding to this class is constructed
29d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * by the Proxy-Relay server, this class is only instantiated
30d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * by the Pdu Parser.
31d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *
32d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * @throws InvalidHeaderValueException if error occurs.
33d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * @throws RuntimeException if an undeclared error occurs.
34d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     */
35d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    public NotificationInd() throws InvalidHeaderValueException {
36d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd        super();
37d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd        setMessageType(PduHeaders.MESSAGE_TYPE_NOTIFICATION_IND);
38d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    }
39d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd
40d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    /**
41d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * Constructor with given headers.
42d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *
43d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * @param headers Headers for this PDU.
44d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     */
45d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    NotificationInd(PduHeaders headers) {
46d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd        super(headers);
47d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    }
48d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd
49d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    /**
50d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * Get X-Mms-Content-Class Value.
51d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *
52d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * @return the value
53d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     */
54d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    public int getContentClass() {
55d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd        return mPduHeaders.getOctet(PduHeaders.CONTENT_CLASS);
56d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    }
57d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd
58d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    /**
59d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * Set X-Mms-Content-Class Value.
60d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *
61d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * @param value the value
62d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * @throws InvalidHeaderValueException if the value is invalid.
63d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * @throws RuntimeException if an undeclared error occurs.
64d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     */
65d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    public void setContentClass(int value) throws InvalidHeaderValueException {
66d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd        mPduHeaders.setOctet(value, PduHeaders.CONTENT_CLASS);
67d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    }
68d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd
69d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    /**
70d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * Get X-Mms-Content-Location value.
71d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * When used in a PDU other than M-Mbox-Delete.conf and M-Delete.conf:
72d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * Content-location-value = Uri-value
73d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *
74d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * @return the value
75d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     */
76d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    public byte[] getContentLocation() {
77d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd        return mPduHeaders.getTextString(PduHeaders.CONTENT_LOCATION);
78d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    }
79d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd
80d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    /**
81d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * Set X-Mms-Content-Location value.
82d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *
83d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * @param value the value
84d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * @throws NullPointerException if the value is null.
85d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * @throws RuntimeException if an undeclared error occurs.
86d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     */
87d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    public void setContentLocation(byte[] value) {
88d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd        mPduHeaders.setTextString(value, PduHeaders.CONTENT_LOCATION);
89d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    }
90d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd
91d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    /**
92d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * Get X-Mms-Expiry value.
93d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *
94d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * Expiry-value = Value-length
95d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *      (Absolute-token Date-value | Relative-token Delta-seconds-value)
96d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *
97d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * @return the value
98d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     */
99d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    public long getExpiry() {
100d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd        return mPduHeaders.getLongInteger(PduHeaders.EXPIRY);
101d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    }
102d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd
103d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    /**
104d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * Set X-Mms-Expiry value.
105d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *
106d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * @param value the value
107d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * @throws RuntimeException if an undeclared error occurs.
108d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     */
109d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    public void setExpiry(long value) {
110d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd        mPduHeaders.setLongInteger(value, PduHeaders.EXPIRY);
111d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    }
112d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd
113d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    /**
114d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * Get From value.
115d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * From-value = Value-length
116d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *      (Address-present-token Encoded-string-value | Insert-address-token)
117d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *
118d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * @return the value
119d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     */
120d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    public EncodedStringValue getFrom() {
121d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd        return mPduHeaders.getEncodedStringValue(PduHeaders.FROM);
122d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    }
123d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd
124d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    /**
125d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * Set From value.
126d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *
127d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * @param value the value
128d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * @throws NullPointerException if the value is null.
129d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * @throws RuntimeException if an undeclared error occurs.
130d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     */
131d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    public void setFrom(EncodedStringValue value) {
132d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd        mPduHeaders.setEncodedStringValue(value, PduHeaders.FROM);
133d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    }
134d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd
135d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    /**
136d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * Get X-Mms-Message-Class value.
137d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * Message-class-value = Class-identifier | Token-text
138d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * Class-identifier = Personal | Advertisement | Informational | Auto
139d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *
140d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * @return the value
141d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     */
142d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    public byte[] getMessageClass() {
143d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd        return mPduHeaders.getTextString(PduHeaders.MESSAGE_CLASS);
144d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    }
145d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd
146d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    /**
147d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * Set X-Mms-Message-Class value.
148d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *
149d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * @param value the value
150d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * @throws NullPointerException if the value is null.
151d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * @throws RuntimeException if an undeclared error occurs.
152d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     */
153d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    public void setMessageClass(byte[] value) {
154d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd        mPduHeaders.setTextString(value, PduHeaders.MESSAGE_CLASS);
155d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    }
156d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd
157d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    /**
158d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * Get X-Mms-Message-Size value.
159d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * Message-size-value = Long-integer
160d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *
161d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * @return the value
162d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     */
163d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    public long getMessageSize() {
164d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd        return mPduHeaders.getLongInteger(PduHeaders.MESSAGE_SIZE);
165d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    }
166d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd
167d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    /**
168d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * Set X-Mms-Message-Size value.
169d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *
170d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * @param value the value
171d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * @throws RuntimeException if an undeclared error occurs.
172d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     */
173d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    public void setMessageSize(long value) {
174d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd        mPduHeaders.setLongInteger(value, PduHeaders.MESSAGE_SIZE);
175d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    }
176d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd
177d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    /**
178d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * Get subject.
179d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *
180d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * @return the value
181d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     */
182d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    public EncodedStringValue getSubject() {
183d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd        return mPduHeaders.getEncodedStringValue(PduHeaders.SUBJECT);
184d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    }
185d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd
186d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    /**
187d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * Set subject.
188d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *
189d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * @param value the value
190d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * @throws NullPointerException if the value is null.
191d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * @throws RuntimeException if an undeclared error occurs.
192d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     */
193d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    public void setSubject(EncodedStringValue value) {
194d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd        mPduHeaders.setEncodedStringValue(value, PduHeaders.SUBJECT);
195d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    }
196d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd
197d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    /**
198d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * Get X-Mms-Transaction-Id.
199d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *
200d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * @return the value
201d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     */
202d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    public byte[] getTransactionId() {
203d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd        return mPduHeaders.getTextString(PduHeaders.TRANSACTION_ID);
204d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    }
205d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd
206d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    /**
207d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * Set X-Mms-Transaction-Id.
208d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *
209d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * @param value the value
210d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * @throws NullPointerException if the value is null.
211d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * @throws RuntimeException if an undeclared error occurs.
212d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     */
213d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    public void setTransactionId(byte[] value) {
214d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd        mPduHeaders.setTextString(value, PduHeaders.TRANSACTION_ID);
215d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    }
216d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd
217d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    /**
218d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * Get X-Mms-Delivery-Report Value.
219d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *
220d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * @return the value
221d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     */
222d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    public int getDeliveryReport() {
223d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd        return mPduHeaders.getOctet(PduHeaders.DELIVERY_REPORT);
224d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    }
225d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd
226d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    /**
227d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * Set X-Mms-Delivery-Report Value.
228d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *
229d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * @param value the value
230d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * @throws InvalidHeaderValueException if the value is invalid.
231d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * @throws RuntimeException if an undeclared error occurs.
232d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     */
233d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    public void setDeliveryReport(int value) throws InvalidHeaderValueException {
234d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd        mPduHeaders.setOctet(value, PduHeaders.DELIVERY_REPORT);
235d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    }
236d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd
237d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd    /*
238d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     * Optional, not supported header fields:
239d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *
240d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *     public byte[] getApplicId() {return null;}
241d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *     public void setApplicId(byte[] value) {}
242d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *
243d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *     public byte[] getAuxApplicId() {return null;}
244d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *     public void getAuxApplicId(byte[] value) {}
245d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *
246d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *     public byte getDrmContent() {return 0x00;}
247d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *     public void setDrmContent(byte value) {}
248d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *
249d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *     public byte getDistributionIndicator() {return 0x00;}
250d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *     public void setDistributionIndicator(byte value) {}
251d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *
252d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *     public ElementDescriptorValue getElementDescriptor() {return null;}
253d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *     public void getElementDescriptor(ElementDescriptorValue value) {}
254d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *
255d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *     public byte getPriority() {return 0x00;}
256d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *     public void setPriority(byte value) {}
257d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *
258d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *     public byte getRecommendedRetrievalMode() {return 0x00;}
259d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *     public void setRecommendedRetrievalMode(byte value) {}
260d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *
261d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *     public byte getRecommendedRetrievalModeText() {return 0x00;}
262d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *     public void setRecommendedRetrievalModeText(byte value) {}
263d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *
264d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *     public byte[] getReplaceId() {return 0x00;}
265d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *     public void setReplaceId(byte[] value) {}
266d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *
267d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *     public byte[] getReplyApplicId() {return 0x00;}
268d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *     public void setReplyApplicId(byte[] value) {}
269d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *
270d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *     public byte getReplyCharging() {return 0x00;}
271d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *     public void setReplyCharging(byte value) {}
272d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *
273d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *     public byte getReplyChargingDeadline() {return 0x00;}
274d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *     public void setReplyChargingDeadline(byte value) {}
275d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *
276d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *     public byte[] getReplyChargingId() {return 0x00;}
277d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *     public void setReplyChargingId(byte[] value) {}
278d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *
279d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *     public long getReplyChargingSize() {return 0;}
280d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *     public void setReplyChargingSize(long value) {}
281d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *
282d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *     public byte getStored() {return 0x00;}
283d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     *     public void setStored(byte value) {}
284d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd     */
285d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd}
286