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 public class GenericPdu {
21     /**
22      * The headers of pdu.
23      */
24     PduHeaders mPduHeaders = null;
25 
26     /**
27      * Constructor.
28      */
GenericPdu()29     public GenericPdu() {
30         mPduHeaders = new PduHeaders();
31     }
32 
33     /**
34      * Constructor.
35      *
36      * @param headers Headers for this PDU.
37      */
GenericPdu(PduHeaders headers)38     GenericPdu(PduHeaders headers) {
39         mPduHeaders = headers;
40     }
41 
42     /**
43      * Get the headers of this PDU.
44      *
45      * @return A PduHeaders of this PDU.
46      */
getPduHeaders()47     PduHeaders getPduHeaders() {
48         return mPduHeaders;
49     }
50 
51     /**
52      * Get X-Mms-Message-Type field value.
53      *
54      * @return the X-Mms-Report-Allowed value
55      */
getMessageType()56     public int getMessageType() {
57         return mPduHeaders.getOctet(PduHeaders.MESSAGE_TYPE);
58     }
59 
60     /**
61      * Set X-Mms-Message-Type field value.
62      *
63      * @param value the value
64      * @throws InvalidHeaderValueException if the value is invalid.
65      *         RuntimeException if field's value is not Octet.
66      */
setMessageType(int value)67     public void setMessageType(int value) throws InvalidHeaderValueException {
68         mPduHeaders.setOctet(value, PduHeaders.MESSAGE_TYPE);
69     }
70 
71     /**
72      * Get X-Mms-MMS-Version field value.
73      *
74      * @return the X-Mms-MMS-Version value
75      */
getMmsVersion()76     public int getMmsVersion() {
77         return mPduHeaders.getOctet(PduHeaders.MMS_VERSION);
78     }
79 
80     /**
81      * Set X-Mms-MMS-Version field value.
82      *
83      * @param value the value
84      * @throws InvalidHeaderValueException if the value is invalid.
85      *         RuntimeException if field's value is not Octet.
86      */
setMmsVersion(int value)87     public void setMmsVersion(int value) throws InvalidHeaderValueException {
88         mPduHeaders.setOctet(value, PduHeaders.MMS_VERSION);
89     }
90 
91     /**
92      * Get From value.
93      * From-value = Value-length
94      *      (Address-present-token Encoded-string-value | Insert-address-token)
95      *
96      * @return the value
97      */
getFrom()98     public EncodedStringValue getFrom() {
99        return mPduHeaders.getEncodedStringValue(PduHeaders.FROM);
100     }
101 
102     /**
103      * Set From value.
104      *
105      * @param value the value
106      * @throws NullPointerException if the value is null.
107      */
setFrom(EncodedStringValue value)108     public void setFrom(EncodedStringValue value) {
109         mPduHeaders.setEncodedStringValue(value, PduHeaders.FROM);
110     }
111 }
112