BT_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
BT_INFO_C("### Start LE scan");
+ _bt_print_api_caller_name();
result = _bt_send_request(BT_BLUEZ_SERVICE, BT_START_LE_DISCOVERY,
in_param1, in_param2, in_param3, in_param4, &out_param);
BT_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
BT_INFO_C("### Stop LE scan");
+ _bt_print_api_caller_name();
result = _bt_send_request(BT_BLUEZ_SERVICE, BT_STOP_LE_DISCOVERY,
in_param1, in_param2, in_param3, in_param4, &out_param);
if (TIZEN_PROFILE_WEARABLE)
use_reserved_slot = __bluetooth_is_privileged_process();
+ _bt_print_api_caller_name();
+
BT_INIT_PARAMS();
BT_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
if (TIZEN_PROFILE_WEARABLE)
use_reserved_slot = __bluetooth_is_privileged_process();
+ _bt_print_api_caller_name();
+
BT_INIT_PARAMS();
BT_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
int result;
BT_INFO_C("### Enable adapter");
+ _bt_print_api_caller_name();
retv_if(bluetooth_check_adapter() == BLUETOOTH_ADAPTER_ENABLED,
BLUETOOTH_ERROR_DEVICE_ALREADY_ENABLED);
int result;
BT_INFO_C("### Disable adapter");
+ _bt_print_api_caller_name();
BT_CHECK_ENABLED(return);
BT_INIT_PARAMS();
{
int result;
- BT_INFO("Recover adapter");
+ BT_INFO_C("### Recover adapter");
BT_CHECK_ENABLED(return);
BT_INIT_PARAMS();
g_array_append_vals(in_param1, remote_address, sizeof(bluetooth_device_address_t));
+ BT_INFO_C("### Disconnect AG");
result = _bt_send_request_async(BT_BLUEZ_SERVICE, BT_AG_DISCONNECT,
in_param1, in_param2, in_param3, in_param4,
user_info->cb, user_info->user_data);
g_array_append_vals(in_param1, remote_address, sizeof(bluetooth_device_address_t));
+ BT_INFO_C("### Connect AV");
result = _bt_send_request_async(BT_BLUEZ_SERVICE, BT_AV_CONNECT,
in_param1, in_param2, in_param3, in_param4,
user_info->cb, user_info->user_data);
g_array_append_vals(in_param1, remote_address, sizeof(bluetooth_device_address_t));
+ BT_INFO_C("### Connect AV Source");
result = _bt_send_request_async(BT_BLUEZ_SERVICE, BT_AV_SOURCE_CONNECT,
in_param1, in_param2, in_param3, in_param4,
user_info->cb, user_info->user_data);
g_array_append_vals(in_param1, remote_address, sizeof(bluetooth_device_address_t));
+ BT_INFO_C("### Disconnect AV");
result = _bt_send_request_async(BT_BLUEZ_SERVICE, BT_AV_DISCONNECT,
in_param1, in_param2, in_param3, in_param4,
user_info->cb, user_info->user_data);
g_array_append_vals(in_param1, remote_address, sizeof(bluetooth_device_address_t));
+ BT_INFO_C("### Disconnect AV Source");
result = _bt_send_request_async(BT_BLUEZ_SERVICE, BT_AV_SOURCE_DISCONNECT,
in_param1, in_param2, in_param3, in_param4,
user_info->cb, user_info->user_data);
g_array_append_vals(in_param1, remote_address, sizeof(bluetooth_device_address_t));
+ BT_INFO_C("### Disconnect HF");
result = _bt_send_request_async(BT_BLUEZ_SERVICE, BT_HF_DISCONNECT,
in_param1, in_param2, in_param3, in_param4,
user_info->cb, user_info->user_data);
BT_ERR("Error = %s", err->message);
if (strstr(err->message, "No data"))
ret = BLUETOOTH_ERROR_NO_DATA;
+ else if (strstr(err->message, "NotConnected"))
+ ret = BLUETOOTH_ERROR_NOT_CONNECTED;
g_clear_error(&err);
}
return ret;
return;
}
+void _bt_print_api_caller_name(void)
+{
+ FILE *fp = NULL;
+ char *path = NULL;
+ char buf[256] = {0, };
+ char **str_list = NULL;
+
+ path = g_strdup_printf("/proc/%d/cmdline", getpid());
+ fp = fopen(path, "r");
+ if (fp == NULL) {
+ g_free(path);
+ return;
+ }
+
+ if (fgets(buf, 256, fp) != NULL) {
+ str_list = g_strsplit(buf, " ", -1);
+ if (str_list[0] != '\0')
+ BT_INFO("Caller : %s", str_list[0]);
+ g_strfreev(str_list);
+ }
+
+ fclose(fp);
+ g_free(path);
+ return;
+}
+
int _bt_connect_profile(char *address, char *uuid, void *cb,
gpointer func_data)
{
BT_EXPORT_API int bluetooth_get_uuid_name(const char *uuid, char **name)
{
-#define SHORT_UUID_COUNT 162
+#define SHORT_UUID_COUNT 199
#define LONG_UUID_COUNT 17
int offset = 0;
{"181D", "Weight Scale"},
{"181E", "Bond Management"},
{"181F", "Continuous Glucose Monitoring"},
+ {"1820", "Internet Protocol Support Service"},
+ {"1821", "Indoor Positioning"},
+ {"1822", "Pulse Oximeter Service"},
+ {"1823", "HTTP Proxy"},
+ {"1824", "Transport Discovery"},
+ {"1825", "Object Transfer Service"},
+ {"1826", "Fitness Machine"},
+ {"1827", "Mesh Provisioning Service"},
+ {"1828", "Mesh Proxy Service"},
+ {"1829", "Reconnection Configuration"},
+ {"183A", "Insulin Delivery"},
/* GATT Declarations */
{"2800", "Primary Service Declaration"},
{"2A68", "Navigation"},
{"2A6D", "Pressure"},
{"2A6E", "Temperature"},
+ {"2A8E", "Height"},
+ {"2A90", "Last Name"},
+ {"2A91", "Maximum Recommended Heart Rate"},
+ {"2A92", "Resting Heart Rate"},
+ {"2A98", "Weight"},
+ {"2A9B", "Body Composition Feature"},
+ {"2A9C", "Body Composition Measurement"},
+ {"2A9D", "Weight Measurement"},
+ {"2AA2", "Language"},
+ {"2AA4", "Bond Management Control Point"},
+ {"2AA5", "Bond Management Features"},
+ {"2AA6", "Central Address Resolution"},
+ {"2AAD", "Indoor Positioning Configuration"},
+ {"2AB5", "Location Name"},
+ {"2AB6", "URI"},
+ {"2ABC", "TDS Control Point"},
+ {"2AC9", "Resolvable Private Address Only"},
+ {"2ACC", "Fitness Machine Feature"},
+ {"2ACE", "Cross Trainer Data"},
+ {"2AD3", "Training Status"},
+ {"2AD7", "Supported Heart Rate Range"},
+ {"2AD9", "Fitness Machine Control Point"},
+ {"2ADA", "Fitness Machine Status"},
+ {"2B1D", "RC Feature"},
+ {"2B1E", "RC Settings"},
+ {"2B1F", "Reconnection Configuration Control Point"},
};
static uuid_name_s long_uuid_name[LONG_UUID_COUNT] = {
// List should be sorted by UUID
start = p + 1;
}
- BT_INFO("Unknown uuid : %s", uuid);
*name = g_strdup("Unknown");
return BLUETOOTH_ERROR_NONE;
}
GSList *conn;
char addr[20];
- BT_INFO("### Disconnect all RFCOMM server connections");
+ BT_INFO(" ### Disconnect all RFCOMM server connections");
for (server = rfcomm_nodes; server; ) {
rfcomm_info_t *info = server->data;
char address[20];
- BT_INFO("### Disconnect RFCOMM server");
+ BT_INFO(" ### Disconnect RFCOMM server");
if (socket_fd < 0) {
BT_ERR("Invalid FD");
return BLUETOOTH_ERROR_INVALID_PARAM;
int _bt_get_adapter_path(GDBusConnection *conn, char *path);
char *_bt_get_device_object_path(char *address);
+void _bt_print_api_caller_name(void);
int _bt_connect_profile(char *address, char *uuid, void *cb,
gpointer func_data);
int _bt_disconnect_profile(char *address, char *uuid, void *cb,
&error);
if (error) {
+ BT_INFO("SetAdvertising %d, slot_id %d", enable, slot_id);
BT_ERR("SetAdvertising Fail: %s", error->message);
g_clear_error(&error);
return BLUETOOTH_ERROR_INTERNAL;
ret = g_dbus_proxy_call_sync(proxy, "StopLEDiscovery",
NULL, G_DBUS_CALL_FLAGS_NONE,
-1, NULL, &error);
+ if (error) {
+ BT_ERR("StopLEDiscovery Fail: %s", error->message);
+ g_clear_error(&error);
+ }
+
if (ret == NULL) {
BT_ERR("LE Scan stop failed");
return BLUETOOTH_ERROR_INTERNAL;
BT_DBG("result [%d]", result);
if (auto_connect_timer.retry_count <= 0) {
- BT_INFO("Stopping Auto connect retry");
+ BT_INFO(" ### Stopping Auto connect retry");
auto_connect_timer.alarm_id = 0;
} else {
result = _bt_service_set_alarm(BT_AUTO_CONNECT_TIMEOUT_AFTER_LINKLOSS,
BT_AUTO_CONNECT_TIMEOUT_AFTER_LINKLOSS;
if (linkloss_flag) {
- BT_INFO("Start auto connection after linkloss");
+ BT_INFO(" ### Start auto connection after linkloss");
result = _bt_service_set_alarm(BT_AUTO_CONNECT_TIMEOUT_AFTER_LINKLOSS,
__bt_auto_connect_alarm_cb, NULL, &alarm_id);
if (result != BLUETOOTH_ERROR_NONE)
auto_connect_timer.alarm_id = alarm_id;
} else {
- BT_INFO("Start auto connection after BT activated");
+ BT_INFO(" ### Start auto connection after BT activated");
result = _bt_service_set_alarm(BT_AUTO_CONNECT_TIMEOUT_AFTER_BT_ACTIVATED,
__bt_auto_connect_alarm_cb, NULL, &alarm_id);
if (result == BLUETOOTH_ERROR_NONE)
const char *_bt_convert_uuid_to_string(const char *uuid)
{
-#define SHORT_UUID_COUNT 162
+#define SHORT_UUID_COUNT 199
#define LONG_UUID_COUNT 17
if (!uuid)
{"181D", "Weight Scale"},
{"181E", "Bond Management"},
{"181F", "Continuous Glucose Monitoring"},
+ {"1820", "Internet Protocol Support Service"},
+ {"1821", "Indoor Positioning"},
+ {"1822", "Pulse Oximeter Service"},
+ {"1823", "HTTP Proxy"},
+ {"1824", "Transport Discovery"},
+ {"1825", "Object Transfer Service"},
+ {"1826", "Fitness Machine"},
+ {"1827", "Mesh Provisioning Service"},
+ {"1828", "Mesh Proxy Service"},
+ {"1829", "Reconnection Configuration"},
+ {"183A", "Insulin Delivery"},
/* GATT Declarations */
{"2800", "Primary Service Declaration"},
{"2A68", "Navigation"},
{"2A6D", "Pressure"},
{"2A6E", "Temperature"},
+ {"2A8E", "Height"},
+ {"2A90", "Last Name"},
+ {"2A91", "Maximum Recommended Heart Rate"},
+ {"2A92", "Resting Heart Rate"},
+ {"2A98", "Weight"},
+ {"2A9B", "Body Composition Feature"},
+ {"2A9C", "Body Composition Measurement"},
+ {"2A9D", "Weight Measurement"},
+ {"2AA2", "Language"},
+ {"2AA4", "Bond Management Control Point"},
+ {"2AA5", "Bond Management Features"},
+ {"2AA6", "Central Address Resolution"},
+ {"2AAD", "Indoor Positioning Configuration"},
+ {"2AB5", "Location Name"},
+ {"2AB6", "URI"},
+ {"2ABC", "TDS Control Point"},
+ {"2AC9", "Resolvable Private Address Only"},
+ {"2ACC", "Fitness Machine Feature"},
+ {"2ACE", "Cross Trainer Data"},
+ {"2AD3", "Training Status"},
+ {"2AD7", "Supported Heart Rate Range"},
+ {"2AD9", "Fitness Machine Control Point"},
+ {"2ADA", "Fitness Machine Status"},
+ {"2B1D", "RC Feature"},
+ {"2B1E", "RC Settings"},
+ {"2B1F", "Reconnection Configuration Control Point"},
};
static uuid_name_s long_uuid_name[LONG_UUID_COUNT] = {
// List should be sorted by UUID
start = p + 1;
}
- BT_INFO("Unknown uuid : %s", uuid);
return unknown_name;
}
char secure_addr[BT_ADDRESS_STRING_SIZE] = { 0 };
_bt_convert_addr_string_to_secure_string(secure_addr, address);
- BT_INFO("### Paired: %s", secure_addr);
+ BT_INFO(" ### Paired: %s", secure_addr);
__bt_update_remote_cache_devinfo(address, TRUE);
GVariant *uuids = NULL;
break;
case BLUETOOTH_HID_CONNECTED:
signal = BT_INPUT_CONNECTED;
- BT_INFO_C("Connected [HID]");
+ BT_INFO_C("### Connected [HID]");
break;
case BLUETOOTH_HID_DISCONNECTED:
signal = BT_INPUT_DISCONNECTED;
- BT_INFO_C("Disconnected [HID]");
+ BT_INFO_C("### Disconnected [HID]");
break;
case BLUETOOTH_HID_DEVICE_CONNECTED:
signal = BT_INPUT_HID_DEVICE_CONNECTED;
- BT_INFO_C("Connected [HIDDevice]");
+ BT_INFO_C("### Connected [HID Device]");
break;
case BLUETOOTH_HID_DEVICE_DISCONNECTED:
signal = BT_INPUT_HID_DEVICE_DISCONNECTED;
- BT_INFO_C("Disconnected [HIDDevice]");
+ BT_INFO_C("### Disconnected [HID Device]");
break;
case BLUETOOTH_PBAP_CONNECTED:
signal = BT_PBAP_CONNECTED;
- BT_INFO_C("Connected [PBAP Client]");
+ BT_INFO_C("### Connected [PBAP Client]");
break;
case BLUETOOTH_PBAP_DISCONNECTED:
signal = BT_PBAP_DISCONNECTED;
- BT_INFO_C("Disconnected [PBAP Client]");
+ BT_INFO_C("### Disconnected [PBAP Client]");
break;
case BLUETOOTH_PBAP_PHONEBOOK_SIZE:
signal = BT_PBAP_PHONEBOOK_SIZE;
break;
case BLUETOOTH_EVENT_AV_CONNECTED:
signal = BT_STEREO_HEADSET_CONNECTED;
- BT_INFO_C("Connected [A2DP]");
+ BT_INFO_C("### Connected [A2DP]");
break;
case BLUETOOTH_EVENT_AV_DISCONNECTED:
signal = BT_STEREO_HEADSET_DISCONNECTED;
- BT_INFO_C("Disconnected [A2DP]");
+ BT_INFO_C("### Disconnected [A2DP]");
break;
case BLUETOOTH_EVENT_AV_SOURCE_CONNECTED:
signal = BT_A2DP_SOURCE_CONNECTED;
- BT_INFO_C("Connected [A2DP Source]");
+ BT_INFO_C("### Connected [A2DP Source]");
break;
case BLUETOOTH_EVENT_AV_SOURCE_DISCONNECTED:
signal = BT_A2DP_SOURCE_DISCONNECTED;
- BT_INFO_C("Disconnected [A2DP Source]");
+ BT_INFO_C("### Disconnected [A2DP Source]");
break;
case BLUETOOTH_EVENT_AG_AUDIO_CONNECTED:
signal = BT_SCO_CONNECTED;
priv->busname = NULL;
} else {
priv->busname = g_strdup(g_dbus_proxy_get_name(proxy));
- g_object_unref(proxy);
BT_DBG("Busname: %s", priv->busname);
+ g_object_unref(proxy);
}
}