1bbb4110b455b3aa29106d5b4f0a37e1be8e09475Casper Bonde/*
2bbb4110b455b3aa29106d5b4f0a37e1be8e09475Casper Bonde* Copyright (C) 2014 Samsung System LSI
3bbb4110b455b3aa29106d5b4f0a37e1be8e09475Casper Bonde* Licensed under the Apache License, Version 2.0 (the "License");
4bbb4110b455b3aa29106d5b4f0a37e1be8e09475Casper Bonde* you may not use this file except in compliance with the License.
5bbb4110b455b3aa29106d5b4f0a37e1be8e09475Casper Bonde* You may obtain a copy of the License at
6bbb4110b455b3aa29106d5b4f0a37e1be8e09475Casper Bonde*
7bbb4110b455b3aa29106d5b4f0a37e1be8e09475Casper Bonde*      http://www.apache.org/licenses/LICENSE-2.0
8bbb4110b455b3aa29106d5b4f0a37e1be8e09475Casper Bonde*
9bbb4110b455b3aa29106d5b4f0a37e1be8e09475Casper Bonde* Unless required by applicable law or agreed to in writing, software
10bbb4110b455b3aa29106d5b4f0a37e1be8e09475Casper Bonde* distributed under the License is distributed on an "AS IS" BASIS,
11bbb4110b455b3aa29106d5b4f0a37e1be8e09475Casper Bonde* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12bbb4110b455b3aa29106d5b4f0a37e1be8e09475Casper Bonde* See the License for the specific language governing permissions and
13bbb4110b455b3aa29106d5b4f0a37e1be8e09475Casper Bonde* limitations under the License.
14bbb4110b455b3aa29106d5b4f0a37e1be8e09475Casper Bonde*/
15bbb4110b455b3aa29106d5b4f0a37e1be8e09475Casper Bondepackage com.android.bluetooth;
16bbb4110b455b3aa29106d5b4f0a37e1be8e09475Casper Bonde
17bbb4110b455b3aa29106d5b4f0a37e1be8e09475Casper Bondeimport android.bluetooth.BluetoothDevice;
18bbb4110b455b3aa29106d5b4f0a37e1be8e09475Casper Bondeimport android.bluetooth.BluetoothSocket;
19bbb4110b455b3aa29106d5b4f0a37e1be8e09475Casper Bonde
20bbb4110b455b3aa29106d5b4f0a37e1be8e09475Casper Bondepublic interface IObexConnectionHandler {
21bbb4110b455b3aa29106d5b4f0a37e1be8e09475Casper Bonde
22bbb4110b455b3aa29106d5b4f0a37e1be8e09475Casper Bonde    /**
23bbb4110b455b3aa29106d5b4f0a37e1be8e09475Casper Bonde     * Called to validate if a connection to the Bluetooth device should be accepted.
24bbb4110b455b3aa29106d5b4f0a37e1be8e09475Casper Bonde     *
25bbb4110b455b3aa29106d5b4f0a37e1be8e09475Casper Bonde     * @param device the connecting BluetoothDevice. Use .getType() to determine the type of
26bbb4110b455b3aa29106d5b4f0a37e1be8e09475Casper Bonde     *         connection.
27bbb4110b455b3aa29106d5b4f0a37e1be8e09475Casper Bonde     * @return Shall return TRUE if the connection should be accepted.
28bbb4110b455b3aa29106d5b4f0a37e1be8e09475Casper Bonde     * FALSE otherwise
29bbb4110b455b3aa29106d5b4f0a37e1be8e09475Casper Bonde     */
30bbb4110b455b3aa29106d5b4f0a37e1be8e09475Casper Bonde    public boolean onConnect(BluetoothDevice device, BluetoothSocket socket);
31bbb4110b455b3aa29106d5b4f0a37e1be8e09475Casper Bonde
32bbb4110b455b3aa29106d5b4f0a37e1be8e09475Casper Bonde    /**
33bbb4110b455b3aa29106d5b4f0a37e1be8e09475Casper Bonde     * Will be called in case the accept call fails.
34bbb4110b455b3aa29106d5b4f0a37e1be8e09475Casper Bonde     * When called, at lease one of the accept threads are about to terminate.
35bbb4110b455b3aa29106d5b4f0a37e1be8e09475Casper Bonde     * The behavior needed is to shutdown the ObexServerSockets object, and create a
36bbb4110b455b3aa29106d5b4f0a37e1be8e09475Casper Bonde     * new one.
37bbb4110b455b3aa29106d5b4f0a37e1be8e09475Casper Bonde     */
38bbb4110b455b3aa29106d5b4f0a37e1be8e09475Casper Bonde    public void onAcceptFailed();
39bbb4110b455b3aa29106d5b4f0a37e1be8e09475Casper Bonde}
40