summaryrefslogtreecommitdiff
path: root/plugins/bluetooth.c
diff options
context:
space:
mode:
authorPatrik Flykt <patrik.flykt@linux.intel.com>2013-01-28 17:44:36 +0200
committerPatrik Flykt <patrik.flykt@linux.intel.com>2013-01-30 10:27:56 +0200
commit69b4c5dea3a3486246c847ea149047c25c7717ae (patch)
tree80b44bf0109d6ecee74926fd7c398b31c3af3f01 /plugins/bluetooth.c
parente7d00125079494dd3d170d7275a2883a2d82e292 (diff)
downloadconnman-69b4c5dea3a3486246c847ea149047c25c7717ae.tar.gz
connman-69b4c5dea3a3486246c847ea149047c25c7717ae.tar.bz2
connman-69b4c5dea3a3486246c847ea149047c25c7717ae.zip
bluetooth: Register technology driver
Diffstat (limited to 'plugins/bluetooth.c')
-rw-r--r--plugins/bluetooth.c32
1 files changed, 31 insertions, 1 deletions
diff --git a/plugins/bluetooth.c b/plugins/bluetooth.c
index 1b5aed01..7e7c35ef 100644
--- a/plugins/bluetooth.c
+++ b/plugins/bluetooth.c
@@ -28,20 +28,50 @@
#define CONNMAN_API_SUBJECT_TO_CHANGE
#include <connman/plugin.h>
#include <connman/dbus.h>
+#include <connman/technology.h>
static DBusConnection *connection;
+static int bluetooth_tech_probe(struct connman_technology *technology)
+{
+ return 0;
+}
+
+static void bluetooth_tech_remove(struct connman_technology *technology)
+{
+
+}
+
+static struct connman_technology_driver tech_driver = {
+ .name = "bluetooth",
+ .type = CONNMAN_SERVICE_TYPE_BLUETOOTH,
+ .probe = bluetooth_tech_probe,
+ .remove = bluetooth_tech_remove,
+};
+
static int bluetooth_init(void)
{
connection = connman_dbus_get_connection();
if (connection == NULL)
- return -EIO;
+ goto out;
+
+ if (connman_technology_driver_register(&tech_driver) < 0) {
+ connman_warn("Failed to initialize technology for Bluez 5");
+ goto out;
+ }
return 0;
+
+out:
+ if (connection != NULL)
+ dbus_connection_unref(connection);
+
+ return -EIO;
}
static void bluetooth_exit(void)
{
+ connman_technology_driver_unregister(&tech_driver);
dbus_connection_unref(connection);
}