16d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang/*
26d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang * Copyright (C) 2014 The Android Open Source Project
36d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang *
46d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang * Licensed under the Apache License, Version 2.0 (the "License");
56d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang * you may not use this file except in compliance with the License.
66d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang * You may obtain a copy of the License at
76d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang *
86d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang *      http://www.apache.org/licenses/LICENSE-2.0
96d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang *
106d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang * Unless required by applicable law or agreed to in writing, software
116d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang * distributed under the License is distributed on an "AS IS" BASIS,
126d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
136d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang * See the License for the specific language governing permissions and
146d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang * limitations under the License.
156d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang */
166d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang
176d81118032b92caa0f5cfebe11af02a98f819d5eWei Wangpackage android.bluetooth.le;
186d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang
196d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang/**
20af74e66e29a518157cb78fcef4b4fc532b7f60b0Wei Wang * Bluetooth LE advertising callbacks, used to deliver advertising operation status.
216d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang */
226d81118032b92caa0f5cfebe11af02a98f819d5eWei Wangpublic abstract class AdvertiseCallback {
236d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang
246d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang    /**
25af74e66e29a518157cb78fcef4b4fc532b7f60b0Wei Wang     * The requested operation was successful.
26685c1758902a42a7beb030d8bbaed3f7ce6f6135Wei Wang     *
276d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang     * @hide
286d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang     */
29af74e66e29a518157cb78fcef4b4fc532b7f60b0Wei Wang    public static final int ADVERTISE_SUCCESS = 0;
30af74e66e29a518157cb78fcef4b4fc532b7f60b0Wei Wang
316d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang    /**
32685c1758902a42a7beb030d8bbaed3f7ce6f6135Wei Wang     * Failed to start advertising as the advertise data to be broadcasted is larger than 31 bytes.
336d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang     */
34685c1758902a42a7beb030d8bbaed3f7ce6f6135Wei Wang    public static final int ADVERTISE_FAILED_DATA_TOO_LARGE = 1;
35af74e66e29a518157cb78fcef4b4fc532b7f60b0Wei Wang
366d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang    /**
37af74e66e29a518157cb78fcef4b4fc532b7f60b0Wei Wang     * Failed to start advertising because no advertising instance is available.
386d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang     */
396d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang    public static final int ADVERTISE_FAILED_TOO_MANY_ADVERTISERS = 2;
406d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang
416d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang    /**
42af74e66e29a518157cb78fcef4b4fc532b7f60b0Wei Wang     * Failed to start advertising as the advertising is already started.
436d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang     */
446d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang    public static final int ADVERTISE_FAILED_ALREADY_STARTED = 3;
456d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang
466d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang    /**
47af74e66e29a518157cb78fcef4b4fc532b7f60b0Wei Wang     * Operation failed due to an internal error.
489fb1791e1a6859bfb14006a6d101cdecc88f3f95Wei Wang     */
49af74e66e29a518157cb78fcef4b4fc532b7f60b0Wei Wang    public static final int ADVERTISE_FAILED_INTERNAL_ERROR = 4;
509fb1791e1a6859bfb14006a6d101cdecc88f3f95Wei Wang
519fb1791e1a6859bfb14006a6d101cdecc88f3f95Wei Wang    /**
52af74e66e29a518157cb78fcef4b4fc532b7f60b0Wei Wang     * This feature is not supported on this platform.
538e5270fdf5639461d67e9a898a85520abac6053dPrerepa Viswanadham     */
54af74e66e29a518157cb78fcef4b4fc532b7f60b0Wei Wang    public static final int ADVERTISE_FAILED_FEATURE_UNSUPPORTED = 5;
558e5270fdf5639461d67e9a898a85520abac6053dPrerepa Viswanadham
568e5270fdf5639461d67e9a898a85520abac6053dPrerepa Viswanadham    /**
57af74e66e29a518157cb78fcef4b4fc532b7f60b0Wei Wang     * Callback triggered in response to {@link BluetoothLeAdvertiser#startAdvertising} indicating
58af74e66e29a518157cb78fcef4b4fc532b7f60b0Wei Wang     * that the advertising has been started successfully.
596d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang     *
606d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang     * @param settingsInEffect The actual settings used for advertising, which may be different from
61af74e66e29a518157cb78fcef4b4fc532b7f60b0Wei Wang     *            what has been requested.
626d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang     */
63af74e66e29a518157cb78fcef4b4fc532b7f60b0Wei Wang    public void onStartSuccess(AdvertiseSettings settingsInEffect) {
64af74e66e29a518157cb78fcef4b4fc532b7f60b0Wei Wang    }
656d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang
666d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang    /**
67af74e66e29a518157cb78fcef4b4fc532b7f60b0Wei Wang     * Callback when advertising could not be started.
686d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang     *
69685c1758902a42a7beb030d8bbaed3f7ce6f6135Wei Wang     * @param errorCode Error code (see ADVERTISE_FAILED_* constants) for advertising start
70685c1758902a42a7beb030d8bbaed3f7ce6f6135Wei Wang     *            failures.
716d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang     */
72af74e66e29a518157cb78fcef4b4fc532b7f60b0Wei Wang    public void onStartFailure(int errorCode) {
73af74e66e29a518157cb78fcef4b4fc532b7f60b0Wei Wang    }
746d81118032b92caa0f5cfebe11af02a98f819d5eWei Wang}
75