From: Santiago Carot-Nemesio <sancane@gmail.com>
To: linux-bluetooth@vger.kernel.org
Cc: Santiago Carot-Nemesio <sancane@gmail.com>
Subject: [PATCH 3/3] Add thermometer driver skeleton
Date: Tue, 26 Jul 2011 14:15:54 +0200 [thread overview]
Message-ID: <1311682554-21241-4-git-send-email-sancane@gmail.com> (raw)
In-Reply-To: <1311682554-21241-3-git-send-email-sancane@gmail.com>
---
Makefile.am | 3 ++-
thermometer/manager.c | 38 ++++++++++++++++++++++++++++++++++++--
thermometer/thermometer.c | 41 +++++++++++++++++++++++++++++++++++++++++
thermometer/thermometer.h | 27 +++++++++++++++++++++++++++
4 files changed, 106 insertions(+), 3 deletions(-)
create mode 100644 thermometer/thermometer.c
create mode 100644 thermometer/thermometer.h
diff --git a/Makefile.am b/Makefile.am
index 87b21a6..2735728 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -218,7 +218,8 @@ endif
if THERMOMETERPLUGIN
builtin_modules += thermometer
builtin_sources += thermometer/main.c \
- thermometer/manager.h thermometer/manager.c
+ thermometer/manager.h thermometer/manager.c \
+ thermometer/thermometer.h thermometer/thermometer.c
endif
builtin_modules += hciops mgmtops
diff --git a/thermometer/manager.c b/thermometer/manager.c
index a243de0..4fad5ed 100644
--- a/thermometer/manager.c
+++ b/thermometer/manager.c
@@ -24,15 +24,49 @@
*/
#include <gdbus.h>
+
+#include "adapter.h"
+#include "device.h"
+#include "thermometer.h"
#include "manager.h"
+#define HEALTH_THERMOMETER_UUID "00001809-0000-1000-8000-00805f9b34fb"
+
+static DBusConnection *connection = NULL;
+
+static int thermometer_driver_probe(struct btd_device *device, GSList *uuids)
+{
+ return thermometer_register(connection, device);
+}
+
+static void thermometer_driver_remove(struct btd_device *device)
+{
+ thermometer_unregister(device);
+}
+
+static struct btd_device_driver thermometer_device_driver = {
+ .name = "thermometer-device-driver",
+ .uuids = BTD_UUIDS(HEALTH_THERMOMETER_UUID),
+ .probe = thermometer_driver_probe,
+ .remove = thermometer_driver_remove
+};
+
int thermometer_manager_init(DBusConnection *conn)
{
- /*TODO: */
+ int ret;
+
+ ret = btd_register_device_driver(&thermometer_device_driver);
+ if (ret < 0)
+ return ret;
+
+ connection = dbus_connection_ref(conn);
return 0;
}
void thermometer_manager_exit(void)
{
- /*TODO: */
+ btd_unregister_device_driver(&thermometer_device_driver);
+
+ dbus_connection_unref(connection);
+ connection = NULL;
}
diff --git a/thermometer/thermometer.c b/thermometer/thermometer.c
new file mode 100644
index 0000000..8b521e3
--- /dev/null
+++ b/thermometer/thermometer.c
@@ -0,0 +1,41 @@
+/*
+ *
+ * BlueZ - Bluetooth protocol stack for Linux
+ *
+ * Copyright (C) 2011 GSyC/LibreSoft, Universidad Rey Juan Carlos.
+ * Authors:
+ * Santiago Carot Nemesio <sancane at gmail.com>
+ * Jorge Fernandez Gonzalez <jorge.fernandez.gonzalez at gmail.com>
+ *
+ * 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 "adapter.h"
+#include "device.h"
+#include "thermometer.h"
+
+int thermometer_register(DBusConnection *connection, struct btd_device *device)
+{
+ /* TODO: Register Health Thermometer Interface */
+ return 0;
+}
+
+void thermometer_unregister(struct btd_device *device)
+{
+ /* TODO: Unregister Health Thermometer Interface */
+}
diff --git a/thermometer/thermometer.h b/thermometer/thermometer.h
new file mode 100644
index 0000000..2f64e21
--- /dev/null
+++ b/thermometer/thermometer.h
@@ -0,0 +1,27 @@
+/*
+ *
+ * BlueZ - Bluetooth protocol stack for Linux
+ *
+ * Copyright (C) 2011 GSyC/LibreSoft, Universidad Rey Juan Carlos.
+ * Authors:
+ * Santiago Carot Nemesio <sancane at gmail.com>
+ * Jorge Fernandez Gonzalez <jorge.fernandez.gonzalez at gmail.com>
+ *
+ * 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 thermometer_register(DBusConnection *connection, struct btd_device *device);
+void thermometer_unregister(struct btd_device *device);
--
1.7.6
next prev parent reply other threads:[~2011-07-26 12:15 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-26 12:15 Initial Health Thermometer Profile implementation Santiago Carot-Nemesio
2011-07-26 12:15 ` [PATCH 1/3] Initial support for Health Thermometer Profile (HTP) Santiago Carot-Nemesio
2011-07-26 12:15 ` [PATCH 2/3] Add manager files for HTP Santiago Carot-Nemesio
2011-07-26 12:15 ` Santiago Carot-Nemesio [this message]
2011-07-29 10:00 ` Initial Health Thermometer Profile implementation Johan Hedberg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1311682554-21241-4-git-send-email-sancane@gmail.com \
--to=sancane@gmail.com \
--cc=linux-bluetooth@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).