1d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd/* 2d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * Copyright (C) 2007 Esmertec AG. 3d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * Copyright (C) 2007 The Android Open Source Project 4d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * 5d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * Licensed under the Apache License, Version 2.0 (the "License"); 6d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * you may not use this file except in compliance with the License. 7d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * You may obtain a copy of the License at 8d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * 9d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * http://www.apache.org/licenses/LICENSE-2.0 10d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * 11d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * Unless required by applicable law or agreed to in writing, software 12d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * distributed under the License is distributed on an "AS IS" BASIS, 13d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * See the License for the specific language governing permissions and 15d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * limitations under the License. 16d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd */ 17d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd 18d3b009ae55651f1e60950342468e3c37fdeb0796Mike Doddpackage android.support.v7.mms.pdu; 19d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd 20d3b009ae55651f1e60950342468e3c37fdeb0796Mike Doddpublic class ReadOrigInd extends GenericPdu { 21d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd /** 22d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * Empty constructor. 23d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * Since the Pdu corresponding to this class is constructed 24d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * by the Proxy-Relay server, this class is only instantiated 25d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * by the Pdu Parser. 26d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * 27d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * @throws InvalidHeaderValueException if error occurs. 28d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd */ 29d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd public ReadOrigInd() throws InvalidHeaderValueException { 30d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd super(); 31d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd setMessageType(PduHeaders.MESSAGE_TYPE_READ_ORIG_IND); 32d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd } 33d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd 34d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd /** 35d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * Constructor with given headers. 36d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * 37d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * @param headers Headers for this PDU. 38d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd */ 39d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd ReadOrigInd(PduHeaders headers) { 40d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd super(headers); 41d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd } 42d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd 43d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd /** 44d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * Get Date value. 45d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * 46d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * @return the value 47d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd */ 48d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd public long getDate() { 49d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd return mPduHeaders.getLongInteger(PduHeaders.DATE); 50d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd } 51d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd 52d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd /** 53d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * Set Date value. 54d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * 55d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * @param value the value 56d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd */ 57d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd public void setDate(long value) { 58d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd mPduHeaders.setLongInteger(value, PduHeaders.DATE); 59d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd } 60d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd 61d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd /** 62d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * Get From value. 63d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * From-value = Value-length 64d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * (Address-present-token Encoded-string-value | Insert-address-token) 65d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * 66d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * @return the value 67d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd */ 68d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd public EncodedStringValue getFrom() { 69d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd return mPduHeaders.getEncodedStringValue(PduHeaders.FROM); 70d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd } 71d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd 72d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd /** 73d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * Set From value. 74d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * 75d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * @param value the value 76d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * @throws NullPointerException if the value is null. 77d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd */ 78d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd public void setFrom(EncodedStringValue value) { 79d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd mPduHeaders.setEncodedStringValue(value, PduHeaders.FROM); 80d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd } 81d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd 82d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd /** 83d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * Get Message-ID value. 84d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * 85d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * @return the value 86d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd */ 87d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd public byte[] getMessageId() { 88d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd return mPduHeaders.getTextString(PduHeaders.MESSAGE_ID); 89d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd } 90d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd 91d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd /** 92d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * Set Message-ID value. 93d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * 94d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * @param value the value 95d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * @throws NullPointerException if the value is null. 96d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd */ 97d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd public void setMessageId(byte[] value) { 98d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd mPduHeaders.setTextString(value, PduHeaders.MESSAGE_ID); 99d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd } 100d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd 101d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd /** 102d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * Get X-MMS-Read-status value. 103d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * 104d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * @return the value 105d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd */ 106d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd public int getReadStatus() { 107d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd return mPduHeaders.getOctet(PduHeaders.READ_STATUS); 108d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd } 109d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd 110d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd /** 111d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * Set X-MMS-Read-status value. 112d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * 113d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * @param value the value 114d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * @throws InvalidHeaderValueException if the value is invalid. 115d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd */ 116d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd public void setReadStatus(int value) throws InvalidHeaderValueException { 117d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd mPduHeaders.setOctet(value, PduHeaders.READ_STATUS); 118d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd } 119d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd 120d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd /** 121d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * Get To value. 122d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * 123d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * @return the value 124d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd */ 125d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd public EncodedStringValue[] getTo() { 126d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd return mPduHeaders.getEncodedStringValues(PduHeaders.TO); 127d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd } 128d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd 129d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd /** 130d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * Set To value. 131d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * 132d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * @param value the value 133d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * @throws NullPointerException if the value is null. 134d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd */ 135d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd public void setTo(EncodedStringValue[] value) { 136d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd mPduHeaders.setEncodedStringValues(value, PduHeaders.TO); 137d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd } 138d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd 139d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd /* 140d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * Optional, not supported header fields: 141d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * 142d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * public byte[] getApplicId() {return null;} 143d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * public void setApplicId(byte[] value) {} 144d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * 145d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * public byte[] getAuxApplicId() {return null;} 146d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * public void getAuxApplicId(byte[] value) {} 147d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * 148d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * public byte[] getReplyApplicId() {return 0x00;} 149d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * public void setReplyApplicId(byte[] value) {} 150d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd */ 151d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd} 152