#include "bluetooth_type.h"
#include "bluetooth_internal.h"
+#include "bluetooth_extention.h"
#ifdef __cplusplus
extern "C"
--- /dev/null
+/*
+ * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * 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.
+ */
+
+
+#ifndef __TIZEN_NETWORK_BLUETOOTH_EXTENSION_H__
+#define __TIZEN_NETWORK_BLUETOOTH_EXTENSION_H__
+
+#include "bluetooth_type.h"
+#include "bluetooth_type_extention.h"
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif /* __cplusplus */
+
+/**
+ * @file bluetooth_extension.h
+ */
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AUDIO_AG_MODULE
+ * @brief Opens a SCO(Synchronous Connection Oriented link) to connected remote device, asynchronously.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/bluetooth.admin
+ * @return 0 on success, otherwise a negative error value.
+ * @retval #BT_ERROR_NONE Successful
+ * @retval #BT_ERROR_NOT_INITIALIZED Not initialized
+ * @retval #BT_ERROR_NOT_ENABLED Not enabled
+ * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED Remote device is not connected
+ * @retval #BT_ERROR_ALREADY_DONE Operation is already done
+ * @retval #BT_ERROR_OPERATION_FAILED Operation failed
+ * @retval #BT_ERROR_PERMISSION_DENIED Permission denied
+ * @retval #BT_ERROR_NOT_SUPPORTED Not supported
+ *
+ * @pre The Bluetooth audio device must be connected with bt_audio_connect().
+ * @post bt_ag_sco_state_changed_cb() will be invoked.
+ * @see bt_ag_close_sco()
+ * @see bt_ag_sco_state_changed_cb()
+ * @see bt_audio_connect()
+ */
+int bt_ag_open_sco(void);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AUDIO_AG_MODULE
+ * @brief Closes an opened SCO(Synchronous Connection Oriented link), asynchronously.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/bluetooth.admin
+ * @return 0 on success, otherwise a negative error value.
+ * @retval #BT_ERROR_NONE Successful
+ * @retval #BT_ERROR_NOT_INITIALIZED Not initialized
+ * @retval #BT_ERROR_NOT_ENABLED Not enabled
+ * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED Remote device is not connected
+ * @retval #BT_ERROR_PERMISSION_DENIED Permission denied
+ * @retval #BT_ERROR_NOT_SUPPORTED Not supported
+ *
+ * @pre The SCO must be opened with bt_ag_open_sco().
+ * @post bt_ag_sco_state_changed_cb() will be invoked.
+ * @see bt_ag_open_sco()
+ * @see bt_ag_sco_state_changed_cb()
+ */
+int bt_ag_close_sco(void);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AUDIO_AG_MODULE
+ * @brief Checks whether an opened SCO(Synchronous Connection Oriented link) exists or not.
+ * @since_tizen 2.3
+ * @param[out] opened The SCO status: (@c true = opened, @c false = not opened)
+ * @return 0 on success, otherwise a negative error value.
+ * @retval #BT_ERROR_NONE Successful
+ * @retval #BT_ERROR_NOT_INITIALIZED Not initialized
+ * @retval #BT_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #BT_ERROR_NOT_ENABLED Not enabled
+ * @retval #BT_ERROR_NOT_SUPPORTED Not supported
+ *
+ * @pre The Bluetooth audio service must be initialized with bt_audio_initialize().
+ * @see bt_ag_open_sco()
+ * @see bt_ag_close_sco()
+ */
+int bt_ag_is_sco_opened(bool *opened);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AUDIO_AG_MODULE
+ * @brief Registers a callback function that will be invoked when the SCO(Synchronous Connection Oriented link) state is changed.
+ * @since_tizen 2.3
+ * @param[in] callback The callback function to register
+ * @param[in] user_data The user data to be passed to the callback function
+ * @return 0 on success, otherwise a negative error value.
+ * @retval #BT_ERROR_NONE Successful
+ * @retval #BT_ERROR_NOT_INITIALIZED Not initialized
+ * @retval #BT_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #BT_ERROR_NOT_SUPPORTED Not supported
+ *
+ * @pre The Bluetooth audio service must be initialized with bt_audio_initialize().
+ * @see bt_audio_initialize()
+ * @see bt_ag_sco_state_changed_cb()
+ * @see bt_ag_unset_sco_state_changed_cb()
+ */
+int bt_ag_set_sco_state_changed_cb(bt_ag_sco_state_changed_cb callback, void *user_data);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AUDIO_AG_MODULE
+ * @brief Unregisters a callback function that will be invoked when the SCO(Synchronous Connection Oriented link) state is changed.
+ * @since_tizen 2.3
+ * @return 0 on success, otherwise a negative error value.
+ * @retval #BT_ERROR_NONE Successful
+ * @retval #BT_ERROR_NOT_INITIALIZED Not initialized
+ * @retval #BT_ERROR_NOT_SUPPORTED Not supported
+ *
+ * @pre The Bluetooth audio service must be initialized with bt_audio_initialize().
+ * @see bt_audio_initialize()
+ * @see bt_ag_sco_state_changed_cb()
+ * @see bt_ag_set_sco_state_changed_cb()
+ */
+int bt_ag_unset_sco_state_changed_cb(void);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AUDIO_AG_MODULE
+ * @brief Notifies the state of voice recognition.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/bluetooth.admin
+ * @param[in] state The state of voice recognition: (@c true = enabled, @c false = disabled)
+ * @return 0 on success, otherwise a negative error value.
+ * @retval #BT_ERROR_NONE Successful
+ * @retval #BT_ERROR_NOT_INITIALIZED Not initialized
+ * @retval #BT_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #BT_ERROR_NOT_ENABLED Not enabled
+ * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED Remote device is not connected
+ * @retval #BT_ERROR_OPERATION_FAILED Operation failed
+ * @retval #BT_ERROR_PERMISSION_DENIED Permission denied
+ * @retval #BT_ERROR_NOT_SUPPORTED Not supported
+ *
+ * @pre The Bluetooth audio device must be connected with bt_audio_connect().
+ * @see bt_audio_connect()
+ */
+int bt_ag_notify_voice_recognition_state(bool state);
+
+/**
+ * @}
+ */
+
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif // __TIZEN_NETWORK_BLUETOOTH_EXTENSION_H__
+
\r
#include <glib.h>\r
#include "bluetooth_type.h"\r
+#include "bluetooth_type_internal.h"\r
\r
#ifdef __cplusplus\r
extern "C"\r
/**\r
* @internal\r
* @ingroup CAPI_NETWORK_BLUETOOTH_AUDIO_AG_MODULE\r
- * @brief Opens a SCO(Synchronous Connection Oriented link) to connected remote device, asynchronously.\r
- * @since_tizen 2.3\r
- * @privlevel platform\r
- * @privilege %http://tizen.org/privilege/bluetooth.admin\r
- * @return 0 on success, otherwise a negative error value.\r
- * @retval #BT_ERROR_NONE Successful\r
- * @retval #BT_ERROR_NOT_INITIALIZED Not initialized\r
- * @retval #BT_ERROR_NOT_ENABLED Not enabled\r
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_BONDED Remote device is not bonded\r
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED Remote device is not connected\r
- * @retval #BT_ERROR_ALREADY_DONE Operation is already done\r
- * @retval #BT_ERROR_OPERATION_FAILED Operation failed\r
- * @retval #BT_ERROR_PERMISSION_DENIED Permission denied\r
- * @retval #BT_ERROR_NOT_SUPPORTED Not supported\r
- *\r
- * @pre The Bluetooth audio device must be connected with bt_audio_connect().\r
- * @post bt_ag_sco_state_changed_cb() will be invoked.\r
- * @see bt_ag_close_sco()\r
- * @see bt_ag_sco_state_changed_cb()\r
- * @see bt_audio_connect()\r
- */\r
-int bt_ag_open_sco(void);\r
-\r
-/**\r
- * @internal\r
- * @ingroup CAPI_NETWORK_BLUETOOTH_AUDIO_AG_MODULE\r
- * @brief Closes an opened SCO(Synchronous Connection Oriented link), asynchronously.\r
- * @since_tizen 2.3\r
- * @privlevel platform\r
- * @privilege %http://tizen.org/privilege/bluetooth.admin\r
- * @return 0 on success, otherwise a negative error value.\r
- * @retval #BT_ERROR_NONE Successful\r
- * @retval #BT_ERROR_NOT_INITIALIZED Not initialized\r
- * @retval #BT_ERROR_NOT_ENABLED Not enabled\r
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_BONDED Remote device is not bonded\r
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED Remote device is not connected\r
- * @retval #BT_ERROR_PERMISSION_DENIED Permission denied\r
- * @retval #BT_ERROR_NOT_SUPPORTED Not supported\r
- *\r
- * @pre The SCO must be opened with bt_ag_open_sco().\r
- * @post bt_ag_sco_state_changed_cb() will be invoked.\r
- * @see bt_ag_open_sco()\r
- * @see bt_ag_sco_state_changed_cb()\r
- */\r
-int bt_ag_close_sco(void);\r
-\r
-/**\r
- * @internal\r
- * @ingroup CAPI_NETWORK_BLUETOOTH_AUDIO_AG_MODULE\r
- * @brief Checks whether an opened SCO(Synchronous Connection Oriented link) exists or not.\r
- * @since_tizen 2.3\r
- * @param[out] opened The SCO status: (@c true = opened, @c false = not opened)\r
- * @return 0 on success, otherwise a negative error value.\r
- * @retval #BT_ERROR_NONE Successful\r
- * @retval #BT_ERROR_NOT_INITIALIZED Not initialized\r
- * @retval #BT_ERROR_INVALID_PARAMETER Invalid parameter\r
- * @retval #BT_ERROR_NOT_ENABLED Not enabled\r
- * @retval #BT_ERROR_NOT_SUPPORTED Not supported\r
- *\r
- * @pre The Bluetooth audio service must be initialized with bt_audio_initialize().\r
- * @see bt_ag_open_sco()\r
- * @see bt_ag_close_sco()\r
- */\r
-int bt_ag_is_sco_opened(bool *opened);\r
-\r
-/**\r
- * @internal\r
- * @ingroup CAPI_NETWORK_BLUETOOTH_AUDIO_AG_MODULE\r
- * @brief Registers a callback function that will be invoked when the SCO(Synchronous Connection Oriented link) state is changed.\r
- * @since_tizen 2.3\r
- * @param[in] callback The callback function to register\r
- * @param[in] user_data The user data to be passed to the callback function\r
- * @return 0 on success, otherwise a negative error value.\r
- * @retval #BT_ERROR_NONE Successful\r
- * @retval #BT_ERROR_NOT_INITIALIZED Not initialized\r
- * @retval #BT_ERROR_INVALID_PARAMETER Invalid parameter\r
- * @retval #BT_ERROR_NOT_SUPPORTED Not supported\r
- *\r
- * @pre The Bluetooth audio service must be initialized with bt_audio_initialize().\r
- * @see bt_audio_initialize()\r
- * @see bt_ag_sco_state_changed_cb()\r
- * @see bt_ag_unset_sco_state_changed_cb()\r
- */\r
-int bt_ag_set_sco_state_changed_cb(bt_ag_sco_state_changed_cb callback, void *user_data);\r
-\r
-/**\r
- * @internal\r
- * @ingroup CAPI_NETWORK_BLUETOOTH_AUDIO_AG_MODULE\r
- * @brief Unregisters a callback function that will be invoked when the SCO(Synchronous Connection Oriented link) state is changed.\r
- * @since_tizen 2.3\r
- * @return 0 on success, otherwise a negative error value.\r
- * @retval #BT_ERROR_NONE Successful\r
- * @retval #BT_ERROR_NOT_INITIALIZED Not initialized\r
- * @retval #BT_ERROR_NOT_SUPPORTED Not supported\r
- *\r
- * @pre The Bluetooth audio service must be initialized with bt_audio_initialize().\r
- * @see bt_audio_initialize()\r
- * @see bt_ag_sco_state_changed_cb()\r
- * @see bt_ag_set_sco_state_changed_cb()\r
- */\r
-int bt_ag_unset_sco_state_changed_cb(void);\r
-\r
-/**\r
- * @internal\r
- * @ingroup CAPI_NETWORK_BLUETOOTH_AUDIO_AG_MODULE\r
* @brief Notifies the call event to the remote bluetooth device.\r
* @since_tizen 2.3\r
* @privlevel platform\r
/**\r
* @internal\r
* @ingroup CAPI_NETWORK_BLUETOOTH_AUDIO_AG_MODULE\r
- * @brief Notifies the state of voice recognition.\r
- * @since_tizen 2.3\r
- * @privlevel platform\r
- * @privilege %http://tizen.org/privilege/bluetooth.admin\r
- * @param[in] state The state of voice recognition: (@c true = enabled, @c false = disabled)\r
- * @return 0 on success, otherwise a negative error value.\r
- * @retval #BT_ERROR_NONE Successful\r
- * @retval #BT_ERROR_NOT_INITIALIZED Not initialized\r
- * @retval #BT_ERROR_INVALID_PARAMETER Invalid parameter\r
- * @retval #BT_ERROR_NOT_ENABLED Not enabled\r
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_BONDED Remote device is not bonded\r
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED Remote device is not connected\r
- * @retval #BT_ERROR_OPERATION_FAILED Operation failed\r
- * @retval #BT_ERROR_PERMISSION_DENIED Permission denied\r
- * @retval #BT_ERROR_NOT_SUPPORTED Not supported\r
- *\r
- * @pre The Bluetooth audio device must be connected with bt_audio_connect().\r
- * @see bt_audio_connect()\r
- */\r
-int bt_ag_notify_voice_recognition_state(bool state);\r
-\r
-/**\r
- * @internal\r
- * @ingroup CAPI_NETWORK_BLUETOOTH_AUDIO_AG_MODULE\r
* @brief Registers a callback function that will be invoked when a call handling event happened from Hands-Free.\r
* @since_tizen 2.3\r
* @param[in] callback The callback function to register\r
BT_ADAPTER_LE_ADVERTISING_STARTED, /**< Bluetooth advertising is started */
} bt_adapter_le_advertising_state_e;
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_ADAPTER_LE_MODULE
+ * @brief Enumerations of the Bluetooth advertising mode.
+ * @since_tizen 2.3.1
+ */
+typedef enum
+{
+ BT_ADAPTER_LE_ADVERTISING_MODE_BALANCED, /**< Balanced advertising mode */
+ BT_ADAPTER_LE_ADVERTISING_MODE_LOW_LATENCY, /**< Low latency advertising mode */
+ BT_ADAPTER_LE_ADVERTISING_MODE_LOW_ENERGY /**< Low energy advertising mode */
+} bt_adapter_le_advertising_mode_e;
/**
* @ingroup CAPI_NETWORK_BLUETOOTH_ADAPTER_LE_MODULE
typedef void* bt_gatt_attribute_h;
/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_ADAPTER_LE_MODULE
+ * @brief The handle of a service, characteristic or descriptor
+ * @since_tizen 2.3.1
+ */
+typedef void* bt_gatt_h;
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_ADAPTER_LE_MODULE
+ * @brief The handle of a GATT client which is associated with a remote device
+ * @since_tizen 2.3.1
+ */
+typedef void* bt_gatt_client_h;
+
+/**
* @ingroup CAPI_NETWORK_BLUETOOTH_AUDIO_AG_MODULE
* @brief The handle of calls state
* @since_tizen 2.3
/**
* @ingroup CAPI_NETWORK_BLUETOOTH_ADAPTER_LE_MODULE
+ * @brief Structure of le scan result information.
+ * @since_tizen 2.3.1
+ *
+ * @see bt_adapter_le_start_scan()
+ */
+typedef struct
+{
+ char *remote_address; /**< The address of remote device */
+ bt_device_address_type_e address_type; /**< The address type of remote device */
+ int rssi; /**< The strength indicator of received signal */
+ int adv_data_len; /**< advertising indication data length */
+ char *adv_data; /**< advertising indication data */
+ int scan_data_len; /**< scan response data length */
+ char *scan_data; /**< scan response data */
+} bt_adapter_le_device_scan_result_info_s;
+
+/**
+ * @deprecated Deprecated since 2.3.1
+ * @ingroup CAPI_NETWORK_BLUETOOTH_ADAPTER_LE_MODULE
* @brief Structure of advertising parameters
* @since_tizen 2.3
*
/**
* @ingroup CAPI_NETWORK_BLUETOOTH_ADAPTER_LE_MODULE
+ * @brief Called when the LE advertisement has been found.
+ * @since_tizen 2.3.1
+ *
+ * @param[in] result The result of the LE scan
+ * @param[in] info The information of the found LE advertisement.
+ * @param[in] user_data The user data passed from the start function
+ *
+ * @see bt_adapter_le_start_scan()
+ *
+ */
+typedef void (*bt_adapter_le_scan_result_cb)(int result,
+ bt_adapter_le_device_scan_result_info_s *info, void *user_data);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_ADAPTER_LE_MODULE
* @brief Called when the state of advertiser changes.
* @since_tizen 2.3
*
/**
* @ingroup CAPI_NETWORK_BLUETOOTH_AUDIO_AG_MODULE
- * @brief Called when the SCO(Synchronous Connection Oriented link) state is changed.
- * @since_tizen 2.3
- *
- * @details This callback is called when the SCO state is changed.
- * When you call bt_ag_open_sco() or bt_ag_close_sco(), this callback is also called with error result even though these functions failed.
- * @param[in] result The result of changing the connection state
- * @param[in] opened The state to be changed: (@c true = opened, @c false = not opened)
- * @param[in] user_data The user data passed from the callback registration function
- * @see bt_ag_set_sco_state_changed_cb()
- * @see bt_ag_unset_sco_state_changed_cb()
- * @see bt_ag_open_sco()
- * @see bt_ag_close_sco()
- */
-typedef void (*bt_ag_sco_state_changed_cb) (int result, bool opened, void *user_data);
-
-/**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AUDIO_AG_MODULE
* @brief Called when a call handling event happened from Hands-Free.
* @since_tizen 2.3
*
--- /dev/null
+/*
+ * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * 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.
+ */
+
+
+#ifndef __TIZEN_NETWORK_BLUETOOTH_TYPE_EXTENSION_H__
+#define __TIZEN_NETWORK_BLUETOOTH_TYPE_EXTENSION_H__
+
+ #ifdef __cplusplus
+extern "C"
+{
+#endif /* __cplusplus */
+
+/**
+ * @file bluetooth_type_extension.h
+ */
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AUDIO_AG_MODULE
+ * @brief Called when the SCO(Synchronous Connection Oriented link) state is changed.
+ * @since_tizen 2.3
+ *
+ * @details This callback is called when the SCO state is changed.
+ * When you call bt_ag_open_sco() or bt_ag_close_sco(), this callback is also called with error result even though these functions failed.
+ * @param[in] result The result of changing the connection state
+ * @param[in] opened The state to be changed: (@c true = opened, @c false = not opened)
+ * @param[in] user_data The user data passed from the callback registration function
+ * @see bt_ag_set_sco_state_changed_cb()
+ * @see bt_ag_unset_sco_state_changed_cb()
+ * @see bt_ag_open_sco()
+ * @see bt_ag_close_sco()
+ */
+typedef void (*bt_ag_sco_state_changed_cb) (int result, bool opened, void *user_data);
+
+/**
+ * @}
+ */
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif // __TIZEN_NETWORK_BLUETOOTH_TYPE_EXTENSION_H__
--- /dev/null
+/*
+ * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * 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.
+ */
+
+
+#ifndef __TIZEN_NETWORK_BLUETOOTH_TYPE_INTERNAL_H__
+#define __TIZEN_NETWORK_BLUETOOTH_TYPE_INTERNAL_H__
+
+ #ifdef __cplusplus
+extern "C"
+{
+#endif /* __cplusplus */
+
+/**
+ * @file bluetooth_type_internal.h
+ */
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_ADAPTER_LE_MODULE
+ * @brief Enumerations of the Bluetooth adapter le scan type.
+ * @since_tizen 2.3
+ */
+typedef enum
+{
+ BT_ADAPTER_LE_PASSIVE_SCAN = 0x00,
+ BT_ADAPTER_LE_ACTIVE_SCAN
+} bt_adapter_le_scan_type_e;
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_ADAPTER_LE_MODULE
+ * @brief Enumerations of the Bluetooth le scan mode.
+ * @since_tizen 2.3
+ */
+typedef enum
+{
+ BT_ADAPTER_LE_SCAN_MODE_BALANCED,
+ BT_ADAPTER_LE_SCAN_MODE_LOW_LATENCY,
+ BT_ADAPTER_LE_SCAN_MODE_LOW_ENERGY
+} bt_adapter_le_scan_mode_e;
+
+/**
+ * @internal
+ * @ingroup CAPI_NETWORK_BLUETOOTH_ADAPTER_MODULE
+ * @brief Called when the manufacturer dat changes.
+ * @since_tizen 2.3
+ *
+ * @param[in] data The manufacurer data of the Bluetooth device to be changed
+ * @param[in] len The length of @a data
+ * @param[in] user_data The user data passed from the callback registration function
+ * @pre This function will be invoked when the manufacturer data of Bluetooth adapter changes
+ * if callback is registered using bt_adapter_set_manufacturer_data_changed_cb().
+ * @see bt_adapter_set_manufacturer_data()
+ * @see bt_adapter_set_manufacturer_data_changed_cb()
+ * @see bt_adapter_unset_manufacturer_data_changed_cb()
+ */
+typedef void (*bt_adapter_manufacturer_data_changed_cb) (char *data,
+ int len, void *user_data);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_GATT_MODULE
+ * @brief Enumerations of the attribute's permission
+ * @since_tizen 2.4
+ */
+typedef enum {
+ BT_GATT_PERMISSION_READ = 0x01,
+ BT_GATT_PERMISSION_WRITE = 0x02,
+ BT_GATT_PERMISSION_ENCRYPTION = 0x04,
+ BT_GATT_PERMISSION_AUTHENTICATION = 0x08,
+ BT_GATT_PERMISSION_AUTHORIZATION = 0x10,
+ BT_GATT_PERMISSION_NONE = 0x20,
+} bt_gatt_permission_e;
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_ADAPTER_LE_MODULE
+ * @brief The handle to control Bluetooth LE scan filter
+ * @since_tizen 2.4
+ */
+typedef void* bt_scan_filter_h;
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_ADAPTER_LE_MODULE
+ * @brief The handle of a GATT server
+ * @since_tizen 2.4
+ */
+typedef void* bt_gatt_server_h;
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_GATT_MODULE
+ * @brief Called when a value of a characteristic or descriptor's GATT handle has been changed
+ * @since_tizen 2.4
+ *
+ * @remarks After this function is returned, a changed vlaue is automatically
+ * applied to @a gatt_handle. Before that, @a gatt_handle has an old value.
+ *
+ * @param[in] remote_address The address of the remote device which requests a change
+ * @param[in] server The GATT server handle
+ * @param[in] gatt_handle The characteristic or descriptor's GATT handle which has an old value
+ * @param[in] offset The requested offset from where the @a gatt_handle value will be updated
+ * @param[in] value The new value
+ * @param[in] len The length of @a value
+ * @param[in] user_data The user data passed from the registration function
+ *
+ * @see bt_gatt_server_set_value_changed_cb()
+ */
+typedef void (*bt_gatt_server_value_changed_cb) (char *remote_address,
+ bt_gatt_server_h server, bt_gatt_h gatt_handle,
+ int offset, char *value, int len,
+ void *user_data);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_GATT_MODULE
+ * @brief Called when the remote device requests to read a value on a GATT server
+ * @since_tizen 2.4
+ *
+ * @param[in] remote_address The address of the requesting remote device
+ * @param[in] server The GATT server handle
+ * @param[in] gatt_handle The characteristic or descriptor's GATT handle to be read
+ * @param[in] request_id The identification of this request. It will be used to send a reponse.
+ * @param[in] offset The requested offset from where the GATT handle's value is read
+ * @param[in] user_data The user data passed from the registration function
+ *
+ * @see bt_gatt_server_set_read_value_requested_cb()
+ * @see bt_gatt_server_send_response()
+ */
+typedef void (*bt_gatt_server_read_value_requested_cb) (char *remote_address,
+ int request_id, bt_gatt_server_h server, bt_gatt_h gatt_handle,
+ int offset, void *user_data);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_GATT_MODULE
+ * @brief Called when the sending notification / indication is done
+ * @since_tizen 2.4
+ *
+ * @remarks In case of an indication, once a confirmation is received from the remote device this callback will be called. \n
+ * This callback will be called several times if there are two or more remote devices which enable a Client Characteristic Configuration Descriptor(CCCD). \n
+ * For the last remote device, @a completed will be set as true.
+ *
+ * @param[in] result The result of a sending operation
+ * @param[in] remote_address The address of the remote device
+ * @param[in] server The GATT server handle
+ * @param[in] characteristic The characteristic's GATT handle
+ * @param[in] completed If this callback is for the last remote device which enables a CCCD, it will be true. Or it will be false.
+ * @param[in] user_data The user data passed from the requesting function
+ *
+ * @see bt_gatt_server_notify()
+ */
+typedef void (*bt_gatt_server_notification_sent_cb) (int result,
+ char *remote_address, bt_gatt_server_h server,
+ bt_gatt_h characteristic, bool completed, void *user_data);
+
+/**
+ * @internal
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief Enumerations for the player control command
+ * @since_tizen 2.3
+ */
+ typedef enum {
+ BT_AVRCP_CONTROL_PLAY = 0x01, /**< Play */
+ BT_AVRCP_CONTROL_PAUSE, /**< Pause */
+ BT_AVRCP_CONTROL_STOP, /**< Stop */
+ BT_AVRCP_CONTROL_NEXT, /**< Next Track*/
+ BT_AVRCP_CONTROL_PREVIOUS, /**< Previous track */
+ BT_AVRCP_CONTROL_FAST_FORWARD, /**< Fast Forward */
+ BT_AVRCP_CONTROL_REWIND /**< Rewind */
+} bt_avrcp_player_command_e;
+
+ /**
+ * @internal
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief Structure of Track metadata information.
+ * @since_tizen 2.3
+ *
+ * @see #bt_class_s
+ */
+typedef struct {
+ const char *title;
+ const char *artist;
+ const char *album;
+ const char *genre;
+ unsigned int total_tracks;
+ unsigned int number;
+ unsigned int duration;
+} bt_avrcp_metadata_attributes_info_s;
+
+/**
+ * @internal
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief Called when the connection state is changed.
+ * @since_tizen 2.3
+ * @param[in] connected The state to be changed. @a true means connected state, Otherwise, @a false.
+ * @param[in] remote_address The remote address
+ * @param[in] user_data The user data passed from the callback registration function
+ * @see bt_avrcp_control_initialize()
+ * @see bt_avrcp_control_deinitialize()
+ */
+typedef void (*bt_avrcp_control_connection_state_changed_cb) (bool connected, const char *remote_address, void *user_data);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief Called when the Song position mode is changed by the remote target device.
+ * @since_tizen 2.3
+ *
+ * @param[in] position The song position
+ * @param[in] user_data The user data passed from the callback registration function
+ * @see bt_avrcp_set_song_position_changed_cb()
+ * @see bt_avrcp_unset_song_position_changed_cb()
+ */
+typedef void (*bt_avrcp_song_position_changed_cb) (unsigned int position, void *user_data);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief Called when the Song metadata information is changed by the remote target device.
+ * @since_tizen 2.3
+ *
+ * @param[in] position The song metadata information
+ * @param[in] user_data The user data passed from the callback registration function
+ * @see bt_avrcp_set_track_info_changed_cb()
+ * @see bt_avrcp_unset_track_info_changed_cb()
+ */
+typedef void (*bt_avrcp_track_info_changed_cb) (bt_avrcp_metadata_attributes_info_s *track, void *user_data);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief Called when the Song Play status mode is changed by the remote target device.
+ * @since_tizen 2.3
+ *
+ * @param[in] play_state The song play status
+ * @param[in] user_data The user data passed from the callback registration function
+ * @see bt_avrcp_set_play_status_changed_cb()
+ * @see bt_avrcp_unset_play_status_changed_cb()
+ */
+typedef void (*bt_avrcp_play_status_changed_cb) (bt_avrcp_player_state_e play_state, void *user_data);
+
+/**
+ * @}
+ */
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif // __TIZEN_NETWORK_BLUETOOTH_TYPE_INTERNAL_H__
%{_includedir}/network/bluetooth.h
%{_includedir}/network/bluetooth_internal.h
%{_includedir}/network/bluetooth_type.h
+%{_includedir}/network/bluetooth_type_internal.h
+%{_includedir}/network/bluetooth_extention.h
+%{_includedir}/network/bluetooth_type_extention.h
%{_libdir}/pkgconfig/capi-network-bluetooth.pc
%{_libdir}/libcapi-network-bluetooth.so
#%{_datadir}/license/capi-network-bluetooth-devel
#include <bluetooth-api.h>
#include <string.h>
#include "bluetooth.h"
+#include "bluetooth_extention.h"
#include "bluetooth_internal.h"
#include "bluetooth_private.h"
#include "bluetooth-audio-api.h"
#include <bluetooth-api.h>
#include "bluetooth.h"
+#include "bluetooth_extention.h"
#include "bluetooth_private.h"
#include "bluetooth-media-control.h"
#include "bluetooth-telephony-api.h"
#include "bluetooth.h"
#include "bluetooth_internal.h"
+#include "bluetooth_extention.h"
#include "bluetooth-telephony-api.h"
#include "bt_unit_test.h"