1d02a064168ae5c916b977182b764580e601cb084Wink Saville/* 2d02a064168ae5c916b977182b764580e601cb084Wink Saville * Copyright (C) 2007 Esmertec AG. 3d02a064168ae5c916b977182b764580e601cb084Wink Saville * Copyright (C) 2007 The Android Open Source Project 4d02a064168ae5c916b977182b764580e601cb084Wink Saville * 5d02a064168ae5c916b977182b764580e601cb084Wink Saville * Licensed under the Apache License, Version 2.0 (the "License"); 6d02a064168ae5c916b977182b764580e601cb084Wink Saville * you may not use this file except in compliance with the License. 7d02a064168ae5c916b977182b764580e601cb084Wink Saville * You may obtain a copy of the License at 8d02a064168ae5c916b977182b764580e601cb084Wink Saville * 9d02a064168ae5c916b977182b764580e601cb084Wink Saville * http://www.apache.org/licenses/LICENSE-2.0 10d02a064168ae5c916b977182b764580e601cb084Wink Saville * 11d02a064168ae5c916b977182b764580e601cb084Wink Saville * Unless required by applicable law or agreed to in writing, software 12d02a064168ae5c916b977182b764580e601cb084Wink Saville * distributed under the License is distributed on an "AS IS" BASIS, 13d02a064168ae5c916b977182b764580e601cb084Wink Saville * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14d02a064168ae5c916b977182b764580e601cb084Wink Saville * See the License for the specific language governing permissions and 15d02a064168ae5c916b977182b764580e601cb084Wink Saville * limitations under the License. 16d02a064168ae5c916b977182b764580e601cb084Wink Saville */ 17d02a064168ae5c916b977182b764580e601cb084Wink Saville 18d02a064168ae5c916b977182b764580e601cb084Wink Savillepackage com.google.android.mms.pdu; 19d02a064168ae5c916b977182b764580e601cb084Wink Saville 20d02a064168ae5c916b977182b764580e601cb084Wink Savilleimport com.google.android.mms.InvalidHeaderValueException; 21d02a064168ae5c916b977182b764580e601cb084Wink Saville 22d02a064168ae5c916b977182b764580e601cb084Wink Saville/** 23d02a064168ae5c916b977182b764580e601cb084Wink Saville * M-Acknowledge.ind PDU. 24d02a064168ae5c916b977182b764580e601cb084Wink Saville */ 25d02a064168ae5c916b977182b764580e601cb084Wink Savillepublic class AcknowledgeInd extends GenericPdu { 26d02a064168ae5c916b977182b764580e601cb084Wink Saville /** 27d02a064168ae5c916b977182b764580e601cb084Wink Saville * Constructor, used when composing a M-Acknowledge.ind pdu. 28d02a064168ae5c916b977182b764580e601cb084Wink Saville * 29d02a064168ae5c916b977182b764580e601cb084Wink Saville * @param mmsVersion current viersion of mms 30d02a064168ae5c916b977182b764580e601cb084Wink Saville * @param transactionId the transaction-id value 31d02a064168ae5c916b977182b764580e601cb084Wink Saville * @throws InvalidHeaderValueException if parameters are invalid. 32d02a064168ae5c916b977182b764580e601cb084Wink Saville * NullPointerException if transactionId is null. 33d02a064168ae5c916b977182b764580e601cb084Wink Saville */ 34d02a064168ae5c916b977182b764580e601cb084Wink Saville public AcknowledgeInd(int mmsVersion, byte[] transactionId) 35d02a064168ae5c916b977182b764580e601cb084Wink Saville throws InvalidHeaderValueException { 36d02a064168ae5c916b977182b764580e601cb084Wink Saville super(); 37d02a064168ae5c916b977182b764580e601cb084Wink Saville 38d02a064168ae5c916b977182b764580e601cb084Wink Saville setMessageType(PduHeaders.MESSAGE_TYPE_ACKNOWLEDGE_IND); 39d02a064168ae5c916b977182b764580e601cb084Wink Saville setMmsVersion(mmsVersion); 40d02a064168ae5c916b977182b764580e601cb084Wink Saville setTransactionId(transactionId); 41d02a064168ae5c916b977182b764580e601cb084Wink Saville } 42d02a064168ae5c916b977182b764580e601cb084Wink Saville 43d02a064168ae5c916b977182b764580e601cb084Wink Saville /** 44d02a064168ae5c916b977182b764580e601cb084Wink Saville * Constructor with given headers. 45d02a064168ae5c916b977182b764580e601cb084Wink Saville * 46d02a064168ae5c916b977182b764580e601cb084Wink Saville * @param headers Headers for this PDU. 47d02a064168ae5c916b977182b764580e601cb084Wink Saville */ 48d02a064168ae5c916b977182b764580e601cb084Wink Saville AcknowledgeInd(PduHeaders headers) { 49d02a064168ae5c916b977182b764580e601cb084Wink Saville super(headers); 50d02a064168ae5c916b977182b764580e601cb084Wink Saville } 51d02a064168ae5c916b977182b764580e601cb084Wink Saville 52d02a064168ae5c916b977182b764580e601cb084Wink Saville /** 53d02a064168ae5c916b977182b764580e601cb084Wink Saville * Get X-Mms-Report-Allowed field value. 54d02a064168ae5c916b977182b764580e601cb084Wink Saville * 55d02a064168ae5c916b977182b764580e601cb084Wink Saville * @return the X-Mms-Report-Allowed value 56d02a064168ae5c916b977182b764580e601cb084Wink Saville */ 57d02a064168ae5c916b977182b764580e601cb084Wink Saville public int getReportAllowed() { 58d02a064168ae5c916b977182b764580e601cb084Wink Saville return mPduHeaders.getOctet(PduHeaders.REPORT_ALLOWED); 59d02a064168ae5c916b977182b764580e601cb084Wink Saville } 60d02a064168ae5c916b977182b764580e601cb084Wink Saville 61d02a064168ae5c916b977182b764580e601cb084Wink Saville /** 62d02a064168ae5c916b977182b764580e601cb084Wink Saville * Set X-Mms-Report-Allowed field value. 63d02a064168ae5c916b977182b764580e601cb084Wink Saville * 64d02a064168ae5c916b977182b764580e601cb084Wink Saville * @param value the value 65d02a064168ae5c916b977182b764580e601cb084Wink Saville * @throws InvalidHeaderValueException if the value is invalid. 66d02a064168ae5c916b977182b764580e601cb084Wink Saville */ 67d02a064168ae5c916b977182b764580e601cb084Wink Saville public void setReportAllowed(int value) throws InvalidHeaderValueException { 68d02a064168ae5c916b977182b764580e601cb084Wink Saville mPduHeaders.setOctet(value, PduHeaders.REPORT_ALLOWED); 69d02a064168ae5c916b977182b764580e601cb084Wink Saville } 70d02a064168ae5c916b977182b764580e601cb084Wink Saville 71d02a064168ae5c916b977182b764580e601cb084Wink Saville /** 72d02a064168ae5c916b977182b764580e601cb084Wink Saville * Get X-Mms-Transaction-Id field value. 73d02a064168ae5c916b977182b764580e601cb084Wink Saville * 74d02a064168ae5c916b977182b764580e601cb084Wink Saville * @return the X-Mms-Report-Allowed value 75d02a064168ae5c916b977182b764580e601cb084Wink Saville */ 76d02a064168ae5c916b977182b764580e601cb084Wink Saville public byte[] getTransactionId() { 77d02a064168ae5c916b977182b764580e601cb084Wink Saville return mPduHeaders.getTextString(PduHeaders.TRANSACTION_ID); 78d02a064168ae5c916b977182b764580e601cb084Wink Saville } 79d02a064168ae5c916b977182b764580e601cb084Wink Saville 80d02a064168ae5c916b977182b764580e601cb084Wink Saville /** 81d02a064168ae5c916b977182b764580e601cb084Wink Saville * Set X-Mms-Transaction-Id field value. 82d02a064168ae5c916b977182b764580e601cb084Wink Saville * 83d02a064168ae5c916b977182b764580e601cb084Wink Saville * @param value the value 84d02a064168ae5c916b977182b764580e601cb084Wink Saville * @throws NullPointerException if the value is null. 85d02a064168ae5c916b977182b764580e601cb084Wink Saville */ 86d02a064168ae5c916b977182b764580e601cb084Wink Saville public void setTransactionId(byte[] value) { 87d02a064168ae5c916b977182b764580e601cb084Wink Saville mPduHeaders.setTextString(value, PduHeaders.TRANSACTION_ID); 88d02a064168ae5c916b977182b764580e601cb084Wink Saville } 89d02a064168ae5c916b977182b764580e601cb084Wink Saville} 90