1b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo/*
2b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo * Copyright (C) 2016 The Android Open Source Project
3b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo *
4b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo * Licensed under the Apache License, Version 2.0 (the "License");
5b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo * you may not use this file except in compliance with the License.
6b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo * You may obtain a copy of the License at
7b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo *
8b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo *      http://www.apache.org/licenses/LICENSE-2.0
9b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo *
10b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo * Unless required by applicable law or agreed to in writing, software
11b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo * distributed under the License is distributed on an "AS IS" BASIS,
12b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo * See the License for the specific language governing permissions and
14b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo * limitations under the License.
15b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo */
16b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo
17b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzopackage com.android.bluetooth.pbapclient;
18b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo
19b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzoimport android.bluetooth.BluetoothSocket;
20b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo
21b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzoimport java.io.DataInputStream;
22b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzoimport java.io.DataOutputStream;
23b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzoimport java.io.IOException;
24b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzoimport java.io.InputStream;
25b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzoimport java.io.OutputStream;
26b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo
27b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzoimport javax.obex.ObexTransport;
28b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo
29b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzoclass BluetoothPbapObexTransport implements ObexTransport {
30b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo
31b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo    private BluetoothSocket mSocket = null;
32b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo
33b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo    public BluetoothPbapObexTransport(BluetoothSocket rfs) {
34b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo        super();
35b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo        mSocket = rfs;
36b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo    }
37b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo
38b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo    @Override
39b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo    public void close() throws IOException {
40b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo        mSocket.close();
41b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo    }
42b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo
43b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo    @Override
44b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo    public DataInputStream openDataInputStream() throws IOException {
45b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo        return new DataInputStream(openInputStream());
46b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo    }
47b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo
48b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo    @Override
49b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo    public DataOutputStream openDataOutputStream() throws IOException {
50b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo        return new DataOutputStream(openOutputStream());
51b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo    }
52b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo
53b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo    @Override
54b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo    public InputStream openInputStream() throws IOException {
55b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo        return mSocket.getInputStream();
56b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo    }
57b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo
58b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo    @Override
59b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo    public OutputStream openOutputStream() throws IOException {
60b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo        return mSocket.getOutputStream();
61b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo    }
62b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo
63b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo    @Override
64b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo    public void connect() throws IOException {
65b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo    }
66b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo
67b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo    @Override
68b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo    public void create() throws IOException {
69b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo    }
70b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo
71b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo    @Override
72b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo    public void disconnect() throws IOException {
73b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo    }
74b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo
75b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo    @Override
76b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo    public void listen() throws IOException {
77b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo    }
78b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo
79b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo    public boolean isConnected() throws IOException {
80b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo        // return true;
81b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo        return mSocket.isConnected();
82b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo    }
83b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo
84b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo    @Override
85b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo    public int getMaxTransmitPacketSize() {
86b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo        return -1;
87b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo    }
88b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo
89b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo    @Override
90b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo    public int getMaxReceivePacketSize() {
91b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo        return -1;
92b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo    }
93b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo
94b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo    @Override
95b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo    public boolean isSrmSupported() {
96b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo        return false;
97b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo    }
98b874a1d1cf25f90947ba87f791d42a404cad7d85Joseph Pirozzo}
99