diff options
Diffstat (limited to 'plugins/bluetooth.c')
-rw-r--r-- | plugins/bluetooth.c | 32 |
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); } |