#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);
}