diff options
Diffstat (limited to 'network')
-rw-r--r-- | network/connection.c | 6 | ||||
-rw-r--r-- | network/main.c | 12 | ||||
-rw-r--r-- | network/manager.c | 5 |
3 files changed, 11 insertions, 12 deletions
diff --git a/network/connection.c b/network/connection.c index 16d3e383..b8f029e1 100644 --- a/network/connection.c +++ b/network/connection.c @@ -123,12 +123,6 @@ static inline DBusMessage *not_connected(DBusMessage *msg) "Device not connected"); } -static inline DBusMessage *no_pending_connect(DBusMessage *msg) -{ - return g_dbus_create_error(msg, ERROR_INTERFACE ".Failed", - "Device has no pending connect"); -} - static inline DBusMessage *connection_attempt_failed(DBusMessage *msg, int err) { return g_dbus_create_error(msg, ERROR_INTERFACE ".ConnectionAttemptFailed", diff --git a/network/main.c b/network/main.c index 6efdb81d..2307a165 100644 --- a/network/main.c +++ b/network/main.c @@ -32,16 +32,17 @@ #include "plugin.h" #include "manager.h" +static DBusConnection *connection = NULL; + static int network_init(void) { - DBusConnection *conn; - conn = dbus_bus_get(DBUS_BUS_SYSTEM, NULL); - if (conn == NULL) + connection = dbus_bus_get(DBUS_BUS_SYSTEM, NULL); + if (connection == NULL) return -EIO; - if (network_manager_init(conn) < 0) { - dbus_connection_unref(conn); + if (network_manager_init(connection) < 0) { + dbus_connection_unref(connection); return -EIO; } @@ -51,6 +52,7 @@ static int network_init(void) static void network_exit(void) { network_manager_exit(); + dbus_connection_unref(connection); } BLUETOOTH_PLUGIN_DEFINE("network", network_init, network_exit) diff --git a/network/manager.c b/network/manager.c index c9555285..cafb7442 100644 --- a/network/manager.c +++ b/network/manager.c @@ -368,7 +368,6 @@ int network_manager_init(DBusConnection *conn) return -1; /* Register PANU, GN and NAP servers if they don't exist */ - /* FIXME: server should be registered as adapter driver */ btd_register_adapter_driver(&network_panu_server_driver); btd_register_adapter_driver(&network_gn_server_driver); btd_register_adapter_driver(&network_nap_server_driver); @@ -397,6 +396,10 @@ void network_manager_exit(void) connection_exit(); } + btd_unregister_adapter_driver(&network_panu_server_driver); + btd_unregister_adapter_driver(&network_gn_server_driver); + btd_unregister_adapter_driver(&network_nap_server_driver); + dbus_connection_unref(connection); connection = NULL; |