[PATCH BlueZ] build: Remove gatt-example plugin

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx>

This examples can be done over D-Bus already so it makes no sense to have
it as a plugin and in fact it currently it doesn't even work since it was
never ported to the new code under src/shared.
---
 Makefile.plugins       |   5 -
 plugins/gatt-example.c | 578 -------------------------------------------------
 2 files changed, 583 deletions(-)
 delete mode 100644 plugins/gatt-example.c

diff --git a/Makefile.plugins b/Makefile.plugins
index ecf6f08..4ad2103 100644
--- a/Makefile.plugins
+++ b/Makefile.plugins
@@ -11,11 +11,6 @@ builtin_sources += plugins/autopair.c
 builtin_modules += policy
 builtin_sources += plugins/policy.c
 
-if MAINTAINER_MODE
-builtin_modules += gatt_example
-builtin_sources += plugins/gatt-example.c
-endif
-
 if EXPERIMENTAL
 builtin_modules += neard
 builtin_sources += plugins/neard.c
diff --git a/plugins/gatt-example.c b/plugins/gatt-example.c
deleted file mode 100644
index 5249751..0000000
--- a/plugins/gatt-example.c
+++ /dev/null
@@ -1,578 +0,0 @@
-/*
- *
- *  BlueZ - Bluetooth protocol stack for Linux
- *
- *  Copyright (C) 2010  Nokia Corporation
- *  Copyright (C) 2010  Marcel Holtmann <marcel@xxxxxxxxxxxx>
- *
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- *
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <glib.h>
-#include <errno.h>
-
-#include "lib/bluetooth.h"
-#include "lib/sdp.h"
-#include "lib/uuid.h"
-
-#include "src/plugin.h"
-#include "src/adapter.h"
-#include "src/shared/util.h"
-#include "src/log.h"
-#include "attrib/gattrib.h"
-#include "attrib/gatt-service.h"
-#include "attrib/att.h"
-#include "attrib/gatt.h"
-#include "attrib/att-database.h"
-#include "src/attrib-server.h"
-
-/* FIXME: Not defined by SIG? UUID128? */
-#define OPCODES_SUPPORTED_UUID          0xA001
-#define BATTERY_STATE_SVC_UUID		0xA002
-#define BATTERY_STATE_UUID		0xA003
-#define THERM_HUMIDITY_SVC_UUID		0xA004
-#define MANUFACTURER_SVC_UUID		0xA005
-#define TEMPERATURE_UUID		0xA006
-#define FMT_CELSIUS_UUID		0xA007
-#define FMT_OUTSIDE_UUID		0xA008
-#define RELATIVE_HUMIDITY_UUID		0xA009
-#define FMT_PERCENT_UUID		0xA00A
-#define BLUETOOTH_SIG_UUID		0xA00B
-#define MANUFACTURER_NAME_UUID		0xA00C
-#define MANUFACTURER_SERIAL_UUID	0xA00D
-#define VENDOR_SPECIFIC_SVC_UUID	0xA00E
-#define VENDOR_SPECIFIC_TYPE_UUID	0xA00F
-#define FMT_KILOGRAM_UUID		0xA010
-#define FMT_HANGING_UUID		0xA011
-
-struct gatt_example_adapter {
-	struct btd_adapter	*adapter;
-	GSList			*sdp_handles;
-};
-
-static GSList *adapters = NULL;
-
-static void gatt_example_adapter_free(struct gatt_example_adapter *gadapter)
-{
-	while (gadapter->sdp_handles != NULL) {
-		uint32_t handle = GPOINTER_TO_UINT(gadapter->sdp_handles->data);
-
-		attrib_free_sdp(gadapter->adapter, handle);
-		gadapter->sdp_handles = g_slist_remove(gadapter->sdp_handles,
-						gadapter->sdp_handles->data);
-	}
-
-	if (gadapter->adapter != NULL)
-		btd_adapter_unref(gadapter->adapter);
-
-	g_free(gadapter);
-}
-
-static int adapter_cmp(gconstpointer a, gconstpointer b)
-{
-	const struct gatt_example_adapter *gatt_adapter = a;
-	const struct btd_adapter *adapter = b;
-
-	if (gatt_adapter->adapter == adapter)
-		return 0;
-
-	return -1;
-}
-
-static uint8_t battery_state_read(struct attribute *a,
-				  struct btd_device *device, gpointer user_data)
-{
-	struct btd_adapter *adapter = user_data;
-	uint8_t value;
-
-	value = 0x04;
-	attrib_db_update(adapter, a->handle, NULL, &value, sizeof(value), NULL);
-
-	return 0;
-}
-
-static gboolean register_battery_service(struct btd_adapter *adapter)
-{
-	bt_uuid_t uuid;
-
-	bt_uuid16_create(&uuid, BATTERY_STATE_SVC_UUID);
-
-	return gatt_service_add(adapter, GATT_PRIM_SVC_UUID, &uuid,
-			/* battery state characteristic */
-			GATT_OPT_CHR_UUID16, BATTERY_STATE_UUID,
-			GATT_OPT_CHR_PROPS, GATT_CHR_PROP_READ |
-							GATT_CHR_PROP_NOTIFY,
-			GATT_OPT_CHR_VALUE_CB, ATTRIB_READ,
-						battery_state_read, adapter,
-
-			GATT_OPT_INVALID);
-}
-
-static void register_termometer_service(struct gatt_example_adapter *adapter,
-			const uint16_t manuf1[2], const uint16_t manuf2[2])
-{
-	const char *desc_out_temp = "Outside Temperature";
-	const char *desc_out_hum = "Outside Relative Humidity";
-	uint16_t start_handle, h;
-	const int svc_size = 11;
-	uint32_t sdp_handle;
-	uint8_t atval[256];
-	bt_uuid_t uuid;
-	int len;
-
-	bt_uuid16_create(&uuid, THERM_HUMIDITY_SVC_UUID);
-	start_handle = attrib_db_find_avail(adapter->adapter, &uuid, svc_size);
-	if (start_handle == 0) {
-		error("Not enough free handles to register service");
-		return;
-	}
-
-	DBG("start_handle=0x%04x manuf1=0x%04x-0x%04x, manuf2=0x%04x-0x%04x",
-		start_handle, manuf1[0], manuf1[1], manuf2[0], manuf2[1]);
-
-	h = start_handle;
-
-	/* Thermometer: primary service definition */
-	bt_uuid16_create(&uuid, GATT_PRIM_SVC_UUID);
-	put_le16(THERM_HUMIDITY_SVC_UUID, &atval[0]);
-	attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED,
-								atval, 2);
-
-	bt_uuid16_create(&uuid, GATT_INCLUDE_UUID);
-
-	/* Thermometer: Include */
-	if (manuf1[0] && manuf1[1]) {
-		put_le16(manuf1[0], &atval[0]);
-		put_le16(manuf1[1], &atval[2]);
-		put_le16(MANUFACTURER_SVC_UUID, &atval[4]);
-		attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE,
-						ATT_NOT_PERMITTED, atval, 6);
-	}
-
-	/* Thermometer: Include */
-	if (manuf2[0] && manuf2[1]) {
-		put_le16(manuf2[0], &atval[0]);
-		put_le16(manuf2[1], &atval[2]);
-		put_le16(VENDOR_SPECIFIC_SVC_UUID, &atval[4]);
-		attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE,
-						ATT_NOT_PERMITTED, atval, 6);
-	}
-
-	/* Thermometer: temperature characteristic */
-	bt_uuid16_create(&uuid, GATT_CHARAC_UUID);
-	atval[0] = GATT_CHR_PROP_READ;
-	put_le16(h + 1, &atval[1]);
-	put_le16(TEMPERATURE_UUID, &atval[3]);
-	attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED,
-								atval, 5);
-
-	/* Thermometer: temperature characteristic value */
-	bt_uuid16_create(&uuid, TEMPERATURE_UUID);
-	atval[0] = 0x8A;
-	atval[1] = 0x02;
-	attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED,
-								atval, 2);
-
-	/* Thermometer: temperature characteristic format */
-	bt_uuid16_create(&uuid, GATT_CHARAC_FMT_UUID);
-	atval[0] = 0x0E;
-	atval[1] = 0xFE;
-	put_le16(FMT_CELSIUS_UUID, &atval[2]);
-	atval[4] = 0x01;
-	put_le16(FMT_OUTSIDE_UUID, &atval[5]);
-	attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED,
-								atval, 7);
-
-	/* Thermometer: characteristic user description */
-	bt_uuid16_create(&uuid, GATT_CHARAC_USER_DESC_UUID);
-	len = strlen(desc_out_temp);
-	strncpy((char *) atval, desc_out_temp, len);
-	attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED,
-								atval, len);
-
-	/* Thermometer: relative humidity characteristic */
-	bt_uuid16_create(&uuid, GATT_CHARAC_UUID);
-	atval[0] = GATT_CHR_PROP_READ;
-	put_le16(h + 1, &atval[1]);
-	put_le16(RELATIVE_HUMIDITY_UUID, &atval[3]);
-	attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED,
-								atval, 5);
-
-	/* Thermometer: relative humidity value */
-	bt_uuid16_create(&uuid, RELATIVE_HUMIDITY_UUID);
-	atval[0] = 0x27;
-	attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED,
-								atval, 1);
-
-	/* Thermometer: relative humidity characteristic format */
-	bt_uuid16_create(&uuid, GATT_CHARAC_FMT_UUID);
-	atval[0] = 0x04;
-	atval[1] = 0x00;
-	put_le16(FMT_PERCENT_UUID, &atval[2]);
-	put_le16(BLUETOOTH_SIG_UUID, &atval[4]);
-	put_le16(FMT_OUTSIDE_UUID, &atval[6]);
-	attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED,
-								atval, 8);
-
-	/* Thermometer: characteristic user description */
-	bt_uuid16_create(&uuid, GATT_CHARAC_USER_DESC_UUID);
-	len = strlen(desc_out_hum);
-	strncpy((char *) atval, desc_out_hum, len);
-	attrib_db_add(adapter->adapter, h, &uuid, ATT_NONE, ATT_NOT_PERMITTED,
-								atval, len);
-
-	g_assert(h - start_handle + 1 == svc_size);
-
-	/* Add an SDP record for the above service */
-	sdp_handle = attrib_create_sdp(adapter->adapter, start_handle,
-								"Thermometer");
-	if (sdp_handle)
-		adapter->sdp_handles = g_slist_prepend(adapter->sdp_handles,
-						GUINT_TO_POINTER(sdp_handle));
-}
-
-static void register_manuf1_service(struct gatt_example_adapter *adapter,
-							uint16_t range[2])
-{
-	const char *manufacturer_name1 = "ACME Temperature Sensor";
-	const char *serial1 = "237495-3282-A";
-	uint16_t start_handle, h;
-	const int svc_size = 5;
-	uint8_t atval[256];
-	bt_uuid_t uuid;
-	int len;
-
-	bt_uuid16_create(&uuid, MANUFACTURER_SVC_UUID);
-	start_handle = attrib_db_find_avail(adapter->adapter, &uuid, svc_size);
-	if (start_handle == 0) {
-		error("Not enough free handles to register service");
-		return;
-	}
-
-	DBG("start_handle=0x%04x", start_handle);
-
-	h = start_handle;
-
-	/* Secondary Service: Manufacturer Service */
-	bt_uuid16_create(&uuid, GATT_SND_SVC_UUID);
-	put_le16(MANUFACTURER_SVC_UUID, &atval[0]);
-	attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED,
-								atval, 2);
-
-	/* Manufacturer name characteristic definition */
-	bt_uuid16_create(&uuid, GATT_CHARAC_UUID);
-	atval[0] = GATT_CHR_PROP_READ;
-	put_le16(h + 1, &atval[1]);
-	put_le16(MANUFACTURER_NAME_UUID, &atval[3]);
-	attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED,
-								atval, 5);
-
-	/* Manufacturer name characteristic value */
-	bt_uuid16_create(&uuid, MANUFACTURER_NAME_UUID);
-	len = strlen(manufacturer_name1);
-	strncpy((char *) atval, manufacturer_name1, len);
-	attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED,
-								atval, len);
-
-	/* Manufacturer serial number characteristic */
-	bt_uuid16_create(&uuid, GATT_CHARAC_UUID);
-	atval[0] = GATT_CHR_PROP_READ;
-	put_le16(h + 1, &atval[1]);
-	put_le16(MANUFACTURER_SERIAL_UUID, &atval[3]);
-	attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED,
-								atval, 5);
-
-	/* Manufacturer serial number characteristic value */
-	bt_uuid16_create(&uuid, MANUFACTURER_SERIAL_UUID);
-	len = strlen(serial1);
-	strncpy((char *) atval, serial1, len);
-	attrib_db_add(adapter->adapter, h, &uuid, ATT_NONE, ATT_NOT_PERMITTED,
-								atval, len);
-
-	g_assert(h - start_handle + 1 == svc_size);
-
-	range[0] = start_handle;
-	range[1] = start_handle + svc_size - 1;
-}
-
-static void register_manuf2_service(struct gatt_example_adapter *adapter,
-							uint16_t range[2])
-{
-	const char *manufacturer_name2 = "ACME Weighing Scales";
-	const char *serial2 = "11267-2327A00239";
-	uint16_t start_handle, h;
-	const int svc_size = 5;
-	uint8_t atval[256];
-	bt_uuid_t uuid;
-	int len;
-
-	bt_uuid16_create(&uuid, MANUFACTURER_SVC_UUID);
-	start_handle = attrib_db_find_avail(adapter->adapter, &uuid, svc_size);
-	if (start_handle == 0) {
-		error("Not enough free handles to register service");
-		return;
-	}
-
-	DBG("start_handle=0x%04x", start_handle);
-
-	h = start_handle;
-
-	/* Secondary Service: Manufacturer Service */
-	bt_uuid16_create(&uuid, GATT_SND_SVC_UUID);
-	put_le16(MANUFACTURER_SVC_UUID, &atval[0]);
-	attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED,
-								atval, 2);
-
-	/* Manufacturer name characteristic definition */
-	bt_uuid16_create(&uuid, GATT_CHARAC_UUID);
-	atval[0] = GATT_CHR_PROP_READ;
-	put_le16(h + 1, &atval[1]);
-	put_le16(MANUFACTURER_NAME_UUID, &atval[3]);
-	attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED,
-								atval, 5);
-
-	/* Manufacturer name attribute */
-	bt_uuid16_create(&uuid, MANUFACTURER_NAME_UUID);
-	len = strlen(manufacturer_name2);
-	strncpy((char *) atval, manufacturer_name2, len);
-	attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED,
-								atval, len);
-
-	/* Characteristic: serial number */
-	bt_uuid16_create(&uuid, GATT_CHARAC_UUID);
-	atval[0] = GATT_CHR_PROP_READ;
-	put_le16(h + 1, &atval[1]);
-	put_le16(MANUFACTURER_SERIAL_UUID, &atval[3]);
-	attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED,
-								atval, 5);
-
-	/* Serial number characteristic value */
-	bt_uuid16_create(&uuid, MANUFACTURER_SERIAL_UUID);
-	len = strlen(serial2);
-	strncpy((char *) atval, serial2, len);
-	attrib_db_add(adapter->adapter, h, &uuid, ATT_NONE, ATT_NOT_PERMITTED,
-								atval, len);
-
-	g_assert(h - start_handle + 1 == svc_size);
-
-	range[0] = start_handle;
-	range[1] = start_handle + svc_size - 1;
-}
-
-static void register_vendor_service(struct gatt_example_adapter *adapter,
-							uint16_t range[2])
-{
-	uint16_t start_handle, h;
-	const int svc_size = 3;
-	uint8_t atval[256];
-	bt_uuid_t uuid;
-
-	bt_uuid16_create(&uuid, VENDOR_SPECIFIC_SVC_UUID);
-	start_handle = attrib_db_find_avail(adapter->adapter, &uuid, svc_size);
-	if (start_handle == 0) {
-		error("Not enough free handles to register service");
-		return;
-	}
-
-	DBG("start_handle=0x%04x", start_handle);
-
-	h = start_handle;
-
-	/* Secondary Service: Vendor Specific Service */
-	bt_uuid16_create(&uuid, GATT_SND_SVC_UUID);
-	put_le16(VENDOR_SPECIFIC_SVC_UUID, &atval[0]);
-	attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED,
-								atval, 2);
-
-	/* Vendor Specific Type characteristic definition */
-	bt_uuid16_create(&uuid, GATT_CHARAC_UUID);
-	atval[0] = GATT_CHR_PROP_READ;
-	put_le16(h + 1, &atval[1]);
-	put_le16(VENDOR_SPECIFIC_TYPE_UUID, &atval[3]);
-	attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED,
-								atval, 5);
-
-	/* Vendor Specific Type characteristic value */
-	bt_uuid16_create(&uuid, VENDOR_SPECIFIC_TYPE_UUID);
-	atval[0] = 0x56;
-	atval[1] = 0x65;
-	atval[2] = 0x6E;
-	atval[3] = 0x64;
-	atval[4] = 0x6F;
-	atval[5] = 0x72;
-	attrib_db_add(adapter->adapter, h, &uuid, ATT_NONE, ATT_NOT_PERMITTED,
-								atval, 6);
-
-	g_assert(h - start_handle + 1 == svc_size);
-
-	range[0] = start_handle;
-	range[1] = start_handle + svc_size - 1;
-}
-
-static void register_weight_service(struct gatt_example_adapter *adapter,
-						const uint16_t vendor[2])
-{
-	const char *desc_weight = "Rucksack Weight";
-	const uint128_t char_weight_uuid_btorder = {
-		.data = { 0x80, 0x88, 0xF2, 0x18, 0x90, 0x2C, 0x45, 0x0B,
-			  0xB6, 0xC4, 0x62, 0x89, 0x1E, 0x8C, 0x25, 0xE9 } };
-	const uint128_t prim_weight_uuid_btorder = {
-		.data = { 0x4F, 0x0A, 0xC0, 0x96, 0x35, 0xD4, 0x49, 0x11,
-			  0x96, 0x31, 0xDE, 0xA8, 0xDC, 0x74, 0xEE, 0xFE } };
-	uint128_t prim_weight_uuid, char_weight_uuid;
-	uint16_t start_handle, h;
-	const int svc_size = 6;
-	uint32_t sdp_handle;
-	uint8_t atval[256];
-	bt_uuid_t uuid;
-	int len;
-
-	btoh128(&char_weight_uuid_btorder, &char_weight_uuid);
-	btoh128(&prim_weight_uuid_btorder, &prim_weight_uuid);
-	bt_uuid128_create(&uuid, prim_weight_uuid);
-	start_handle = attrib_db_find_avail(adapter->adapter, &uuid, svc_size);
-	if (start_handle == 0) {
-		error("Not enough free handles to register service");
-		return;
-	}
-
-	DBG("start_handle=0x%04x, vendor=0x%04x-0x%04x", start_handle,
-							vendor[0], vendor[1]);
-
-	h = start_handle;
-
-	/* Weight service: primary service definition */
-	bt_uuid16_create(&uuid, GATT_PRIM_SVC_UUID);
-	memcpy(atval, &prim_weight_uuid_btorder, 16);
-	attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED,
-								atval, 16);
-
-	if (vendor[0] && vendor[1]) {
-		/* Weight: include */
-		bt_uuid16_create(&uuid, GATT_INCLUDE_UUID);
-		put_le16(vendor[0], &atval[0]);
-		put_le16(vendor[1], &atval[2]);
-		put_le16(MANUFACTURER_SVC_UUID, &atval[4]);
-		attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE,
-						ATT_NOT_PERMITTED, atval, 6);
-	}
-
-	/* Weight: characteristic */
-	bt_uuid16_create(&uuid, GATT_CHARAC_UUID);
-	atval[0] = GATT_CHR_PROP_READ;
-	put_le16(h + 1, &atval[1]);
-	memcpy(&atval[3], &char_weight_uuid_btorder, 16);
-	attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED,
-								atval, 19);
-
-	/* Weight: characteristic value */
-	bt_uuid128_create(&uuid, char_weight_uuid);
-	atval[0] = 0x82;
-	atval[1] = 0x55;
-	atval[2] = 0x00;
-	atval[3] = 0x00;
-	attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED,
-								atval, 4);
-
-	/* Weight: characteristic format */
-	bt_uuid16_create(&uuid, GATT_CHARAC_FMT_UUID);
-	atval[0] = 0x08;
-	atval[1] = 0xFD;
-	put_le16(FMT_KILOGRAM_UUID, &atval[2]);
-	put_le16(BLUETOOTH_SIG_UUID, &atval[4]);
-	put_le16(FMT_HANGING_UUID, &atval[6]);
-	attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED,
-								atval, 8);
-
-	/* Weight: characteristic user description */
-	bt_uuid16_create(&uuid, GATT_CHARAC_USER_DESC_UUID);
-	len = strlen(desc_weight);
-	strncpy((char *) atval, desc_weight, len);
-	attrib_db_add(adapter->adapter, h, &uuid, ATT_NONE, ATT_NOT_PERMITTED,
-								atval, len);
-	g_assert(h - start_handle + 1 == svc_size);
-
-	/* Add an SDP record for the above service */
-	sdp_handle = attrib_create_sdp(adapter->adapter, start_handle,
-							"Weight Service");
-	if (sdp_handle)
-		adapter->sdp_handles = g_slist_prepend(adapter->sdp_handles,
-						GUINT_TO_POINTER(sdp_handle));
-}
-
-static int gatt_example_adapter_probe(struct btd_adapter *adapter)
-{
-	uint16_t manuf1_range[2] = {0, 0}, manuf2_range[2] = {0, 0};
-	uint16_t vendor_range[2] = {0, 0};
-	struct gatt_example_adapter *gadapter;
-
-	gadapter = g_new0(struct gatt_example_adapter, 1);
-	gadapter->adapter = btd_adapter_ref(adapter);
-
-	if (!register_battery_service(adapter)) {
-		DBG("Battery service could not be registered");
-		gatt_example_adapter_free(gadapter);
-		return -EIO;
-	}
-
-	register_manuf1_service(gadapter, manuf1_range);
-	register_manuf2_service(gadapter, manuf2_range);
-	register_termometer_service(gadapter, manuf1_range, manuf2_range);
-	register_vendor_service(gadapter, vendor_range);
-	register_weight_service(gadapter, vendor_range);
-
-	adapters = g_slist_append(adapters, gadapter);
-
-	return 0;
-}
-
-static void gatt_example_adapter_remove(struct btd_adapter *adapter)
-{
-	struct gatt_example_adapter *gadapter;
-	GSList *l;
-
-	l = g_slist_find_custom(adapters, adapter, adapter_cmp);
-	if (l == NULL)
-		return;
-
-	gadapter = l->data;
-	adapters = g_slist_remove(adapters, gadapter);
-	gatt_example_adapter_free(gadapter);
-}
-
-static struct btd_adapter_driver gatt_example_adapter_driver = {
-	.name	= "gatt-example-adapter-driver",
-	.probe	= gatt_example_adapter_probe,
-	.remove	= gatt_example_adapter_remove,
-};
-
-static int gatt_example_init(void)
-{
-	return btd_register_adapter_driver(&gatt_example_adapter_driver);
-}
-
-static void gatt_example_exit(void)
-{
-	btd_unregister_adapter_driver(&gatt_example_adapter_driver);
-}
-
-BLUETOOTH_PLUGIN_DEFINE(gatt_example, VERSION, BLUETOOTH_PLUGIN_PRIORITY_LOW,
-					gatt_example_init, gatt_example_exit)
-- 
2.7.4

--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux