* [PATCH 1/2] Added DeviceInformation GATT Client
2012-03-11 12:57 [PATCH 0/2] DeviceInfo and BatteryService Clients chen.ganir
@ 2012-03-11 12:57 ` chen.ganir
2012-03-12 0:29 ` Claudio Takahasi
2012-03-11 12:57 ` [PATCH 2/2] Added Battery Service " chen.ganir
2012-03-11 18:17 ` [PATCH 0/2] DeviceInfo and BatteryService Clients Marcel Holtmann
2 siblings, 1 reply; 7+ messages in thread
From: chen.ganir @ 2012-03-11 12:57 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Chen Ganir
From: Chen Ganir <chen.ganir@ti.com>
Added the DeviceInformation GATT Client plugin skeleton.
---
Makefile.am | 7 ++++
acinclude.m4 | 6 +++
deviceinfo/deviceinfo.c | 89 +++++++++++++++++++++++++++++++++++++++++++++
deviceinfo/deviceinfo.h | 26 +++++++++++++
deviceinfo/main.c | 60 ++++++++++++++++++++++++++++++
deviceinfo/manager.c | 92 +++++++++++++++++++++++++++++++++++++++++++++++
deviceinfo/manager.h | 25 +++++++++++++
7 files changed, 305 insertions(+), 0 deletions(-)
create mode 100644 deviceinfo/deviceinfo.c
create mode 100644 deviceinfo/deviceinfo.h
create mode 100644 deviceinfo/main.c
create mode 100644 deviceinfo/manager.c
create mode 100644 deviceinfo/manager.h
diff --git a/Makefile.am b/Makefile.am
index bd587eb..c2c61d6 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -244,6 +244,13 @@ builtin_sources += thermometer/main.c \
thermometer/thermometer.h thermometer/thermometer.c
endif
+if DEVICEINFOPLUGIN
+builtin_modules += deviceinfo
+builtin_sources += deviceinfo/main.c \
+ deviceinfo/manager.h deviceinfo/manager.c \
+ deviceinfo/deviceinfo.h deviceinfo/deviceinfo.c
+endif
+
builtin_modules += hciops mgmtops
builtin_sources += plugins/hciops.c plugins/mgmtops.c
diff --git a/acinclude.m4 b/acinclude.m4
index b0f790c..14b7a4c 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -220,6 +220,7 @@ AC_DEFUN([AC_ARG_BLUEZ], [
dbusoob_enable=no
wiimote_enable=no
thermometer_enable=no
+ deviceinfo_enable=no
AC_ARG_ENABLE(optimization, AC_HELP_STRING([--disable-optimization], [disable code optimization]), [
optimization_enable=${enableval}
@@ -372,6 +373,10 @@ AC_DEFUN([AC_ARG_BLUEZ], [
thermometer_enable=${enableval}
])
+ AC_ARG_ENABLE(deviceinfo, AC_HELP_STRING([--enable-deviceinfo], [enable deviceinfo plugin]), [
+ deviceinfo_enable=${enableval}
+ ])
+
if (test "${fortify_enable}" = "yes"); then
CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=2"
fi
@@ -429,4 +434,5 @@ AC_DEFUN([AC_ARG_BLUEZ], [
AM_CONDITIONAL(DBUSOOBPLUGIN, test "${dbusoob_enable}" = "yes")
AM_CONDITIONAL(WIIMOTEPLUGIN, test "${wiimote_enable}" = "yes")
AM_CONDITIONAL(THERMOMETERPLUGIN, test "${thermometer_enable}" = "yes")
+ AM_CONDITIONAL(DEVICEINFOPLUGIN, test "${deviceinfo_enable}" = "yes")
])
diff --git a/deviceinfo/deviceinfo.c b/deviceinfo/deviceinfo.c
new file mode 100644
index 0000000..30920e3
--- /dev/null
+++ b/deviceinfo/deviceinfo.c
@@ -0,0 +1,89 @@
+/*
+ *
+ * BlueZ - Bluetooth protocol stack for Linux
+ *
+ * Copyright (C) 2011 GSyC/LibreSoft, Universidad Rey Juan Carlos.
+ * Copyright (C) 2012 Texas Instruments, Inc.
+ *
+ * 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 <gdbus.h>
+#include <errno.h>
+#include <bluetooth/uuid.h>
+
+#include "dbus-common.h"
+#include "adapter.h"
+#include "device.h"
+#include "error.h"
+#include "log.h"
+#include "gattrib.h"
+#include "attio.h"
+#include "att.h"
+#include "gatt.h"
+#include "deviceinfo.h"
+#include "glib-compat.h"
+
+struct deviceinfo {
+ DBusConnection *conn; /* The connection to the bus */
+ struct btd_device *dev; /* Device reference */
+ GAttrib *attrib; /* GATT connection */
+};
+
+static GSList *deviceinfoservers = NULL;
+
+static gint cmp_device(gconstpointer a, gconstpointer b)
+{
+ const struct deviceinfo *d = a;
+ const struct btd_device *dev = b;
+
+ if (dev == d->dev)
+ return 0;
+
+ return -1;
+}
+
+int deviceinfo_register(DBusConnection *connection, struct btd_device *device,
+ struct att_primary *dattr)
+{
+ const gchar *path = device_get_path(device);
+ struct deviceinfo *d;
+
+ d = g_new0(struct deviceinfo, 1);
+ d->conn = dbus_connection_ref(connection);
+ d->dev = btd_device_ref(device);
+
+ deviceinfoservers = g_slist_prepend(deviceinfoservers, d);
+
+ return 0;
+}
+
+void deviceinfo_unregister(struct btd_device *device)
+{
+ struct deviceinfo *d;
+ GSList *l;
+
+ l = g_slist_find_custom(deviceinfoservers, device, cmp_device);
+ if (l == NULL)
+ return;
+
+ d = l->data;
+ deviceinfoservers = g_slist_remove(deviceinfoservers, d);
+}
diff --git a/deviceinfo/deviceinfo.h b/deviceinfo/deviceinfo.h
new file mode 100644
index 0000000..eedcf8f
--- /dev/null
+++ b/deviceinfo/deviceinfo.h
@@ -0,0 +1,26 @@
+/*
+ *
+ * BlueZ - Bluetooth protocol stack for Linux
+ *
+ * Copyright (C) 2011 GSyC/LibreSoft, Universidad Rey Juan Carlos.
+ * Copyright (C) 2012 Texas Instruments, Inc.
+ *
+ * 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
+ *
+ */
+
+int deviceinfo_register(DBusConnection *connection, struct btd_device *device,
+ struct att_primary *tattr);
+void deviceinfo_unregister(struct btd_device *device);
diff --git a/deviceinfo/main.c b/deviceinfo/main.c
new file mode 100644
index 0000000..3bf0e9c
--- /dev/null
+++ b/deviceinfo/main.c
@@ -0,0 +1,60 @@
+/*
+ *
+ * BlueZ - Bluetooth protocol stack for Linux
+ *
+ * Copyright (C) 2011 GSyC/LibreSoft, Universidad Rey Juan Carlos.
+ * Copyright (C) 2012 Texas Instruments, Inc.
+ *
+ * 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 <gdbus.h>
+
+#include "plugin.h"
+#include "manager.h"
+
+static DBusConnection *connection = NULL;
+
+static int deviceinfo_init(void)
+{
+ connection = dbus_bus_get(DBUS_BUS_SYSTEM, NULL);
+ if (connection == NULL)
+ return -EIO;
+
+ if (deviceinfo_manager_init(connection) < 0) {
+ dbus_connection_unref(connection);
+ return -EIO;
+ }
+
+ return 0;
+}
+
+static void deviceinfo_exit(void)
+{
+ deviceinfo_manager_exit();
+
+ dbus_connection_unref(connection);
+ connection = NULL;
+}
+
+BLUETOOTH_PLUGIN_DEFINE(deviceinfo, VERSION, BLUETOOTH_PLUGIN_PRIORITY_DEFAULT,
+ deviceinfo_init, deviceinfo_exit)
diff --git a/deviceinfo/manager.c b/deviceinfo/manager.c
new file mode 100644
index 0000000..334ef1e
--- /dev/null
+++ b/deviceinfo/manager.c
@@ -0,0 +1,92 @@
+/*
+ *
+ * BlueZ - Bluetooth protocol stack for Linux
+ *
+ * Copyright (C) 2011 GSyC/LibreSoft, Universidad Rey Juan Carlos.
+ * Copyright (C) 2012 Texas Instruments, Inc.
+ *
+ * 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
+ *
+ */
+
+#include <gdbus.h>
+#include <errno.h>
+#include <bluetooth/uuid.h>
+
+#include "adapter.h"
+#include "device.h"
+#include "att.h"
+#include "deviceinfo.h"
+#include "manager.h"
+
+#define DEVICE_INFORMATION_UUID "0000180a-0000-1000-8000-00805f9b34fb"
+
+static DBusConnection *connection = NULL;
+
+static gint primary_uuid_cmp(gconstpointer a, gconstpointer b)
+{
+ const struct att_primary *prim = a;
+ const char *uuid = b;
+
+ return g_strcmp0(prim->uuid, uuid);
+}
+
+static int deviceinfo_driver_probe(struct btd_device *device, GSList *uuids)
+{
+ struct att_primary *tattr;
+ GSList *primaries, *l;
+
+ primaries = btd_device_get_primaries(device);
+
+ l = g_slist_find_custom(primaries, DEVICE_INFORMATION_UUID,
+ primary_uuid_cmp);
+ if (l == NULL)
+ return -EINVAL;
+
+ tattr = l->data;
+
+ return deviceinfo_register(connection, device, tattr);
+}
+
+static void deviceinfo_driver_remove(struct btd_device *device)
+{
+ deviceinfo_unregister(device);
+}
+
+static struct btd_device_driver deviceinfo_device_driver = {
+ .name = "deviceinformation-device-driver",
+ .uuids = BTD_UUIDS(DEVICE_INFORMATION_UUID),
+ .probe = deviceinfo_driver_probe,
+ .remove = deviceinfo_driver_remove
+};
+
+int deviceinfo_manager_init(DBusConnection *conn)
+{
+ int ret;
+ ret = btd_register_device_driver(&deviceinfo_device_driver);
+ if (ret < 0)
+ return ret;
+
+ connection = dbus_connection_ref(conn);
+ return 0;
+}
+
+void deviceinfo_manager_exit(void)
+{
+ btd_unregister_device_driver(&deviceinfo_device_driver);
+
+ dbus_connection_unref(connection);
+ connection = NULL;
+}
diff --git a/deviceinfo/manager.h b/deviceinfo/manager.h
new file mode 100644
index 0000000..d0062fc
--- /dev/null
+++ b/deviceinfo/manager.h
@@ -0,0 +1,25 @@
+/*
+ *
+ * BlueZ - Bluetooth protocol stack for Linux
+ *
+ * Copyright (C) 2011 GSyC/LibreSoft, Universidad Rey Juan Carlos.
+ * Copyright (C) 2012 Texas Instruments, Inc.
+ *
+ * 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
+ *
+ */
+
+int deviceinfo_manager_init(DBusConnection *conn);
+void deviceinfo_manager_exit(void);
--
1.7.4.1
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: [PATCH 1/2] Added DeviceInformation GATT Client
2012-03-11 12:57 ` [PATCH 1/2] Added DeviceInformation GATT Client chen.ganir
@ 2012-03-12 0:29 ` Claudio Takahasi
2012-03-12 7:40 ` Ganir, Chen
0 siblings, 1 reply; 7+ messages in thread
From: Claudio Takahasi @ 2012-03-12 0:29 UTC (permalink / raw)
To: chen.ganir; +Cc: linux-bluetooth
Hi Chen Ganir:
On Sun, Mar 11, 2012 at 9:57 AM, <chen.ganir@gmail.com> wrote:
> From: Chen Ganir <chen.ganir@ti.com>
>
> Added the DeviceInformation GATT Client plugin skeleton.
> ---
> Makefile.am | 7 ++++
> acinclude.m4 | 6 +++
> deviceinfo/deviceinfo.c | 89 +++++++++++++++++++++++++++++++++++++++++++++
> deviceinfo/deviceinfo.h | 26 +++++++++++++
> deviceinfo/main.c | 60 ++++++++++++++++++++++++++++++
> deviceinfo/manager.c | 92 +++++++++++++++++++++++++++++++++++++++++++++++
> deviceinfo/manager.h | 25 +++++++++++++
> 7 files changed, 305 insertions(+), 0 deletions(-)
> create mode 100644 deviceinfo/deviceinfo.c
> create mode 100644 deviceinfo/deviceinfo.h
> create mode 100644 deviceinfo/main.c
> create mode 100644 deviceinfo/manager.c
> create mode 100644 deviceinfo/manager.h
>
> diff --git a/Makefile.am b/Makefile.am
> index bd587eb..c2c61d6 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -244,6 +244,13 @@ builtin_sources += thermometer/main.c \
> thermometer/thermometer.h thermometer/thermometer.c
> endif
>
> +if DEVICEINFOPLUGIN
> +builtin_modules += deviceinfo
> +builtin_sources += deviceinfo/main.c \
> + deviceinfo/manager.h deviceinfo/manager.c \
> + deviceinfo/deviceinfo.h deviceinfo/deviceinfo.c
> +endif
> +
> builtin_modules += hciops mgmtops
> builtin_sources += plugins/hciops.c plugins/mgmtops.c
>
> diff --git a/acinclude.m4 b/acinclude.m4
> index b0f790c..14b7a4c 100644
> --- a/acinclude.m4
> +++ b/acinclude.m4
> @@ -220,6 +220,7 @@ AC_DEFUN([AC_ARG_BLUEZ], [
> dbusoob_enable=no
> wiimote_enable=no
> thermometer_enable=no
> + deviceinfo_enable=no
>
> AC_ARG_ENABLE(optimization, AC_HELP_STRING([--disable-optimization], [disable code optimization]), [
> optimization_enable=${enableval}
> @@ -372,6 +373,10 @@ AC_DEFUN([AC_ARG_BLUEZ], [
> thermometer_enable=${enableval}
> ])
>
> + AC_ARG_ENABLE(deviceinfo, AC_HELP_STRING([--enable-deviceinfo], [enable deviceinfo plugin]), [
> + deviceinfo_enable=${enableval}
> + ])
> +
> if (test "${fortify_enable}" = "yes"); then
> CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=2"
> fi
> @@ -429,4 +434,5 @@ AC_DEFUN([AC_ARG_BLUEZ], [
> AM_CONDITIONAL(DBUSOOBPLUGIN, test "${dbusoob_enable}" = "yes")
> AM_CONDITIONAL(WIIMOTEPLUGIN, test "${wiimote_enable}" = "yes")
> AM_CONDITIONAL(THERMOMETERPLUGIN, test "${thermometer_enable}" = "yes")
> + AM_CONDITIONAL(DEVICEINFOPLUGIN, test "${deviceinfo_enable}" = "yes")
> ])
> diff --git a/deviceinfo/deviceinfo.c b/deviceinfo/deviceinfo.c
> new file mode 100644
> index 0000000..30920e3
> --- /dev/null
> +++ b/deviceinfo/deviceinfo.c
> @@ -0,0 +1,89 @@
> +/*
> + *
> + * BlueZ - Bluetooth protocol stack for Linux
> + *
> + * Copyright (C) 2011 GSyC/LibreSoft, Universidad Rey Juan Carlos.
> + * Copyright (C) 2012 Texas Instruments, Inc.
> + *
> + * 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 <gdbus.h>
> +#include <errno.h>
> +#include <bluetooth/uuid.h>
> +
> +#include "dbus-common.h"
> +#include "adapter.h"
> +#include "device.h"
> +#include "error.h"
> +#include "log.h"
> +#include "gattrib.h"
> +#include "attio.h"
> +#include "att.h"
> +#include "gatt.h"
> +#include "deviceinfo.h"
> +#include "glib-compat.h"
It seems that you are including some unnecessary headers.
> +
> +struct deviceinfo {
> + DBusConnection *conn; /* The connection to the bus */
> + struct btd_device *dev; /* Device reference */
> + GAttrib *attrib; /* GATT connection */
attrib is not being used.
> +};
> +
> +static GSList *deviceinfoservers = NULL;
> +
> +static gint cmp_device(gconstpointer a, gconstpointer b)
> +{
> + const struct deviceinfo *d = a;
> + const struct btd_device *dev = b;
> +
> + if (dev == d->dev)
> + return 0;
> +
> + return -1;
> +}
> +
> +int deviceinfo_register(DBusConnection *connection, struct btd_device *device,
> + struct att_primary *dattr)
> +{
> + const gchar *path = device_get_path(device);
path is not used
> + struct deviceinfo *d;
> +
> + d = g_new0(struct deviceinfo, 1);
> + d->conn = dbus_connection_ref(connection);
> + d->dev = btd_device_ref(device);
> +
> + deviceinfoservers = g_slist_prepend(deviceinfoservers, d);
> +
> + return 0;
> +}
> +
> +void deviceinfo_unregister(struct btd_device *device)
> +{
> + struct deviceinfo *d;
> + GSList *l;
> +
> + l = g_slist_find_custom(deviceinfoservers, device, cmp_device);
> + if (l == NULL)
> + return;
> +
> + d = l->data;
> + deviceinfoservers = g_slist_remove(deviceinfoservers, d);
memory leak(deviceinfo)
> +}
> diff --git a/deviceinfo/deviceinfo.h b/deviceinfo/deviceinfo.h
> new file mode 100644
> index 0000000..eedcf8f
> --- /dev/null
> +++ b/deviceinfo/deviceinfo.h
> @@ -0,0 +1,26 @@
> +/*
> + *
> + * BlueZ - Bluetooth protocol stack for Linux
> + *
> + * Copyright (C) 2011 GSyC/LibreSoft, Universidad Rey Juan Carlos.
> + * Copyright (C) 2012 Texas Instruments, Inc.
> + *
> + * 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
> + *
> + */
> +
> +int deviceinfo_register(DBusConnection *connection, struct btd_device *device,
> + struct att_primary *tattr);
> +void deviceinfo_unregister(struct btd_device *device);
> diff --git a/deviceinfo/main.c b/deviceinfo/main.c
> new file mode 100644
> index 0000000..3bf0e9c
> --- /dev/null
> +++ b/deviceinfo/main.c
> @@ -0,0 +1,60 @@
> +/*
> + *
> + * BlueZ - Bluetooth protocol stack for Linux
> + *
> + * Copyright (C) 2011 GSyC/LibreSoft, Universidad Rey Juan Carlos.
> + * Copyright (C) 2012 Texas Instruments, Inc.
> + *
> + * 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 <gdbus.h>
> +
> +#include "plugin.h"
> +#include "manager.h"
> +
> +static DBusConnection *connection = NULL;
> +
> +static int deviceinfo_init(void)
> +{
> + connection = dbus_bus_get(DBUS_BUS_SYSTEM, NULL);
DBusConnection reference is not being used. IMO, DIS doesn't need to
expose D-Bus properties or methods.
BR,
Claudio
^ permalink raw reply [flat|nested] 7+ messages in thread* RE: [PATCH 1/2] Added DeviceInformation GATT Client
2012-03-12 0:29 ` Claudio Takahasi
@ 2012-03-12 7:40 ` Ganir, Chen
0 siblings, 0 replies; 7+ messages in thread
From: Ganir, Chen @ 2012-03-12 7:40 UTC (permalink / raw)
To: Claudio Takahasi, chen.ganir@gmail.com; +Cc: linux-bluetooth@vger.kernel.org
Q2xhdWRpbw0KDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogbGludXgt
Ymx1ZXRvb3RoLW93bmVyQHZnZXIua2VybmVsLm9yZyBbbWFpbHRvOmxpbnV4LWJsdWV0b290aC0N
Cj4gb3duZXJAdmdlci5rZXJuZWwub3JnXSBPbiBCZWhhbGYgT2YgQ2xhdWRpbyBUYWthaGFzaQ0K
PiBTZW50OiBNb25kYXksIE1hcmNoIDEyLCAyMDEyIDI6MjkgQU0NCj4gVG86IGNoZW4uZ2FuaXJA
Z21haWwuY29tDQo+IENjOiBsaW51eC1ibHVldG9vdGhAdmdlci5rZXJuZWwub3JnDQo+IFN1Ympl
Y3Q6IFJlOiBbUEFUQ0ggMS8yXSBBZGRlZCBEZXZpY2VJbmZvcm1hdGlvbiBHQVRUIENsaWVudA0K
PiANCj4gSGkgQ2hlbiBHYW5pcjoNCj4gDQo+IE9uIFN1biwgTWFyIDExLCAyMDEyIGF0IDk6NTcg
QU0sICA8Y2hlbi5nYW5pckBnbWFpbC5jb20+IHdyb3RlOg0KPiA+IEZyb206IENoZW4gR2FuaXIg
PGNoZW4uZ2FuaXJAdGkuY29tPg0KPiA+DQo+ID4gQWRkZWQgdGhlIERldmljZUluZm9ybWF0aW9u
IEdBVFQgQ2xpZW50IHBsdWdpbiBza2VsZXRvbi4NCj4gPiAtLS0NCj4gPiDCoE1ha2VmaWxlLmFt
IMKgIMKgIMKgIMKgIMKgIMKgIHwgwqAgwqA3ICsrKysNCj4gPiDCoGFjaW5jbHVkZS5tNCDCoCDC
oCDCoCDCoCDCoCDCoHwgwqAgwqA2ICsrKw0KPiA+IMKgZGV2aWNlaW5mby9kZXZpY2VpbmZvLmMg
fCDCoCA4OQ0KPiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysN
Cj4gPiDCoGRldmljZWluZm8vZGV2aWNlaW5mby5oIHwgwqAgMjYgKysrKysrKysrKysrKw0KPiA+
IMKgZGV2aWNlaW5mby9tYWluLmMgwqAgwqAgwqAgfCDCoCA2MCArKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysNCj4gPiDCoGRldmljZWluZm8vbWFuYWdlci5jIMKgIMKgfCDCoCA5Mg0KPiAr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPiA+IMKgZGV2
aWNlaW5mby9tYW5hZ2VyLmggwqAgwqB8IMKgIDI1ICsrKysrKysrKysrKysNCj4gPiDCoDcgZmls
ZXMgY2hhbmdlZCwgMzA1IGluc2VydGlvbnMoKyksIDAgZGVsZXRpb25zKC0pDQo+ID4gwqBjcmVh
dGUgbW9kZSAxMDA2NDQgZGV2aWNlaW5mby9kZXZpY2VpbmZvLmMNCj4gPiDCoGNyZWF0ZSBtb2Rl
IDEwMDY0NCBkZXZpY2VpbmZvL2RldmljZWluZm8uaA0KPiA+IMKgY3JlYXRlIG1vZGUgMTAwNjQ0
IGRldmljZWluZm8vbWFpbi5jDQo+ID4gwqBjcmVhdGUgbW9kZSAxMDA2NDQgZGV2aWNlaW5mby9t
YW5hZ2VyLmMNCj4gPiDCoGNyZWF0ZSBtb2RlIDEwMDY0NCBkZXZpY2VpbmZvL21hbmFnZXIuaA0K
PiA+DQo+ID4gZGlmZiAtLWdpdCBhL01ha2VmaWxlLmFtIGIvTWFrZWZpbGUuYW0NCj4gPiBpbmRl
eCBiZDU4N2ViLi5jMmM2MWQ2IDEwMDY0NA0KPiA+IC0tLSBhL01ha2VmaWxlLmFtDQo+ID4gKysr
IGIvTWFrZWZpbGUuYW0NCj4gPiBAQCAtMjQ0LDYgKzI0NCwxMyBAQCBidWlsdGluX3NvdXJjZXMg
Kz0gdGhlcm1vbWV0ZXIvbWFpbi5jIFwNCj4gPiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoHRoZXJtb21ldGVyL3RoZXJtb21ldGVyLmgNCj4gdGhlcm1vbWV0ZXIvdGhlcm1vbWV0
ZXIuYw0KPiA+IMKgZW5kaWYNCj4gPg0KPiA+ICtpZiBERVZJQ0VJTkZPUExVR0lODQo+ID4gK2J1
aWx0aW5fbW9kdWxlcyArPSBkZXZpY2VpbmZvDQo+ID4gK2J1aWx0aW5fc291cmNlcyArPSBkZXZp
Y2VpbmZvL21haW4uYyBcDQo+ID4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBk
ZXZpY2VpbmZvL21hbmFnZXIuaCBkZXZpY2VpbmZvL21hbmFnZXIuYyBcDQo+ID4gKyDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBkZXZpY2VpbmZvL2RldmljZWluZm8uaA0KPiBkZXZp
Y2VpbmZvL2RldmljZWluZm8uYw0KPiA+ICtlbmRpZg0KPiA+ICsNCj4gPiDCoGJ1aWx0aW5fbW9k
dWxlcyArPSBoY2lvcHMgbWdtdG9wcw0KPiA+IMKgYnVpbHRpbl9zb3VyY2VzICs9IHBsdWdpbnMv
aGNpb3BzLmMgcGx1Z2lucy9tZ210b3BzLmMNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9hY2luY2x1
ZGUubTQgYi9hY2luY2x1ZGUubTQNCj4gPiBpbmRleCBiMGY3OTBjLi4xNGI3YTRjIDEwMDY0NA0K
PiA+IC0tLSBhL2FjaW5jbHVkZS5tNA0KPiA+ICsrKyBiL2FjaW5jbHVkZS5tNA0KPiA+IEBAIC0y
MjAsNiArMjIwLDcgQEAgQUNfREVGVU4oW0FDX0FSR19CTFVFWl0sIFsNCj4gPiDCoCDCoCDCoCDC
oGRidXNvb2JfZW5hYmxlPW5vDQo+ID4gwqAgwqAgwqAgwqB3aWltb3RlX2VuYWJsZT1ubw0KPiA+
IMKgIMKgIMKgIMKgdGhlcm1vbWV0ZXJfZW5hYmxlPW5vDQo+ID4gKyDCoCDCoCDCoCBkZXZpY2Vp
bmZvX2VuYWJsZT1ubw0KPiA+DQo+ID4gwqAgwqAgwqAgwqBBQ19BUkdfRU5BQkxFKG9wdGltaXph
dGlvbiwgQUNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS0NCj4gb3B0aW1pemF0aW9uXSwgW2Rpc2Fi
bGUgY29kZSBvcHRpbWl6YXRpb25dKSwgWw0KPiA+IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgb3B0
aW1pemF0aW9uX2VuYWJsZT0ke2VuYWJsZXZhbH0NCj4gPiBAQCAtMzcyLDYgKzM3MywxMCBAQCBB
Q19ERUZVTihbQUNfQVJHX0JMVUVaXSwgWw0KPiA+IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgdGhl
cm1vbWV0ZXJfZW5hYmxlPSR7ZW5hYmxldmFsfQ0KPiA+IMKgIMKgIMKgIMKgXSkNCj4gPg0KPiA+
ICsgwqAgwqAgwqAgQUNfQVJHX0VOQUJMRShkZXZpY2VpbmZvLCBBQ19IRUxQX1NUUklORyhbLS1l
bmFibGUtDQo+IGRldmljZWluZm9dLCBbZW5hYmxlIGRldmljZWluZm8gcGx1Z2luXSksIFsNCj4g
PiArIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGRldmljZWluZm9fZW5hYmxlPSR7ZW5hYmxldmFsfQ0K
PiA+ICsgwqAgwqAgwqAgXSkNCj4gPiArDQo+ID4gwqAgwqAgwqAgwqBpZiAodGVzdCAiJHtmb3J0
aWZ5X2VuYWJsZX0iID0gInllcyIpOyB0aGVuDQo+ID4gwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBD
RkxBR1M9IiRDRkxBR1MgLURfRk9SVElGWV9TT1VSQ0U9MiINCj4gPiDCoCDCoCDCoCDCoGZpDQo+
ID4gQEAgLTQyOSw0ICs0MzQsNSBAQCBBQ19ERUZVTihbQUNfQVJHX0JMVUVaXSwgWw0KPiA+IMKg
IMKgIMKgIMKgQU1fQ09ORElUSU9OQUwoREJVU09PQlBMVUdJTiwgdGVzdCAiJHtkYnVzb29iX2Vu
YWJsZX0iID0NCj4gInllcyIpDQo+ID4gwqAgwqAgwqAgwqBBTV9DT05ESVRJT05BTChXSUlNT1RF
UExVR0lOLCB0ZXN0ICIke3dpaW1vdGVfZW5hYmxlfSIgPQ0KPiAieWVzIikNCj4gPiDCoCDCoCDC
oCDCoEFNX0NPTkRJVElPTkFMKFRIRVJNT01FVEVSUExVR0lOLCB0ZXN0ICIke3RoZXJtb21ldGVy
X2VuYWJsZX0iDQo+ID0gInllcyIpDQo+ID4gKyDCoCDCoCDCoCBBTV9DT05ESVRJT05BTChERVZJ
Q0VJTkZPUExVR0lOLCB0ZXN0ICIke2RldmljZWluZm9fZW5hYmxlfSINCj4gPSAieWVzIikNCj4g
PiDCoF0pDQo+ID4gZGlmZiAtLWdpdCBhL2RldmljZWluZm8vZGV2aWNlaW5mby5jIGIvZGV2aWNl
aW5mby9kZXZpY2VpbmZvLmMNCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+IGluZGV4IDAw
MDAwMDAuLjMwOTIwZTMNCj4gPiAtLS0gL2Rldi9udWxsDQo+ID4gKysrIGIvZGV2aWNlaW5mby9k
ZXZpY2VpbmZvLmMNCj4gPiBAQCAtMCwwICsxLDg5IEBADQo+ID4gKy8qDQo+ID4gKyAqDQo+ID4g
KyAqIMKgQmx1ZVogLSBCbHVldG9vdGggcHJvdG9jb2wgc3RhY2sgZm9yIExpbnV4DQo+ID4gKyAq
DQo+ID4gKyAqIMKgQ29weXJpZ2h0IChDKSAyMDExIEdTeUMvTGlicmVTb2Z0LCBVbml2ZXJzaWRh
ZCBSZXkgSnVhbiBDYXJsb3MuDQo+ID4gKyAqIMKgQ29weXJpZ2h0IChDKSAyMDEyIFRleGFzIElu
c3RydW1lbnRzLCBJbmMuDQo+ID4gKyAqDQo+ID4gKyAqIMKgVGhpcyBwcm9ncmFtIGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcg0KPiBtb2RpZnkNCj4gPiAr
ICogwqBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGFzDQo+IHB1Ymxpc2hlZCBieQ0KPiA+ICsgKiDCoHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsDQo+IG9yDQo+ID4gKyAqIMKgKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCj4gPiArICoNCj4gPiArICogwqBUaGlz
IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwNCj4gPiArICogwqBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg
aW1wbGllZCB3YXJyYW50eSBvZg0KPiA+ICsgKiDCoE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gwqBTZWUgdGhlDQo+ID4gKyAqIMKgR05VIEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCj4gPiArICoNCj4gPiArICogwqBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMN
Cj4gTGljZW5zZQ0KPiA+ICsgKiDCoGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdy
aXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQo+ID4gKyAqIMKgRm91bmRhdGlvbiwgSW5jLiwgNTEg
RnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BDQo+IMKgMDIxMTAtMTMwMSDCoFVT
QQ0KPiA+ICsgKg0KPiA+ICsgKi8NCj4gPiArDQo+ID4gKyNpZmRlZiBIQVZFX0NPTkZJR19IDQo+
ID4gKyNpbmNsdWRlIDxjb25maWcuaD4NCj4gPiArI2VuZGlmDQo+ID4gKw0KPiA+ICsjaW5jbHVk
ZSA8Z2RidXMuaD4NCj4gPiArI2luY2x1ZGUgPGVycm5vLmg+DQo+ID4gKyNpbmNsdWRlIDxibHVl
dG9vdGgvdXVpZC5oPg0KPiA+ICsNCj4gPiArI2luY2x1ZGUgImRidXMtY29tbW9uLmgiDQo+ID4g
KyNpbmNsdWRlICJhZGFwdGVyLmgiDQo+ID4gKyNpbmNsdWRlICJkZXZpY2UuaCINCj4gPiArI2lu
Y2x1ZGUgImVycm9yLmgiDQo+ID4gKyNpbmNsdWRlICJsb2cuaCINCj4gPiArI2luY2x1ZGUgImdh
dHRyaWIuaCINCj4gPiArI2luY2x1ZGUgImF0dGlvLmgiDQo+ID4gKyNpbmNsdWRlICJhdHQuaCIN
Cj4gPiArI2luY2x1ZGUgImdhdHQuaCINCj4gPiArI2luY2x1ZGUgImRldmljZWluZm8uaCINCj4g
PiArI2luY2x1ZGUgImdsaWItY29tcGF0LmgiDQo+IA0KPiBJdCBzZWVtcyB0aGF0IHlvdSBhcmUg
aW5jbHVkaW5nIHNvbWUgdW5uZWNlc3NhcnkgaGVhZGVycy4NCg0KV2lsbCBjaGVjayB0aGF0IGFn
YWluLg0KDQo+IA0KPiA+ICsNCj4gPiArc3RydWN0IGRldmljZWluZm8gew0KPiA+ICsgwqAgwqAg
wqAgREJ1c0Nvbm5lY3Rpb24gwqAgwqAgwqAgwqAgwqAqY29ubjsgwqAgwqAgwqAgwqAgwqAvKiBU
aGUgY29ubmVjdGlvbiB0bw0KPiB0aGUgYnVzICovDQo+ID4gKyDCoCDCoCDCoCBzdHJ1Y3QgYnRk
X2RldmljZSDCoCDCoCDCoCAqZGV2OyDCoCDCoCDCoCDCoCDCoCAvKiBEZXZpY2UgcmVmZXJlbmNl
DQo+ICovDQo+ID4gKyDCoCDCoCDCoCBHQXR0cmliIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICph
dHRyaWI7IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgLyogR0FUVA0KPiBjb25uZWN0aW9uICovDQo+
IA0KPiBhdHRyaWIgaXMgbm90IGJlaW5nIHVzZWQuDQoNCk5vdCB5ZXQsIHdpbGwgYmUgdXNlZCBs
YXRlci4gSSB3aWxsIHJlbW92ZSB0aGlzIGZvciBub3cuDQoNCj4gDQo+ID4gK307DQo+ID4gKw0K
PiA+ICtzdGF0aWMgR1NMaXN0ICpkZXZpY2VpbmZvc2VydmVycyA9IE5VTEw7DQo+ID4gKw0KPiA+
ICtzdGF0aWMgZ2ludCBjbXBfZGV2aWNlKGdjb25zdHBvaW50ZXIgYSwgZ2NvbnN0cG9pbnRlciBi
KQ0KPiA+ICt7DQo+ID4gKyDCoCDCoCDCoCBjb25zdCBzdHJ1Y3QgZGV2aWNlaW5mbyAqZCA9IGE7
DQo+ID4gKyDCoCDCoCDCoCBjb25zdCBzdHJ1Y3QgYnRkX2RldmljZSAqZGV2ID0gYjsNCj4gPiAr
DQo+ID4gKyDCoCDCoCDCoCBpZiAoZGV2ID09IGQtPmRldikNCj4gPiArIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIHJldHVybiAwOw0KPiA+ICsNCj4gPiArIMKgIMKgIMKgIHJldHVybiAtMTsNCj4gPiAr
fQ0KPiA+ICsNCj4gPiAraW50IGRldmljZWluZm9fcmVnaXN0ZXIoREJ1c0Nvbm5lY3Rpb24gKmNv
bm5lY3Rpb24sIHN0cnVjdA0KPiBidGRfZGV2aWNlICpkZXZpY2UsDQo+ID4gKyDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCBzdHJ1Y3QgYXR0X3ByaW1hcnkNCj4gKmRhdHRyKQ0KPiA+ICt7DQo+ID4gKyDCoCDCoCDCoCBj
b25zdCBnY2hhciAqcGF0aCA9IGRldmljZV9nZXRfcGF0aChkZXZpY2UpOw0KPiANCj4gcGF0aCBp
cyBub3QgdXNlZA0KDQpTdXJlLCB3aWxsIGZpeCB0aGF0IGFzIHdlbGwuDQoNCj4gDQo+ID4gKyDC
oCDCoCDCoCBzdHJ1Y3QgZGV2aWNlaW5mbyAqZDsNCj4gPiArDQo+ID4gKyDCoCDCoCDCoCBkID0g
Z19uZXcwKHN0cnVjdCBkZXZpY2VpbmZvLCAxKTsNCj4gPiArIMKgIMKgIMKgIGQtPmNvbm4gPSBk
YnVzX2Nvbm5lY3Rpb25fcmVmKGNvbm5lY3Rpb24pOw0KPiA+ICsgwqAgwqAgwqAgZC0+ZGV2ID0g
YnRkX2RldmljZV9yZWYoZGV2aWNlKTsNCj4gPiArDQo+ID4gKyDCoCDCoCDCoCBkZXZpY2VpbmZv
c2VydmVycyA9IGdfc2xpc3RfcHJlcGVuZChkZXZpY2VpbmZvc2VydmVycywgZCk7DQo+ID4gKw0K
PiA+ICsgwqAgwqAgwqAgcmV0dXJuIDA7DQo+ID4gK30NCj4gPiArDQo+ID4gK3ZvaWQgZGV2aWNl
aW5mb191bnJlZ2lzdGVyKHN0cnVjdCBidGRfZGV2aWNlICpkZXZpY2UpDQo+ID4gK3sNCj4gPiAr
IMKgIMKgIMKgIHN0cnVjdCBkZXZpY2VpbmZvICpkOw0KPiA+ICsgwqAgwqAgwqAgR1NMaXN0ICps
Ow0KPiA+ICsNCj4gPiArIMKgIMKgIMKgIGwgPSBnX3NsaXN0X2ZpbmRfY3VzdG9tKGRldmljZWlu
Zm9zZXJ2ZXJzLCBkZXZpY2UsDQo+IGNtcF9kZXZpY2UpOw0KPiA+ICsgwqAgwqAgwqAgaWYgKGwg
PT0gTlVMTCkNCj4gPiArIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHJldHVybjsNCj4gPiArDQo+ID4g
KyDCoCDCoCDCoCBkID0gbC0+ZGF0YTsNCj4gPiArIMKgIMKgIMKgIGRldmljZWluZm9zZXJ2ZXJz
ID0gZ19zbGlzdF9yZW1vdmUoZGV2aWNlaW5mb3NlcnZlcnMsIGQpOw0KPiANCj4gbWVtb3J5IGxl
YWsoZGV2aWNlaW5mbykNCj4gDQo+ID4gK30NCj4gPiBkaWZmIC0tZ2l0IGEvZGV2aWNlaW5mby9k
ZXZpY2VpbmZvLmggYi9kZXZpY2VpbmZvL2RldmljZWluZm8uaA0KPiA+IG5ldyBmaWxlIG1vZGUg
MTAwNjQ0DQo+ID4gaW5kZXggMDAwMDAwMC4uZWVkY2Y4Zg0KPiA+IC0tLSAvZGV2L251bGwNCj4g
PiArKysgYi9kZXZpY2VpbmZvL2RldmljZWluZm8uaA0KPiA+IEBAIC0wLDAgKzEsMjYgQEANCj4g
PiArLyoNCj4gPiArICoNCj4gPiArICogwqBCbHVlWiAtIEJsdWV0b290aCBwcm90b2NvbCBzdGFj
ayBmb3IgTGludXgNCj4gPiArICoNCj4gPiArICogwqBDb3B5cmlnaHQgKEMpIDIwMTEgR1N5Qy9M
aWJyZVNvZnQsIFVuaXZlcnNpZGFkIFJleSBKdWFuIENhcmxvcy4NCj4gPiArICogwqBDb3B5cmln
aHQgKEMpIDIwMTIgVGV4YXMgSW5zdHJ1bWVudHMsIEluYy4NCj4gPiArICoNCj4gPiArICogwqBU
aGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yDQo+IG1vZGlmeQ0KPiA+ICsgKiDCoGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgYXMNCj4gcHVibGlzaGVkIGJ5DQo+ID4gKyAqIMKgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwN
Cj4gb3INCj4gPiArICogwqAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLg0KPiA+
ICsgKg0KPiA+ICsgKiDCoFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KPiA+ICsgKiDCoGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U
WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQo+ID4gKyAqIMKgTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiDCoFNlZSB0aGUN
Cj4gPiArICogwqBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0K
PiA+ICsgKg0KPiA+ICsgKiDCoFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBHZW5lcmFsIFB1YmxpYw0KPiBMaWNlbnNlDQo+ID4gKyAqIMKgYWxvbmcgd2l0aCB0aGlz
IHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCj4gPiArICogwqBG
b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEN
Cj4gwqAwMjExMC0xMzAxIMKgVVNBDQo+ID4gKyAqDQo+ID4gKyAqLw0KPiA+ICsNCj4gPiAraW50
IGRldmljZWluZm9fcmVnaXN0ZXIoREJ1c0Nvbm5lY3Rpb24gKmNvbm5lY3Rpb24sIHN0cnVjdA0K
PiBidGRfZGV2aWNlICpkZXZpY2UsDQo+ID4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBzdHJ1Y3QgYXR0X3ByaW1h
cnkNCj4gKnRhdHRyKTsNCj4gPiArdm9pZCBkZXZpY2VpbmZvX3VucmVnaXN0ZXIoc3RydWN0IGJ0
ZF9kZXZpY2UgKmRldmljZSk7DQo+ID4gZGlmZiAtLWdpdCBhL2RldmljZWluZm8vbWFpbi5jIGIv
ZGV2aWNlaW5mby9tYWluLmMNCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+IGluZGV4IDAw
MDAwMDAuLjNiZjBlOWMNCj4gPiAtLS0gL2Rldi9udWxsDQo+ID4gKysrIGIvZGV2aWNlaW5mby9t
YWluLmMNCj4gPiBAQCAtMCwwICsxLDYwIEBADQo+ID4gKy8qDQo+ID4gKyAqDQo+ID4gKyAqIMKg
Qmx1ZVogLSBCbHVldG9vdGggcHJvdG9jb2wgc3RhY2sgZm9yIExpbnV4DQo+ID4gKyAqDQo+ID4g
KyAqIMKgQ29weXJpZ2h0IChDKSAyMDExIEdTeUMvTGlicmVTb2Z0LCBVbml2ZXJzaWRhZCBSZXkg
SnVhbiBDYXJsb3MuDQo+ID4gKyAqIMKgQ29weXJpZ2h0IChDKSAyMDEyIFRleGFzIEluc3RydW1l
bnRzLCBJbmMuDQo+ID4gKyAqDQo+ID4gKyAqIMKgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcg0KPiBtb2RpZnkNCj4gPiArICogwqBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzDQo+
IHB1Ymxpc2hlZCBieQ0KPiA+ICsgKiDCoHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp
dGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsDQo+IG9yDQo+ID4gKyAqIMKgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCj4gPiArICoNCj4gPiArICogwqBUaGlzIHByb2dy
YW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCj4g
PiArICogwqBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZg0KPiA+ICsgKiDCoE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRS4gwqBTZWUgdGhlDQo+ID4gKyAqIMKgR05VIEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCj4gPiArICoNCj4gPiArICogwqBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMNCj4gTGlj
ZW5zZQ0KPiA+ICsgKiDCoGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRv
IHRoZSBGcmVlIFNvZnR3YXJlDQo+ID4gKyAqIMKgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmts
aW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BDQo+IMKgMDIxMTAtMTMwMSDCoFVTQQ0KPiA+
ICsgKg0KPiA+ICsgKi8NCj4gPiArDQo+ID4gKyNpZmRlZiBIQVZFX0NPTkZJR19IDQo+ID4gKyNp
bmNsdWRlIDxjb25maWcuaD4NCj4gPiArI2VuZGlmDQo+ID4gKw0KPiA+ICsjaW5jbHVkZSA8Z2xp
Yi5oPg0KPiA+ICsjaW5jbHVkZSA8ZXJybm8uaD4NCj4gPiArI2luY2x1ZGUgPGdkYnVzLmg+DQo+
ID4gKw0KPiA+ICsjaW5jbHVkZSAicGx1Z2luLmgiDQo+ID4gKyNpbmNsdWRlICJtYW5hZ2VyLmgi
DQo+ID4gKw0KPiA+ICtzdGF0aWMgREJ1c0Nvbm5lY3Rpb24gKmNvbm5lY3Rpb24gPSBOVUxMOw0K
PiA+ICsNCj4gPiArc3RhdGljIGludCBkZXZpY2VpbmZvX2luaXQodm9pZCkNCj4gPiArew0KPiA+
ICsgwqAgwqAgwqAgY29ubmVjdGlvbiA9IGRidXNfYnVzX2dldChEQlVTX0JVU19TWVNURU0sIE5V
TEwpOw0KPiANCj4gREJ1c0Nvbm5lY3Rpb24gcmVmZXJlbmNlIGlzIG5vdCBiZWluZyB1c2VkLiBJ
TU8sIERJUyBkb2Vzbid0IG5lZWQgdG8NCj4gZXhwb3NlIEQtQnVzIHByb3BlcnRpZXMgb3IgbWV0
aG9kcy4NCg0KQ29ycmVjdCwgd2UgZG8gbm90IG5lZWQgRC1CdXMgaGVyZSBhdCBhbGwuDQo+IA0K
PiBCUiwNCj4gQ2xhdWRpbw0KPiAtLQ0KPiBUbyB1bnN1YnNjcmliZSBmcm9tIHRoaXMgbGlzdDog
c2VuZCB0aGUgbGluZSAidW5zdWJzY3JpYmUgbGludXgtDQo+IGJsdWV0b290aCIgaW4NCj4gdGhl
IGJvZHkgb2YgYSBtZXNzYWdlIHRvIG1ham9yZG9tb0B2Z2VyLmtlcm5lbC5vcmcNCj4gTW9yZSBt
YWpvcmRvbW8gaW5mbyBhdCAgaHR0cDovL3ZnZXIua2VybmVsLm9yZy9tYWpvcmRvbW8taW5mby5o
dG1sDQoNClRoYW5rcyBmb3IgdGhlIGNvbW1lbnRzLiBJJ2xsIHNlbmQgYSBzZWNvbmQgdmVyc2lv
biBvZiB0aGUgcGF0Y2ggc2V0IGluIGEgbWludXRlIG9yIHR3by4NCg0KQ2hlbiBHYW5pcg0KVGV4
YXMgSW5zdHJ1bWVudHMNCg==
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 2/2] Added Battery Service GATT Client
2012-03-11 12:57 [PATCH 0/2] DeviceInfo and BatteryService Clients chen.ganir
2012-03-11 12:57 ` [PATCH 1/2] Added DeviceInformation GATT Client chen.ganir
@ 2012-03-11 12:57 ` chen.ganir
2012-03-11 18:17 ` [PATCH 0/2] DeviceInfo and BatteryService Clients Marcel Holtmann
2 siblings, 0 replies; 7+ messages in thread
From: chen.ganir @ 2012-03-11 12:57 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Chen Ganir
From: Chen Ganir <chen.ganir@ti.com>
Added support for the Battery Service Gatt Client side.
---
Makefile.am | 7 +++
acinclude.m4 | 6 +++
batterystate/batterystate.c | 89 +++++++++++++++++++++++++++++++++++++++++
batterystate/batterystate.h | 26 ++++++++++++
batterystate/main.c | 60 ++++++++++++++++++++++++++++
batterystate/manager.c | 92 +++++++++++++++++++++++++++++++++++++++++++
batterystate/manager.h | 25 ++++++++++++
7 files changed, 305 insertions(+), 0 deletions(-)
create mode 100644 batterystate/batterystate.c
create mode 100644 batterystate/batterystate.h
create mode 100644 batterystate/main.c
create mode 100644 batterystate/manager.c
create mode 100644 batterystate/manager.h
diff --git a/Makefile.am b/Makefile.am
index c2c61d6..10fd078 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -251,6 +251,13 @@ builtin_sources += deviceinfo/main.c \
deviceinfo/deviceinfo.h deviceinfo/deviceinfo.c
endif
+if BATTERYSTATEPLUGIN
+builtin_modules += batterystate
+builtin_sources += batterystate/main.c \
+ batterystate/manager.h batterystate/manager.c \
+ batterystate/batterystate.h batterystate/batterystate.c
+endif
+
builtin_modules += hciops mgmtops
builtin_sources += plugins/hciops.c plugins/mgmtops.c
diff --git a/acinclude.m4 b/acinclude.m4
index 14b7a4c..b33b4bf 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -221,6 +221,7 @@ AC_DEFUN([AC_ARG_BLUEZ], [
wiimote_enable=no
thermometer_enable=no
deviceinfo_enable=no
+ batterystate_enable=no
AC_ARG_ENABLE(optimization, AC_HELP_STRING([--disable-optimization], [disable code optimization]), [
optimization_enable=${enableval}
@@ -377,6 +378,10 @@ AC_DEFUN([AC_ARG_BLUEZ], [
deviceinfo_enable=${enableval}
])
+ AC_ARG_ENABLE(batterystate, AC_HELP_STRING([--enable-batterystate], [enable batterystate plugin]), [
+ batterystate_enable=${enableval}
+ ])
+
if (test "${fortify_enable}" = "yes"); then
CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=2"
fi
@@ -435,4 +440,5 @@ AC_DEFUN([AC_ARG_BLUEZ], [
AM_CONDITIONAL(WIIMOTEPLUGIN, test "${wiimote_enable}" = "yes")
AM_CONDITIONAL(THERMOMETERPLUGIN, test "${thermometer_enable}" = "yes")
AM_CONDITIONAL(DEVICEINFOPLUGIN, test "${deviceinfo_enable}" = "yes")
+ AM_CONDITIONAL(BATTERYSTATEPLUGIN, test "${batterystate_enable}" = "yes")
])
diff --git a/batterystate/batterystate.c b/batterystate/batterystate.c
new file mode 100644
index 0000000..54e47fb
--- /dev/null
+++ b/batterystate/batterystate.c
@@ -0,0 +1,89 @@
+/*
+ *
+ * BlueZ - Bluetooth protocol stack for Linux
+ *
+ * Copyright (C) 2011 GSyC/LibreSoft, Universidad Rey Juan Carlos.
+ * Copyright (C) 2012 Texas Instruments, Inc.
+ *
+ * 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 <gdbus.h>
+#include <errno.h>
+#include <bluetooth/uuid.h>
+
+#include "dbus-common.h"
+#include "adapter.h"
+#include "device.h"
+#include "error.h"
+#include "log.h"
+#include "gattrib.h"
+#include "attio.h"
+#include "att.h"
+#include "gatt.h"
+#include "batterystate.h"
+#include "glib-compat.h"
+
+struct batterystate {
+ DBusConnection *conn; /* The connection to the bus */
+ struct btd_device *dev; /* Device reference */
+ GAttrib *attrib; /* GATT connection */
+};
+
+static GSList *batteryservices = NULL;
+
+static gint cmp_device(gconstpointer a, gconstpointer b)
+{
+ const struct batterystate *bs = a;
+ const struct btd_device *dev = b;
+
+ if (dev == bs->dev)
+ return 0;
+
+ return -1;
+}
+
+int batterystate_register(DBusConnection *connection, struct btd_device *device,
+ struct att_primary *dattr)
+{
+ const gchar *path = device_get_path(device);
+ struct batterystate *bs;
+
+ bs = g_new0(struct batterystate, 1);
+ bs->conn = dbus_connection_ref(connection);
+ bs->dev = btd_device_ref(device);
+
+ batteryservices = g_slist_prepend(batteryservices, bs);
+
+ return 0;
+}
+
+void batterystate_unregister(struct btd_device *device)
+{
+ struct batterystate *bs;
+ GSList *l;
+
+ l = g_slist_find_custom(batteryservices, device, cmp_device);
+ if (l == NULL)
+ return;
+
+ bs = l->data;
+ batteryservices = g_slist_remove(batteryservices, bs);
+}
diff --git a/batterystate/batterystate.h b/batterystate/batterystate.h
new file mode 100644
index 0000000..eac8c2d
--- /dev/null
+++ b/batterystate/batterystate.h
@@ -0,0 +1,26 @@
+/*
+ *
+ * BlueZ - Bluetooth protocol stack for Linux
+ *
+ * Copyright (C) 2011 GSyC/LibreSoft, Universidad Rey Juan Carlos.
+ * Copyright (C) 2012 Texas Instruments, Inc.
+ *
+ * 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
+ *
+ */
+
+int batterystate_register(DBusConnection *connection, struct btd_device *device,
+ struct att_primary *tattr);
+void batterystate_unregister(struct btd_device *device);
diff --git a/batterystate/main.c b/batterystate/main.c
new file mode 100644
index 0000000..165f6ea
--- /dev/null
+++ b/batterystate/main.c
@@ -0,0 +1,60 @@
+/*
+ *
+ * BlueZ - Bluetooth protocol stack for Linux
+ *
+ * Copyright (C) 2011 GSyC/LibreSoft, Universidad Rey Juan Carlos.
+ * Copyright (C) 2012 Texas Instruments, Inc.
+ *
+ * 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 <gdbus.h>
+
+#include "plugin.h"
+#include "manager.h"
+
+static DBusConnection *connection = NULL;
+
+static int batterystate_init(void)
+{
+ connection = dbus_bus_get(DBUS_BUS_SYSTEM, NULL);
+ if (connection == NULL)
+ return -EIO;
+
+ if (batterystate_manager_init(connection) < 0) {
+ dbus_connection_unref(connection);
+ return -EIO;
+ }
+
+ return 0;
+}
+
+static void batterystate_exit(void)
+{
+ batterystate_manager_exit();
+
+ dbus_connection_unref(connection);
+ connection = NULL;
+}
+
+BLUETOOTH_PLUGIN_DEFINE(batterystate, VERSION, BLUETOOTH_PLUGIN_PRIORITY_DEFAULT,
+ batterystate_init, batterystate_exit)
diff --git a/batterystate/manager.c b/batterystate/manager.c
new file mode 100644
index 0000000..8f63717
--- /dev/null
+++ b/batterystate/manager.c
@@ -0,0 +1,92 @@
+/*
+ *
+ * BlueZ - Bluetooth protocol stack for Linux
+ *
+ * Copyright (C) 2011 GSyC/LibreSoft, Universidad Rey Juan Carlos.
+ * Copyright (C) 2012 Texas Instruments, Inc.
+ *
+ * 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
+ *
+ */
+
+#include <gdbus.h>
+#include <errno.h>
+#include <bluetooth/uuid.h>
+
+#include "adapter.h"
+#include "device.h"
+#include "att.h"
+#include "batterystate.h"
+#include "manager.h"
+
+#define BATTERY_SERVICE_UUID "0000180f-0000-1000-8000-00805f9b34fb"
+
+static DBusConnection *connection = NULL;
+
+static gint primary_uuid_cmp(gconstpointer a, gconstpointer b)
+{
+ const struct att_primary *prim = a;
+ const char *uuid = b;
+
+ return g_strcmp0(prim->uuid, uuid);
+}
+
+static int batterystate_driver_probe(struct btd_device *device, GSList *uuids)
+{
+ struct att_primary *tattr;
+ GSList *primaries, *l;
+
+ primaries = btd_device_get_primaries(device);
+
+ l = g_slist_find_custom(primaries, BATTERY_SERVICE_UUID,
+ primary_uuid_cmp);
+ if (l == NULL)
+ return -EINVAL;
+
+ tattr = l->data;
+
+ return batterystate_register(connection, device, tattr);
+}
+
+static void batterystate_driver_remove(struct btd_device *device)
+{
+ batterystate_unregister(device);
+}
+
+static struct btd_device_driver batterystate_device_driver = {
+ .name = "batterystate-device-driver",
+ .uuids = BTD_UUIDS(BATTERY_SERVICE_UUID),
+ .probe = batterystate_driver_probe,
+ .remove = batterystate_driver_remove
+};
+
+int batterystate_manager_init(DBusConnection *conn)
+{
+ int ret;
+ ret = btd_register_device_driver(&batterystate_device_driver);
+ if (ret < 0)
+ return ret;
+
+ connection = dbus_connection_ref(conn);
+ return 0;
+}
+
+void batterystate_manager_exit(void)
+{
+ btd_unregister_device_driver(&batterystate_device_driver);
+
+ dbus_connection_unref(connection);
+ connection = NULL;
+}
diff --git a/batterystate/manager.h b/batterystate/manager.h
new file mode 100644
index 0000000..91b9799
--- /dev/null
+++ b/batterystate/manager.h
@@ -0,0 +1,25 @@
+/*
+ *
+ * BlueZ - Bluetooth protocol stack for Linux
+ *
+ * Copyright (C) 2011 GSyC/LibreSoft, Universidad Rey Juan Carlos.
+ * Copyright (C) 2012 Texas Instruments, Inc.
+ *
+ * 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
+ *
+ */
+
+int batterystate_manager_init(DBusConnection *conn);
+void batterystate_manager_exit(void);
--
1.7.4.1
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: [PATCH 0/2] DeviceInfo and BatteryService Clients
2012-03-11 12:57 [PATCH 0/2] DeviceInfo and BatteryService Clients chen.ganir
2012-03-11 12:57 ` [PATCH 1/2] Added DeviceInformation GATT Client chen.ganir
2012-03-11 12:57 ` [PATCH 2/2] Added Battery Service " chen.ganir
@ 2012-03-11 18:17 ` Marcel Holtmann
2012-03-13 12:08 ` Ganir, Chen
2 siblings, 1 reply; 7+ messages in thread
From: Marcel Holtmann @ 2012-03-11 18:17 UTC (permalink / raw)
To: chen.ganir; +Cc: linux-bluetooth, Chen Ganir
Hi Chen,
> Adding Battery Service client and Device Information Service Client stubs.
> More logic will be added to these service as development continues.
> To enable the new features you will need to use:
> --enable-batterystate
> --enable-deviceinfo
I rather have us reducing the number of configure options. Do we really
need these? I would just enable them all by default.
Regards
Marcel
^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: [PATCH 0/2] DeviceInfo and BatteryService Clients
2012-03-11 18:17 ` [PATCH 0/2] DeviceInfo and BatteryService Clients Marcel Holtmann
@ 2012-03-13 12:08 ` Ganir, Chen
0 siblings, 0 replies; 7+ messages in thread
From: Ganir, Chen @ 2012-03-13 12:08 UTC (permalink / raw)
To: Marcel Holtmann, chen.ganir@gmail.com; +Cc: linux-bluetooth@vger.kernel.org
TWFyY2VsLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IE1hcmNlbCBI
b2x0bWFubiBbbWFpbHRvOm1hcmNlbEBob2x0bWFubi5vcmddDQo+IFNlbnQ6IFN1bmRheSwgTWFy
Y2ggMTEsIDIwMTIgODoxNyBQTQ0KPiBUbzogY2hlbi5nYW5pckBnbWFpbC5jb20NCj4gQ2M6IGxp
bnV4LWJsdWV0b290aEB2Z2VyLmtlcm5lbC5vcmc7IEdhbmlyLCBDaGVuDQo+IFN1YmplY3Q6IFJl
OiBbUEFUQ0ggMC8yXSBEZXZpY2VJbmZvIGFuZCBCYXR0ZXJ5U2VydmljZSBDbGllbnRzDQo+IA0K
PiBIaSBDaGVuLA0KPiANCj4gPiBBZGRpbmcgQmF0dGVyeSBTZXJ2aWNlIGNsaWVudCBhbmQgRGV2
aWNlIEluZm9ybWF0aW9uIFNlcnZpY2UgQ2xpZW50DQo+IHN0dWJzLg0KPiA+IE1vcmUgbG9naWMg
d2lsbCBiZSBhZGRlZCB0byB0aGVzZSBzZXJ2aWNlIGFzIGRldmVsb3BtZW50IGNvbnRpbnVlcy4N
Cj4gPiBUbyBlbmFibGUgdGhlIG5ldyBmZWF0dXJlcyB5b3Ugd2lsbCBuZWVkIHRvIHVzZToNCj4g
PiAtLWVuYWJsZS1iYXR0ZXJ5c3RhdGUNCj4gPiAtLWVuYWJsZS1kZXZpY2VpbmZvDQo+IA0KPiBJ
IHJhdGhlciBoYXZlIHVzIHJlZHVjaW5nIHRoZSBudW1iZXIgb2YgY29uZmlndXJlIG9wdGlvbnMu
IERvIHdlIHJlYWxseQ0KPiBuZWVkIHRoZXNlPyBJIHdvdWxkIGp1c3QgZW5hYmxlIHRoZW0gYWxs
IGJ5IGRlZmF1bHQuDQo+IA0KVGhvc2Ugc2VydmljZXMgYXJlIHN0YW5kLWFsb25lIHNlcnZpY2Vz
LCB3aGljaCBhcmUgcmVxdWlyZWQgYnkgbXVsdGlwbGUgcHJvZmlsZXMuIFNldHRpbmcgdGhlbSBp
biBhIHNpbmdsZSBjb25maWd1cmF0aW9uIHBhcmFtZXRlciwgc2VlbXMgd3JvbmcsIHNpbmNlIHdl
IG1heSBuZWVkIHRvIGNoYW5nZSB0aGF0IHNvb24gd2hlbiBhbm90aGVyIHByb2ZpbGUgdXNpbmcg
dGhlbSB3aWxsIGJlIGltcGxlbWVudGVkLiBGb3Igbm93LCB0aGV5IGFyZSB1c2VkIGluIHRoZSBI
T0dQLCBidXQgbWF5IGJlIHVzZWQNCmluIG90aGVyIHByb2ZpbGVzIGFzIHdlbGwuIEkgYmVsaWV2
ZSB0aG9zZSBzaG91bGQgYmUgbGVmdCBhcyBzZXBhcmF0ZSBwbHVnaW5zLiANCg0KPiBSZWdhcmRz
DQo+IA0KPiBNYXJjZWwNCj4gDQoNClRoYW5rcywNCkNoZW4gR2FuaXIuDQoNCg==
^ permalink raw reply [flat|nested] 7+ messages in thread