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