1 /* Copyright (c) 2013 The Chromium OS Authors. All rights reserved. 2 * Use of this source code is governed by a BSD-style license that can be 3 * found in the LICENSE file. 4 */ 5 6 #ifndef CRAS_BT_ADAPTER_H_ 7 #define CRAS_BT_ADAPTER_H_ 8 9 #include <dbus/dbus.h> 10 11 struct cras_bt_adapter; 12 13 /* Creates an bt_adapter instance representing the bluetooth controller 14 * on the system. 15 * Args: 16 * conn - The dbus connection. 17 * object_path - Object path of the bluetooth controller. 18 */ 19 struct cras_bt_adapter *cras_bt_adapter_create(DBusConnection *conn, 20 const char *object_path); 21 void cras_bt_adapter_destroy(struct cras_bt_adapter *adapter); 22 void cras_bt_adapter_reset(); 23 24 struct cras_bt_adapter *cras_bt_adapter_get(const char *object_path); 25 size_t cras_bt_adapter_get_list(struct cras_bt_adapter ***adapter_list_out); 26 27 const char *cras_bt_adapter_object_path(const struct cras_bt_adapter *adapter); 28 const char *cras_bt_adapter_address(const struct cras_bt_adapter *adapter); 29 const char *cras_bt_adapter_name(const struct cras_bt_adapter *adapter); 30 31 int cras_bt_adapter_powered(const struct cras_bt_adapter *adapter); 32 33 /* 34 * Returns true if adapter supports wide band speech feature. 35 */ 36 int cras_bt_adapter_wbs_supported(struct cras_bt_adapter *adapter); 37 38 void cras_bt_adapter_update_properties(struct cras_bt_adapter *adapter, 39 DBusMessageIter *properties_array_iter, 40 DBusMessageIter *invalidated_array_iter); 41 42 int cras_bt_adapter_on_usb(struct cras_bt_adapter *adapter); 43 44 /* 45 * Queries adapter supported capabilies from bluetooth daemon. This shall 46 * be called only after adapter powers on. 47 */ 48 int cras_bt_adapter_get_supported_capabilities(struct cras_bt_adapter *adapter); 49 50 #endif /* CRAS_BT_ADAPTER_H_ */ 51