blob: 880e3ac3ddd43aeea3edce7a435a87d4bda15c55 [file] [log] [blame]
Wink Savilled02a0642012-06-14 12:11:20 -07001/*
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
18package com.google.android.mms.pdu;
19
20import com.google.android.mms.InvalidHeaderValueException;
21
22public class ReadRecInd extends GenericPdu {
23 /**
24 * Constructor, used when composing a M-ReadRec.ind pdu.
25 *
26 * @param from the from value
27 * @param messageId the message ID value
28 * @param mmsVersion current viersion of mms
29 * @param readStatus the read status value
30 * @param to the to value
31 * @throws InvalidHeaderValueException if parameters are invalid.
32 * NullPointerException if messageId or to is null.
33 */
34 public ReadRecInd(EncodedStringValue from,
35 byte[] messageId,
36 int mmsVersion,
37 int readStatus,
38 EncodedStringValue[] to) throws InvalidHeaderValueException {
39 super();
40 setMessageType(PduHeaders.MESSAGE_TYPE_READ_REC_IND);
41 setFrom(from);
42 setMessageId(messageId);
43 setMmsVersion(mmsVersion);
44 setTo(to);
45 setReadStatus(readStatus);
46 }
47
48 /**
49 * Constructor with given headers.
50 *
51 * @param headers Headers for this PDU.
52 */
53 ReadRecInd(PduHeaders headers) {
54 super(headers);
55 }
56
57 /**
58 * Get Date value.
59 *
60 * @return the value
61 */
62 public long getDate() {
63 return mPduHeaders.getLongInteger(PduHeaders.DATE);
64 }
65
66 /**
67 * Set Date value.
68 *
69 * @param value the value
70 */
71 public void setDate(long value) {
72 mPduHeaders.setLongInteger(value, PduHeaders.DATE);
73 }
74
75 /**
76 * Get Message-ID value.
77 *
78 * @return the value
79 */
80 public byte[] getMessageId() {
81 return mPduHeaders.getTextString(PduHeaders.MESSAGE_ID);
82 }
83
84 /**
85 * Set Message-ID value.
86 *
87 * @param value the value
88 * @throws NullPointerException if the value is null.
89 */
90 public void setMessageId(byte[] value) {
91 mPduHeaders.setTextString(value, PduHeaders.MESSAGE_ID);
92 }
93
94 /**
95 * Get To value.
96 *
97 * @return the value
98 */
99 public EncodedStringValue[] getTo() {
100 return mPduHeaders.getEncodedStringValues(PduHeaders.TO);
101 }
102
103 /**
104 * Set To value.
105 *
106 * @param value the value
107 * @throws NullPointerException if the value is null.
108 */
109 public void setTo(EncodedStringValue[] value) {
110 mPduHeaders.setEncodedStringValues(value, PduHeaders.TO);
111 }
112
113 /**
114 * Get X-MMS-Read-status value.
115 *
116 * @return the value
117 */
118 public int getReadStatus() {
119 return mPduHeaders.getOctet(PduHeaders.READ_STATUS);
120 }
121
122 /**
123 * Set X-MMS-Read-status value.
124 *
125 * @param value the value
126 * @throws InvalidHeaderValueException if the value is invalid.
127 */
128 public void setReadStatus(int value) throws InvalidHeaderValueException {
129 mPduHeaders.setOctet(value, PduHeaders.READ_STATUS);
130 }
131
132 /*
133 * Optional, not supported header fields:
134 *
135 * public byte[] getApplicId() {return null;}
136 * public void setApplicId(byte[] value) {}
137 *
138 * public byte[] getAuxApplicId() {return null;}
139 * public void getAuxApplicId(byte[] value) {}
140 *
141 * public byte[] getReplyApplicId() {return 0x00;}
142 * public void setReplyApplicId(byte[] value) {}
143 */
144}