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 androidx.appcompat.mms.pdu; 19 20 /** 21 * Multimedia message PDU. 22 */ 23 public class MultimediaMessagePdu extends GenericPdu{ 24 /** 25 * The body. 26 */ 27 private PduBody mMessageBody; 28 29 /** 30 * Constructor. 31 */ MultimediaMessagePdu()32 public MultimediaMessagePdu() { 33 super(); 34 } 35 36 /** 37 * Constructor. 38 * 39 * @param header the header of this PDU 40 * @param body the body of this PDU 41 */ MultimediaMessagePdu(PduHeaders header, PduBody body)42 public MultimediaMessagePdu(PduHeaders header, PduBody body) { 43 super(header); 44 mMessageBody = body; 45 } 46 47 /** 48 * Constructor with given headers. 49 * 50 * @param headers Headers for this PDU. 51 */ MultimediaMessagePdu(PduHeaders headers)52 MultimediaMessagePdu(PduHeaders headers) { 53 super(headers); 54 } 55 56 /** 57 * Get body of the PDU. 58 * 59 * @return the body 60 */ getBody()61 public PduBody getBody() { 62 return mMessageBody; 63 } 64 65 /** 66 * Set body of the PDU. 67 * 68 * @param body the body 69 */ setBody(PduBody body)70 public void setBody(PduBody body) { 71 mMessageBody = body; 72 } 73 74 /** 75 * Get subject. 76 * 77 * @return the value 78 */ getSubject()79 public EncodedStringValue getSubject() { 80 return mPduHeaders.getEncodedStringValue(PduHeaders.SUBJECT); 81 } 82 83 /** 84 * Set subject. 85 * 86 * @param value the value 87 * @throws NullPointerException if the value is null. 88 */ setSubject(EncodedStringValue value)89 public void setSubject(EncodedStringValue value) { 90 mPduHeaders.setEncodedStringValue(value, PduHeaders.SUBJECT); 91 } 92 93 /** 94 * Get To value. 95 * 96 * @return the value 97 */ getTo()98 public EncodedStringValue[] getTo() { 99 return mPduHeaders.getEncodedStringValues(PduHeaders.TO); 100 } 101 102 /** 103 * Add a "To" value. 104 * 105 * @param value the value 106 * @throws NullPointerException if the value is null. 107 */ addTo(EncodedStringValue value)108 public void addTo(EncodedStringValue value) { 109 mPduHeaders.appendEncodedStringValue(value, PduHeaders.TO); 110 } 111 112 /** 113 * Get X-Mms-Priority value. 114 * 115 * @return the value 116 */ getPriority()117 public int getPriority() { 118 return mPduHeaders.getOctet(PduHeaders.PRIORITY); 119 } 120 121 /** 122 * Set X-Mms-Priority value. 123 * 124 * @param value the value 125 * @throws InvalidHeaderValueException if the value is invalid. 126 */ setPriority(int value)127 public void setPriority(int value) throws InvalidHeaderValueException { 128 mPduHeaders.setOctet(value, PduHeaders.PRIORITY); 129 } 130 131 /** 132 * Get Date value. 133 * 134 * @return the value 135 */ getDate()136 public long getDate() { 137 return mPduHeaders.getLongInteger(PduHeaders.DATE); 138 } 139 140 /** 141 * Set Date value in seconds. 142 * 143 * @param value the value 144 */ setDate(long value)145 public void setDate(long value) { 146 mPduHeaders.setLongInteger(value, PduHeaders.DATE); 147 } 148 } 149