Home | History | Annotate | Download | only in pdu
      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      */
     29     public GenericPdu() {
     30         mPduHeaders = new PduHeaders();
     31     }
     32 
     33     /**
     34      * Constructor.
     35      *
     36      * @param headers Headers for this PDU.
     37      */
     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      */
     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      */
     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      */
     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      */
     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      */
     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      */
     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      */
    108     public void setFrom(EncodedStringValue value) {
    109         mPduHeaders.setEncodedStringValue(value, PduHeaders.FROM);
    110     }
    111 }
    112