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.android.messaging.mmslib.pdu;
     19 
     20 import com.android.messaging.mmslib.InvalidHeaderValueException;
     21 
     22 public class ReadOrigInd extends GenericPdu {
     23     /**
     24      * Empty constructor.
     25      * Since the Pdu corresponding to this class is constructed
     26      * by the Proxy-Relay server, this class is only instantiated
     27      * by the Pdu Parser.
     28      *
     29      * @throws InvalidHeaderValueException if error occurs.
     30      */
     31     public ReadOrigInd() throws InvalidHeaderValueException {
     32         super();
     33         setMessageType(PduHeaders.MESSAGE_TYPE_READ_ORIG_IND);
     34     }
     35 
     36     /**
     37      * Constructor with given headers.
     38      *
     39      * @param headers Headers for this PDU.
     40      */
     41     ReadOrigInd(PduHeaders headers) {
     42         super(headers);
     43     }
     44 
     45     /**
     46      * Get Date value.
     47      *
     48      * @return the value
     49      */
     50     public long getDate() {
     51         return mPduHeaders.getLongInteger(PduHeaders.DATE);
     52     }
     53 
     54     /**
     55      * Set Date value.
     56      *
     57      * @param value the value
     58      */
     59     public void setDate(long value) {
     60         mPduHeaders.setLongInteger(value, PduHeaders.DATE);
     61     }
     62 
     63     /**
     64      * Get From value.
     65      * From-value = Value-length
     66      *      (Address-present-token Encoded-string-value | Insert-address-token)
     67      *
     68      * @return the value
     69      */
     70     public EncodedStringValue getFrom() {
     71         return mPduHeaders.getEncodedStringValue(PduHeaders.FROM);
     72     }
     73 
     74     /**
     75      * Set From value.
     76      *
     77      * @param value the value
     78      * @throws NullPointerException if the value is null.
     79      */
     80     public void setFrom(EncodedStringValue value) {
     81         mPduHeaders.setEncodedStringValue(value, PduHeaders.FROM);
     82     }
     83 
     84     /**
     85      * Get Message-ID value.
     86      *
     87      * @return the value
     88      */
     89     public byte[] getMessageId() {
     90         return mPduHeaders.getTextString(PduHeaders.MESSAGE_ID);
     91     }
     92 
     93     /**
     94      * Set Message-ID value.
     95      *
     96      * @param value the value
     97      * @throws NullPointerException if the value is null.
     98      */
     99     public void setMessageId(byte[] value) {
    100         mPduHeaders.setTextString(value, PduHeaders.MESSAGE_ID);
    101     }
    102 
    103     /**
    104      * Get X-MMS-Read-status value.
    105      *
    106      * @return the value
    107      */
    108     public int getReadStatus() {
    109         return mPduHeaders.getOctet(PduHeaders.READ_STATUS);
    110     }
    111 
    112     /**
    113      * Set X-MMS-Read-status value.
    114      *
    115      * @param value the value
    116      * @throws InvalidHeaderValueException if the value is invalid.
    117      */
    118     public void setReadStatus(int value) throws InvalidHeaderValueException {
    119         mPduHeaders.setOctet(value, PduHeaders.READ_STATUS);
    120     }
    121 
    122     /**
    123      * Get To value.
    124      *
    125      * @return the value
    126      */
    127     public EncodedStringValue[] getTo() {
    128         return mPduHeaders.getEncodedStringValues(PduHeaders.TO);
    129     }
    130 
    131     /**
    132      * Set To value.
    133      *
    134      * @param value the value
    135      * @throws NullPointerException if the value is null.
    136      */
    137     public void setTo(EncodedStringValue[] value) {
    138         mPduHeaders.setEncodedStringValues(value, PduHeaders.TO);
    139     }
    140 
    141     /*
    142      * Optional, not supported header fields:
    143      *
    144      *     public byte[] getApplicId() {return null;}
    145      *     public void setApplicId(byte[] value) {}
    146      *
    147      *     public byte[] getAuxApplicId() {return null;}
    148      *     public void getAuxApplicId(byte[] value) {}
    149      *
    150      *     public byte[] getReplyApplicId() {return 0x00;}
    151      *     public void setReplyApplicId(byte[] value) {}
    152      */
    153 }
    154