gatt-client: Add DBG macro
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Mon, 21 Mar 2022 20:21:16 +0000 (13:21 -0700)
committerAyush Garg <ayush.garg@samsung.com>
Mon, 15 May 2023 09:25:53 +0000 (14:55 +0530)
This adds gatt_log wrapper for util_debug and DBG macro so file and
function names are printed which is more consistent with other parts of
the daemon code.

Change-Id: I802443ecd6bd249c174c1dcf0d1f8ed246425427
Signed-off-by: Manika Shrivastava <manika.sh@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
src/shared/gatt-client.c

index de348c2..9b6324b 100644 (file)
@@ -21,7 +21,6 @@
 #include "src/shared/gatt-db.h"
 #include "src/shared/gatt-client.h"
 #if defined TIZEN_FEATURE_BLUEZ_MODIFY
-#include "../log.h"
 #include "../../profile.h"
 #endif
 
@@ -41,6 +40,8 @@
 
 #define GATT_SVC_UUID  0x1801
 #define SVC_CHNGD_UUID 0x2a05
+#define DBG(_client, _format, arg...) \
+       gatt_log(_client, "%s:%s() " _format, __FILE__, __func__, ## arg)
 
 struct ready_cb {
        bt_gatt_client_callback_t callback;
@@ -406,6 +407,18 @@ static void discovery_op_free(struct discovery_op *op)
 
 static bool read_db_hash(struct discovery_op *op);
 
+static void gatt_log(struct bt_gatt_client *client, const char *format, ...)
+{
+       va_list ap;
+
+       if (!client || !format || !client->debug_callback)
+               return;
+
+       va_start(ap, format);
+       util_debug_va(client->debug_callback, client->debug_data, format, ap);
+       va_end(ap);
+}
+
 static void discovery_op_complete(struct discovery_op *op, bool success,
                                                                uint8_t err)
 {
@@ -437,9 +450,8 @@ static void discovery_op_complete(struct discovery_op *op, bool success,
                gatt_db_attribute_get_service_data(attr, &start, &end,
                                                        NULL, NULL);
 
-               util_debug(op->client->debug_callback, op->client->debug_data,
-                               "service disappeared: start 0x%04x end 0x%04x",
-                               start, end);
+               DBG(op->client, "service disappeared: start 0x%04x end 0x%04x",
+                       start, end);
 
                gatt_db_remove_service(op->client->db, attr);
        }
@@ -607,9 +619,7 @@ static void discover_incl_cb(bool success, uint8_t att_ecode,
        if (includes_count == 0)
                goto failed;
 
-       util_debug(client->debug_callback, client->debug_data,
-                                               "Included services found: %u",
-                                               includes_count);
+       DBG(client, "Included services found: %u", includes_count);
 
        for (i = 0; i < includes_count; i++) {
                if (!bt_gatt_iter_next_included_service(&iter, &handle, &start,
@@ -620,13 +630,12 @@ static void discover_incl_cb(bool success, uint8_t att_ecode,
 
                /* Log debug message */
                bt_uuid_to_string(&uuid, uuid_str, sizeof(uuid_str));
-               util_debug(client->debug_callback, client->debug_data,
-                               "handle: 0x%04x, start: 0x%04x, end: 0x%04x,"
+               DBG(client, "handle: 0x%04x, start: 0x%04x, end: 0x%04x,"
                                "uuid: %s", handle, start, end, uuid_str);
 
                attr = gatt_db_get_attribute(client->db, start);
                if (!attr) {
-                       util_debug(client->debug_callback, client->debug_data,
+                       DBG(client,
                                "Unable to find attribute at 0x%04x: skipping",
                                start);
                        continue;
@@ -634,7 +643,7 @@ static void discover_incl_cb(bool success, uint8_t att_ecode,
 
                attr = gatt_db_insert_included(client->db, handle, attr);
                if (!attr) {
-                       util_debug(client->debug_callback, client->debug_data,
+                       DBG(client,
                                "Unable to add include attribute at 0x%04x",
                                handle);
                        goto failed;
@@ -647,7 +656,7 @@ static void discover_incl_cb(bool success, uint8_t att_ecode,
                 * attribute.
                 */
                if (gatt_db_attribute_get_handle(attr) != handle) {
-                       util_debug(client->debug_callback, client->debug_data,
+                       DBG(client,
                                "Invalid attribute 0x%04x expect it at 0x%04x",
                                gatt_db_attribute_get_handle(attr), handle);
                        goto failed;
@@ -669,8 +678,8 @@ next:
        if (client->discovery_req)
                return;
 
-       util_debug(client->debug_callback, client->debug_data,
-                               "Failed to start characteristic discovery");
+       DBG(client, "Failed to start characteristic discovery");
+
        discovery_op_unref(op);
 failed:
        discovery_op_complete(op, false, att_ecode);
@@ -721,7 +730,7 @@ static bool discover_descs(struct discovery_op *op, bool *discovering)
                                                        NULL, NULL, NULL);
 
                if (!attr) {
-                       util_debug(client->debug_callback, client->debug_data,
+                       DBG(client,
                                "Failed to insert characteristic at 0x%04x",
                                chrc_data->value_handle);
 
@@ -794,8 +803,8 @@ static bool discover_descs(struct discovery_op *op, bool *discovering)
                        goto done;
                }
 
-               util_debug(client->debug_callback, client->debug_data,
-                                       "Failed to start descriptor discovery");
+               DBG(client, "Failed to start descriptor discovery");
+
                discovery_op_unref(op);
 
                goto failed;
@@ -815,8 +824,7 @@ static void ext_prop_write_cb(struct gatt_db_attribute *attrib,
 {
        struct bt_gatt_client *client = user_data;
 
-       util_debug(client->debug_callback, client->debug_data,
-                                               "Value set status: %d", err);
+       DBG(client, "Value set status: %d", err);
 }
 
 static void ext_prop_read_cb(bool success, uint8_t att_ecode,
@@ -919,8 +927,7 @@ static void discover_descs_cb(bool success, uint8_t att_ecode,
        if (desc_count == 0)
                goto failed;
 
-       util_debug(client->debug_callback, client->debug_data,
-                                       "Descriptors found: %u", desc_count);
+       DBG(client, "Descriptors found: %u", desc_count);
 
        bt_uuid16_create(&ext_prop_uuid, GATT_CHARAC_EXT_PROPER_UUID);
 
@@ -929,9 +936,8 @@ static void discover_descs_cb(bool success, uint8_t att_ecode,
 
                /* Log debug message */
                bt_uuid_to_string(&uuid, uuid_str, sizeof(uuid_str));
-               util_debug(client->debug_callback, client->debug_data,
-                                               "handle: 0x%04x, uuid: %s",
-                                               handle, uuid_str);
+
+               DBG(client, "handle: 0x%04x, uuid: %s", handle, uuid_str);
 
                attr = gatt_db_insert_descriptor(client->db, handle,
                                                        &uuid, 0, NULL, NULL,
@@ -942,8 +948,7 @@ static void discover_descs_cb(bool success, uint8_t att_ecode,
                                        gatt_db_attribute_get_type(attr)))
                                continue;
 
-                       util_debug(client->debug_callback, client->debug_data,
-                               "Failed to insert descriptor at 0x%04x",
+                       DBG(client, "Failed to insert descriptor at 0x%04x",
                                handle);
                        goto failed;
                }
@@ -1059,8 +1064,8 @@ static void discover_chrcs_cb(bool success, uint8_t att_ecode,
                goto failed;
 
        chrc_count = bt_gatt_result_characteristic_count(result);
-       util_debug(client->debug_callback, client->debug_data,
-                               "Characteristics found: %u", chrc_count);
+
+       DBG(client, "Characteristics found: %u", chrc_count);
 
        if (chrc_count == 0)
                goto failed;
@@ -1071,8 +1076,7 @@ static void discover_chrcs_cb(bool success, uint8_t att_ecode,
 
                /* Log debug message */
                bt_uuid_to_string(&uuid, uuid_str, sizeof(uuid_str));
-               util_debug(client->debug_callback, client->debug_data,
-                               "start: 0x%04x, end: 0x%04x, value: 0x%04x, "
+               DBG(client, "start: 0x%04x, end: 0x%04x, value: 0x%04x, "
                                "props: 0x%02x, uuid: %s",
                                start, end, value, properties, uuid_str);
 
@@ -1119,8 +1123,7 @@ next:
                if (client->discovery_req)
                        return;
 
-               util_debug(client->debug_callback, client->debug_data,
-                               "Failed to start included services discovery");
+               DBG(client, "Failed to start included services discovery");
 
                discovery_op_unref(op);
 
@@ -1232,8 +1235,7 @@ static bool discovery_parse_services(struct discovery_op *op, bool primary,
 
                /* Log debug message */
                bt_uuid_to_string(&uuid, uuid_str, sizeof(uuid_str));
-               util_debug(client->debug_callback, client->debug_data,
-                               "start: 0x%04x, end: 0x%04x, uuid: %s",
+               DBG(client, "start: 0x%04x, end: 0x%04x, uuid: %s",
                                start, end, uuid_str);
 
                /* Store the service */
@@ -1252,9 +1254,7 @@ static bool discovery_parse_services(struct discovery_op *op, bool primary,
                        attr = gatt_db_insert_service(client->db, start, &uuid,
                                                        false, end - start + 1);
                        if (!attr) {
-                               util_debug(client->debug_callback,
-                                               client->debug_data,
-                                               "Failed to store service");
+                               DBG(client, "Failed to store service");
                                return false;
                        }
                        /* Database has changed adjust last handle */
@@ -1287,8 +1287,7 @@ static void discover_secondary_cb(bool success, uint8_t att_ecode,
                        att_ecode = 0;
                        goto next;
                default:
-                       util_debug(client->debug_callback, client->debug_data,
-                                       "Secondary service discovery failed."
+                       DBG(client, "Secondary service discovery failed."
                                        " ATT ECODE: 0x%02x", att_ecode);
                        goto done;
                }
@@ -1299,8 +1298,7 @@ static void discover_secondary_cb(bool success, uint8_t att_ecode,
                goto done;
        }
 
-       util_debug(client->debug_callback, client->debug_data,
-                                       "Secondary services found: %u",
+       DBG(client, "Secondary services found: %u",
                                        bt_gatt_result_service_count(result));
 
        if (!discovery_parse_services(op, false, &iter)) {
@@ -1336,8 +1334,8 @@ next:
        if (client->discovery_req)
                return;
 
-       util_debug(client->debug_callback, client->debug_data,
-                               "Failed to start included services discovery");
+       DBG(client, "Failed to start included services discovery");
+
        discovery_op_unref(op);
        success = false;
 
@@ -1363,8 +1361,7 @@ static void discover_primary_cb(bool success, uint8_t att_ecode,
                        att_ecode = 0;
                        goto secondary;
                default:
-                       util_debug(client->debug_callback, client->debug_data,
-                                       "Primary service discovery failed."
+                       DBG(client, "Primary service discovery failed."
                                        " ATT ECODE: 0x%02x", att_ecode);
                        goto done;
                }
@@ -1375,8 +1372,7 @@ static void discover_primary_cb(bool success, uint8_t att_ecode,
                goto done;
        }
 
-       util_debug(client->debug_callback, client->debug_data,
-                                       "Primary services found: %u",
+       DBG(client, "Primary services found: %u",
                                        bt_gatt_result_service_count(result));
 
        if (!discovery_parse_services(op, true, &iter)) {
@@ -1403,8 +1399,8 @@ secondary:
        if (client->discovery_req)
                return;
 
-       util_debug(client->debug_callback, client->debug_data,
-                               "Failed to start secondary service discovery");
+       DBG(client, "Failed to start secondary service discovery");
+
        discovery_op_unref(op);
        success = false;
 
@@ -1468,8 +1464,7 @@ static void discover_all(struct discovery_op *op)
        if (client->discovery_req)
                return;
 
-       util_debug(client->debug_callback, client->debug_data,
-                       "Failed to initiate primary service discovery");
+       DBG(client, "Failed to initiate primary service discovery");
 
        client->in_init = false;
        notify_client_ready(client, false, BT_ATT_ERROR_UNLIKELY);
@@ -1482,8 +1477,7 @@ static void db_hash_write_value_cb(struct gatt_db_attribute *attrib,
 {
        struct bt_gatt_client *client = user_data;
 
-       util_debug(client->debug_callback, client->debug_data,
-                                               "Value set status: %d", err);
+       DBG(client, "Value set status: %d", err);
 }
 
 static void db_hash_read_value_cb(struct gatt_db_attribute *attrib,
@@ -1514,9 +1508,8 @@ static void db_hash_read_cb(bool success, uint8_t att_ecode,
        bt_gatt_iter_init(&iter, result);
        bt_gatt_iter_next_read_by_type(&iter, &handle, &len, &value);
 
-       util_debug(client->debug_callback, client->debug_data,
-                               "DB Hash found: handle 0x%04x length 0x%04x",
-                               handle, len);
+       DBG(client, "DB Hash found: handle 0x%04x length 0x%04x",
+                                                       handle, len);
 
        if (len != 16)
                goto discover;
@@ -1527,15 +1520,14 @@ static void db_hash_read_cb(bool success, uint8_t att_ecode,
 
        /* Check if the has has changed since last time */
        if (hash && !memcmp(hash, value, len)) {
-               util_debug(client->debug_callback, client->debug_data,
-                               "DB Hash match: skipping discovery");
+               DBG(client, "DB Hash match: skipping discovery");
                queue_remove_all(op->pending_svcs, NULL, NULL, NULL);
                discovery_op_complete(op, true, 0);
                return;
        }
 
-       util_debug(client->debug_callback, client->debug_data,
-                                               "DB Hash value:");
+       DBG(client, "DB Hash value:");
+
        util_hexdump(' ', value, len, client->debug_callback,
                                                client->debug_data);
 
@@ -1606,8 +1598,7 @@ static void db_server_feat_read(bool success, uint8_t att_ecode,
        bt_gatt_iter_init(&iter, result);
        bt_gatt_iter_next_read_by_type(&iter, &handle, &len, &value);
 
-       util_debug(client->debug_callback, client->debug_data,
-                               "Server Features found: handle 0x%04x "
+       DBG(client, "Server Features found: handle 0x%04x "
                                "length 0x%04x value 0x%02x", handle, len,
                                value[0]);
 
@@ -1661,8 +1652,7 @@ static void exchange_mtu_cb(bool success, uint8_t att_ecode, void *user_data)
        client->mtu_req_id = 0;
 
        if (!success) {
-               util_debug(client->debug_callback, client->debug_data,
-                               "MTU Exchange failed. ATT ECODE: 0x%02x",
+               DBG(client, "MTU Exchange failed. ATT ECODE: 0x%02x",
                                att_ecode);
 
                /*
@@ -1680,8 +1670,7 @@ static void exchange_mtu_cb(bool success, uint8_t att_ecode, void *user_data)
                return;
        }
 
-       util_debug(client->debug_callback, client->debug_data,
-                                       "att client MTU exchange complete, with MTU: %u",
+       DBG(client, "MTU exchange complete, with MTU: %u",
                                        bt_att_get_mtu(client->att));
 
 discover:
@@ -1967,7 +1956,7 @@ static void service_changed_register_cb(uint16_t att_ecode, void *user_data)
        struct bt_gatt_client *client = user_data;
 
        if (att_ecode) {
-               util_debug(client->debug_callback, client->debug_data,
+               DBG(client,
                        "Failed to register handler for \"Service Changed\"");
                success = false;
                client->svc_chngd_ind_id = 0;
@@ -1976,8 +1965,7 @@ static void service_changed_register_cb(uint16_t att_ecode, void *user_data)
 
        client->svc_chngd_registered = true;
        success = true;
-       util_debug(client->debug_callback, client->debug_data,
-                       "Registered handler for \"Service Changed\": %u",
+       DBG(client, "Registered handler for \"Service Changed\": %u",
                        client->svc_chngd_ind_id);
 
 done:
@@ -2042,7 +2030,7 @@ static void service_changed_complete(struct discovery_op *op, bool success,
        client->in_svc_chngd = false;
 
        if (!success && att_ecode != BT_ATT_ERROR_ATTRIBUTE_NOT_FOUND) {
-               util_debug(client->debug_callback, client->debug_data,
+               DBG(client,
                        "Failed to discover services within changed range - "
                        "error: 0x%02x", att_ecode);
 
@@ -2079,7 +2067,7 @@ static void service_changed_complete(struct discovery_op *op, bool success,
        if (register_service_changed(client))
                return;
 
-       util_debug(client->debug_callback, client->debug_data,
+       DBG(client,
                "Failed to re-register handler for \"Service Changed\"");
 }
 
@@ -2120,9 +2108,8 @@ static void process_service_changed(struct bt_gatt_client *client,
        discovery_op_free(op);
 
 fail:
-       util_debug(client->debug_callback, client->debug_data,
-                                       "Failed to initiate service discovery"
-                                       " after Service Changed");
+       DBG(client,
+               "Failed to initiate service discovery after Service Changed");
 }
 
 static void service_changed_cb(uint16_t value_handle, const uint8_t *value,
@@ -2145,13 +2132,12 @@ static void service_changed_cb(uint16_t value_handle, const uint8_t *value,
        end = get_le16(value + 2);
 
        if (start > end) {
-               util_debug(client->debug_callback, client->debug_data,
+               DBG(client,
                        "Service Changed received with invalid handles");
                return;
        }
 
-       util_debug(client->debug_callback, client->debug_data,
-                       "Service Changed received - start: 0x%04x end: 0x%04x",
+       DBG(client, "Service Changed received - start: 0x%04x end: 0x%04x",
                        start, end);
 
        if (!client->in_svc_chngd) {
@@ -2172,8 +2158,7 @@ static void server_feat_write_value(struct gatt_db_attribute *attrib,
 {
        struct bt_gatt_client *client = user_data;
 
-       util_debug(client->debug_callback, client->debug_data,
-                       "Server Features Value set status: %d", err);
+       DBG(client, "Server Features Value set status: %d", err);
 }
 
 static void write_server_features(struct bt_gatt_client *client, uint8_t feat)
@@ -2192,8 +2177,7 @@ static void write_server_features(struct bt_gatt_client *client, uint8_t feat)
        if (!gatt_db_attribute_write(attr, 0, &feat, sizeof(feat),
                                        0, NULL, server_feat_write_value,
                                        client))
-               util_debug(client->debug_callback, client->debug_data,
-                                       "Unable to store Server Features");
+               DBG(client, "Unable to store Server Features");
 }
 
 static void write_client_features(struct bt_gatt_client *client)
@@ -2229,8 +2213,7 @@ static void write_client_features(struct bt_gatt_client *client)
 
        client->features |= BT_GATT_CHRC_CLI_FEAT_NFY_MULTI;
 
-       util_debug(client->debug_callback, client->debug_data,
-                       "Writing Client Features 0x%02x", client->features);
+       DBG(client, "Writing Client Features 0x%02x", client->features);
 
        bt_gatt_client_write_value(client, handle, &client->features,
                                sizeof(client->features), NULL, NULL, NULL);
@@ -2254,13 +2237,11 @@ static void init_complete(struct discovery_op *op, bool success,
        if (register_service_changed(client))
                goto done;
 
-       util_debug(client->debug_callback, client->debug_data,
-                       "Failed to register handler for \"Service Changed\"");
+       DBG(client, "Failed to register handler for \"Service Changed\"");
        success = false;
 
 fail:
-       util_debug(client->debug_callback, client->debug_data,
-                       "Failed to initialize gatt-client");
+       DBG(client, "Failed to initialize gatt-client");
 
        op->success = false;
 
@@ -3929,8 +3910,7 @@ unsigned int bt_gatt_client_prepare_write(struct bt_gatt_client *client,
         * prepare writes or this is brand new reliable session (id == 0)
         */
        if (id != client->reliable_write_session_id) {
-               util_debug(client->debug_callback, client->debug_data,
-                       "There is other reliable write session ongoing %u",
+               DBG(client, "There is other reliable write session ongoing %u",
                        client->reliable_write_session_id);
 
                return 0;