Diff between 5a052da1529915d43d535827c0800b93bf65e66a and bfb77271fff96e2292cd562481520ef3f8700c91

Changed Files

File Additions Deletions Status
src/shared/gatt-db.c +9 -2 modified
src/shared/gatt-db.h +3 -2 modified

Full Patch

diff --git a/src/shared/gatt-db.c b/src/shared/gatt-db.c
index 606ae84..eb81372 100644
--- a/src/shared/gatt-db.c
+++ b/src/shared/gatt-db.c
@@ -894,6 +894,7 @@ struct find_by_type_value_data {
 	void *user_data;
 	const void *value;
 	size_t value_len;
+	unsigned int num_of_res;
 };
 
 static void find_by_type(void *data, void *user_data)
@@ -925,11 +926,12 @@ static void find_by_type(void *data, void *user_data)
 							search_data->value_len))
 			continue;
 
+		search_data->num_of_res++;
 		search_data->func(attribute, search_data->user_data);
 	}
 }
 
-void gatt_db_find_by_type(struct gatt_db *db, uint16_t start_handle,
+unsigned int gatt_db_find_by_type(struct gatt_db *db, uint16_t start_handle,
 						uint16_t end_handle,
 						const bt_uuid_t *type,
 						gatt_db_attribute_cb_t func,
@@ -946,9 +948,12 @@ void gatt_db_find_by_type(struct gatt_db *db, uint16_t start_handle,
 	data.user_data = user_data;
 
 	queue_foreach(db->services, find_by_type, &data);
+
+	return data.num_of_res;
 }
 
-void gatt_db_find_by_type_value(struct gatt_db *db, uint16_t start_handle,
+unsigned int gatt_db_find_by_type_value(struct gatt_db *db,
+						uint16_t start_handle,
 						uint16_t end_handle,
 						const bt_uuid_t *type,
 						const void *value,
@@ -967,6 +972,8 @@ void gatt_db_find_by_type_value(struct gatt_db *db, uint16_t start_handle,
 	data.value_len = value_len;
 
 	queue_foreach(db->services, find_by_type, &data);
+
+	return data.num_of_res;
 }
 
 struct read_by_type_data {
diff --git a/src/shared/gatt-db.h b/src/shared/gatt-db.h
index 75f0668..74b37bc 100644
--- a/src/shared/gatt-db.h
+++ b/src/shared/gatt-db.h
@@ -95,13 +95,14 @@ void gatt_db_read_by_group_type(struct gatt_db *db, uint16_t start_handle,
 							const bt_uuid_t type,
 							struct queue *queue);
 
-void gatt_db_find_by_type(struct gatt_db *db, uint16_t start_handle,
+unsigned int gatt_db_find_by_type(struct gatt_db *db, uint16_t start_handle,
 						uint16_t end_handle,
 						const bt_uuid_t *type,
 						gatt_db_attribute_cb_t func,
 						void *user_data);
 
-void gatt_db_find_by_type_value(struct gatt_db *db, uint16_t start_handle,
+unsigned int gatt_db_find_by_type_value(struct gatt_db *db,
+						uint16_t start_handle,
 						uint16_t end_handle,
 						const bt_uuid_t *type,
 						const void *value,