1 /*
2  * Copyright (C) 2007 Esmertec AG.
3  * Copyright (C) 2007 The Android Open Source Project
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
18 package android.support.v7.mms.pdu;
19 
20 /**
21  * M-Retrive.conf Pdu.
22  */
23 public class RetrieveConf extends MultimediaMessagePdu {
24     /**
25      * Empty constructor.
26      * Since the Pdu corresponding to this class is constructed
27      * by the Proxy-Relay server, this class is only instantiated
28      * by the Pdu Parser.
29      *
30      * @throws InvalidHeaderValueException if error occurs.
31      */
RetrieveConf()32     public RetrieveConf() throws InvalidHeaderValueException {
33         super();
34         setMessageType(PduHeaders.MESSAGE_TYPE_RETRIEVE_CONF);
35     }
36 
37     /**
38      * Constructor with given headers.
39      *
40      * @param headers Headers for this PDU.
41      */
RetrieveConf(PduHeaders headers)42     RetrieveConf(PduHeaders headers) {
43         super(headers);
44     }
45 
46     /**
47      * Constructor with given headers and body
48      *
49      * @param headers Headers for this PDU.
50      * @param body Body of this PDu.
51      */
RetrieveConf(PduHeaders headers, PduBody body)52     RetrieveConf(PduHeaders headers, PduBody body) {
53         super(headers, body);
54     }
55 
56     /**
57      * Get CC value.
58      *
59      * @return the value
60      */
getCc()61     public EncodedStringValue[] getCc() {
62         return mPduHeaders.getEncodedStringValues(PduHeaders.CC);
63     }
64 
65     /**
66      * Add a "CC" value.
67      *
68      * @param value the value
69      * @throws NullPointerException if the value is null.
70      */
addCc(EncodedStringValue value)71     public void addCc(EncodedStringValue value) {
72         mPduHeaders.appendEncodedStringValue(value, PduHeaders.CC);
73     }
74 
75     /**
76      * Get Content-type value.
77      *
78      * @return the value
79      */
getContentType()80     public byte[] getContentType() {
81         return mPduHeaders.getTextString(PduHeaders.CONTENT_TYPE);
82     }
83 
84     /**
85      * Set Content-type value.
86      *
87      * @param value the value
88      * @throws NullPointerException if the value is null.
89      */
setContentType(byte[] value)90     public void setContentType(byte[] value) {
91         mPduHeaders.setTextString(value, PduHeaders.CONTENT_TYPE);
92     }
93 
94     /**
95      * Get X-Mms-Delivery-Report value.
96      *
97      * @return the value
98      */
getDeliveryReport()99     public int getDeliveryReport() {
100         return mPduHeaders.getOctet(PduHeaders.DELIVERY_REPORT);
101     }
102 
103     /**
104      * Set X-Mms-Delivery-Report value.
105      *
106      * @param value the value
107      * @throws InvalidHeaderValueException if the value is invalid.
108      */
setDeliveryReport(int value)109     public void setDeliveryReport(int value) throws InvalidHeaderValueException {
110         mPduHeaders.setOctet(value, PduHeaders.DELIVERY_REPORT);
111     }
112 
113     /**
114      * Get From value.
115      * From-value = Value-length
116      *      (Address-present-token Encoded-string-value | Insert-address-token)
117      *
118      * @return the value
119      */
getFrom()120     public EncodedStringValue getFrom() {
121        return mPduHeaders.getEncodedStringValue(PduHeaders.FROM);
122     }
123 
124     /**
125      * Set From value.
126      *
127      * @param value the value
128      * @throws NullPointerException if the value is null.
129      */
setFrom(EncodedStringValue value)130     public void setFrom(EncodedStringValue value) {
131         mPduHeaders.setEncodedStringValue(value, PduHeaders.FROM);
132     }
133 
134     /**
135      * Get X-Mms-Message-Class value.
136      * Message-class-value = Class-identifier | Token-text
137      * Class-identifier = Personal | Advertisement | Informational | Auto
138      *
139      * @return the value
140      */
getMessageClass()141     public byte[] getMessageClass() {
142         return mPduHeaders.getTextString(PduHeaders.MESSAGE_CLASS);
143     }
144 
145     /**
146      * Set X-Mms-Message-Class value.
147      *
148      * @param value the value
149      * @throws NullPointerException if the value is null.
150      */
setMessageClass(byte[] value)151     public void setMessageClass(byte[] value) {
152         mPduHeaders.setTextString(value, PduHeaders.MESSAGE_CLASS);
153     }
154 
155     /**
156      * Get Message-ID value.
157      *
158      * @return the value
159      */
getMessageId()160     public byte[] getMessageId() {
161         return mPduHeaders.getTextString(PduHeaders.MESSAGE_ID);
162     }
163 
164     /**
165      * Set Message-ID value.
166      *
167      * @param value the value
168      * @throws NullPointerException if the value is null.
169      */
setMessageId(byte[] value)170     public void setMessageId(byte[] value) {
171         mPduHeaders.setTextString(value, PduHeaders.MESSAGE_ID);
172     }
173 
174     /**
175      * Get X-Mms-Read-Report value.
176      *
177      * @return the value
178      */
getReadReport()179     public int getReadReport() {
180         return mPduHeaders.getOctet(PduHeaders.READ_REPORT);
181     }
182 
183     /**
184      * Set X-Mms-Read-Report value.
185      *
186      * @param value the value
187      * @throws InvalidHeaderValueException if the value is invalid.
188      */
setReadReport(int value)189     public void setReadReport(int value) throws InvalidHeaderValueException {
190         mPduHeaders.setOctet(value, PduHeaders.READ_REPORT);
191     }
192 
193     /**
194      * Get X-Mms-Retrieve-Status value.
195      *
196      * @return the value
197      */
getRetrieveStatus()198     public int getRetrieveStatus() {
199         return mPduHeaders.getOctet(PduHeaders.RETRIEVE_STATUS);
200     }
201 
202     /**
203      * Set X-Mms-Retrieve-Status value.
204      *
205      * @param value the value
206      * @throws InvalidHeaderValueException if the value is invalid.
207      */
setRetrieveStatus(int value)208     public void setRetrieveStatus(int value) throws InvalidHeaderValueException {
209         mPduHeaders.setOctet(value, PduHeaders.RETRIEVE_STATUS);
210     }
211 
212     /**
213      * Get X-Mms-Retrieve-Text value.
214      *
215      * @return the value
216      */
getRetrieveText()217     public EncodedStringValue getRetrieveText() {
218         return mPduHeaders.getEncodedStringValue(PduHeaders.RETRIEVE_TEXT);
219     }
220 
221     /**
222      * Set X-Mms-Retrieve-Text value.
223      *
224      * @param value the value
225      * @throws NullPointerException if the value is null.
226      */
setRetrieveText(EncodedStringValue value)227     public void setRetrieveText(EncodedStringValue value) {
228         mPduHeaders.setEncodedStringValue(value, PduHeaders.RETRIEVE_TEXT);
229     }
230 
231     /**
232      * Get X-Mms-Transaction-Id.
233      *
234      * @return the value
235      */
getTransactionId()236     public byte[] getTransactionId() {
237         return mPduHeaders.getTextString(PduHeaders.TRANSACTION_ID);
238     }
239 
240     /**
241      * Set X-Mms-Transaction-Id.
242      *
243      * @param value the value
244      * @throws NullPointerException if the value is null.
245      */
setTransactionId(byte[] value)246     public void setTransactionId(byte[] value) {
247         mPduHeaders.setTextString(value, PduHeaders.TRANSACTION_ID);
248     }
249 
250     /*
251      * Optional, not supported header fields:
252      *
253      *     public byte[] getApplicId() {return null;}
254      *     public void setApplicId(byte[] value) {}
255      *
256      *     public byte[] getAuxApplicId() {return null;}
257      *     public void getAuxApplicId(byte[] value) {}
258      *
259      *     public byte getContentClass() {return 0x00;}
260      *     public void setApplicId(byte value) {}
261      *
262      *     public byte getDrmContent() {return 0x00;}
263      *     public void setDrmContent(byte value) {}
264      *
265      *     public byte getDistributionIndicator() {return 0x00;}
266      *     public void setDistributionIndicator(byte value) {}
267      *
268      *     public PreviouslySentByValue getPreviouslySentBy() {return null;}
269      *     public void setPreviouslySentBy(PreviouslySentByValue value) {}
270      *
271      *     public PreviouslySentDateValue getPreviouslySentDate() {}
272      *     public void setPreviouslySentDate(PreviouslySentDateValue value) {}
273      *
274      *     public MmFlagsValue getMmFlags() {return null;}
275      *     public void setMmFlags(MmFlagsValue value) {}
276      *
277      *     public MmStateValue getMmState() {return null;}
278      *     public void getMmState(MmStateValue value) {}
279      *
280      *     public byte[] getReplaceId() {return 0x00;}
281      *     public void setReplaceId(byte[] value) {}
282      *
283      *     public byte[] getReplyApplicId() {return 0x00;}
284      *     public void setReplyApplicId(byte[] value) {}
285      *
286      *     public byte getReplyCharging() {return 0x00;}
287      *     public void setReplyCharging(byte value) {}
288      *
289      *     public byte getReplyChargingDeadline() {return 0x00;}
290      *     public void setReplyChargingDeadline(byte value) {}
291      *
292      *     public byte[] getReplyChargingId() {return 0x00;}
293      *     public void setReplyChargingId(byte[] value) {}
294      *
295      *     public long getReplyChargingSize() {return 0;}
296      *     public void setReplyChargingSize(long value) {}
297      */
298 }
299