Skip to content

Commit

Permalink
btgatt-client: Add function to search all primary services
Browse files Browse the repository at this point in the history
This is requested to pass PTS GATT/CL/GAD/BV-01-C test.
  • Loading branch information
fdanis-oss authored and Vudentz committed Jan 25, 2024
1 parent 647adf9 commit 0de32f6
Showing 1 changed file with 23 additions and 7 deletions.
30 changes: 23 additions & 7 deletions tools/btgatt-client.c
Expand Up @@ -1354,13 +1354,6 @@ static void cmd_set_sign_key(struct client *cli, char *cmd_str)
set_sign_key_usage();
}

static void search_service_usage(void)
{
printf("Usage: search-service <uuid>\n"
"e.g.:\n"
"\tsearch-service 1800\n");
}

static void search_service_cb(bool success, uint8_t att_ecode,
struct bt_gatt_result *result,
void *user_data)
Expand Down Expand Up @@ -1392,6 +1385,27 @@ static void search_service_cb(bool success, uint8_t att_ecode,
PRLOG("\n");
}

static void cmd_search_all_primary_services(struct client *cli, char *cmd_str)
{
if (!bt_gatt_client_is_ready(cli->gatt)) {
printf("GATT client not initialized\n");
return;
}

bt_gatt_discover_all_primary_services(bt_gatt_client_get_att(cli->gatt),
NULL,
search_service_cb,
NULL,
NULL);
}

static void search_service_usage(void)
{
printf("Usage: search-service <uuid>\n"
"e.g.:\n"
"\tsearch-service 1800\n");
}

static void cmd_search_service(struct client *cli, char *cmd_str)
{
char *argv[2];
Expand Down Expand Up @@ -1536,6 +1550,8 @@ static struct {
"\tSet retry on security error by elevating security"},
{ "set-sign-key", cmd_set_sign_key,
"\tSet signing key for signed write command"},
{ "search-all-primary-services", cmd_search_all_primary_services,
"\tSearch all primary services"},
{ "search-service", cmd_search_service,
"\tSearch service"},
{ "search-characteristics", cmd_search_characteristics,
Expand Down

0 comments on commit 0de32f6

Please sign in to comment.