diff options
Diffstat (limited to 'src/android/bluetooth/client/map/BluetoothMasRequest.java')
-rw-r--r-- | src/android/bluetooth/client/map/BluetoothMasRequest.java | 162 |
1 files changed, 0 insertions, 162 deletions
diff --git a/src/android/bluetooth/client/map/BluetoothMasRequest.java b/src/android/bluetooth/client/map/BluetoothMasRequest.java deleted file mode 100644 index 0c9c29c..0000000 --- a/src/android/bluetooth/client/map/BluetoothMasRequest.java +++ /dev/null @@ -1,162 +0,0 @@ -/* - * Copyright (C) 2014 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package android.bluetooth.client.map; - -import java.io.DataOutputStream; -import java.io.IOException; -import java.io.InputStream; - -import javax.obex.ClientOperation; -import javax.obex.ClientSession; -import javax.obex.HeaderSet; -import javax.obex.Operation; -import javax.obex.ResponseCodes; - -abstract class BluetoothMasRequest { - - protected static final byte OAP_TAGID_MAX_LIST_COUNT = 0x01; - protected static final byte OAP_TAGID_START_OFFSET = 0x02; - protected static final byte OAP_TAGID_FILTER_MESSAGE_TYPE = 0x03; - protected static final byte OAP_TAGID_FILTER_PERIOD_BEGIN = 0x04; - protected static final byte OAP_TAGID_FILTER_PERIOD_END = 0x05; - protected static final byte OAP_TAGID_FILTER_READ_STATUS = 0x06; - protected static final byte OAP_TAGID_FILTER_RECIPIENT = 0x07; - protected static final byte OAP_TAGID_FILTER_ORIGINATOR = 0x08; - protected static final byte OAP_TAGID_FILTER_PRIORITY = 0x09; - protected static final byte OAP_TAGID_ATTACHMENT = 0x0a; - protected static final byte OAP_TAGID_TRANSPARENT = 0xb; - protected static final byte OAP_TAGID_RETRY = 0xc; - protected static final byte OAP_TAGID_NEW_MESSAGE = 0x0d; - protected static final byte OAP_TAGID_NOTIFICATION_STATUS = 0x0e; - protected static final byte OAP_TAGID_MAS_INSTANCE_ID = 0x0f; - protected static final byte OAP_TAGID_PARAMETER_MASK = 0x10; - protected static final byte OAP_TAGID_FOLDER_LISTING_SIZE = 0x11; - protected static final byte OAP_TAGID_MESSAGES_LISTING_SIZE = 0x12; - protected static final byte OAP_TAGID_SUBJECT_LENGTH = 0x13; - protected static final byte OAP_TAGID_CHARSET = 0x14; - protected static final byte OAP_TAGID_STATUS_INDICATOR = 0x17; - protected static final byte OAP_TAGID_STATUS_VALUE = 0x18; - protected static final byte OAP_TAGID_MSE_TIME = 0x19; - - protected static byte NOTIFICATION_ON = 0x01; - protected static byte NOTIFICATION_OFF = 0x00; - - protected static byte ATTACHMENT_ON = 0x01; - protected static byte ATTACHMENT_OFF = 0x00; - - protected static byte CHARSET_NATIVE = 0x00; - protected static byte CHARSET_UTF8 = 0x01; - - protected static byte STATUS_INDICATOR_READ = 0x00; - protected static byte STATUS_INDICATOR_DELETED = 0x01; - - protected static byte STATUS_NO = 0x00; - protected static byte STATUS_YES = 0x01; - - protected static byte TRANSPARENT_OFF = 0x00; - protected static byte TRANSPARENT_ON = 0x01; - - protected static byte RETRY_OFF = 0x00; - protected static byte RETRY_ON = 0x01; - - /* used for PUT requests which require filler byte */ - protected static final byte[] FILLER_BYTE = { - 0x30 - }; - - protected HeaderSet mHeaderSet; - - protected int mResponseCode; - - public BluetoothMasRequest() { - mHeaderSet = new HeaderSet(); - } - - abstract public void execute(ClientSession session) throws IOException; - - protected void executeGet(ClientSession session) throws IOException { - ClientOperation op = null; - - try { - op = (ClientOperation) session.get(mHeaderSet); - - /* - * MAP spec does not explicitly require that GET request should be - * sent in single packet but for some reason PTS complains when - * final GET packet with no headers follows non-final GET with all - * headers. So this is workaround, at least temporary. TODO: check - * with PTS - */ - op.setGetFinalFlag(true); - - /* - * this will trigger ClientOperation to use non-buffered stream so - * we can abort operation - */ - op.continueOperation(true, false); - - readResponseHeaders(op.getReceivedHeader()); - - InputStream is = op.openInputStream(); - readResponse(is); - is.close(); - - op.close(); - - mResponseCode = op.getResponseCode(); - } catch (IOException e) { - mResponseCode = ResponseCodes.OBEX_HTTP_INTERNAL_ERROR; - - throw e; - } - } - - protected void executePut(ClientSession session, byte[] body) throws IOException { - Operation op = null; - - mHeaderSet.setHeader(HeaderSet.LENGTH, Long.valueOf(body.length)); - - try { - op = session.put(mHeaderSet); - - DataOutputStream out = op.openDataOutputStream(); - out.write(body); - out.close(); - - readResponseHeaders(op.getReceivedHeader()); - - op.close(); - mResponseCode = op.getResponseCode(); - } catch (IOException e) { - mResponseCode = ResponseCodes.OBEX_HTTP_INTERNAL_ERROR; - - throw e; - } - } - - final public boolean isSuccess() { - return (mResponseCode == ResponseCodes.OBEX_HTTP_OK); - } - - protected void readResponse(InputStream stream) throws IOException { - /* nothing here by default */ - } - - protected void readResponseHeaders(HeaderSet headerset) { - /* nothing here by default */ - } -} |