summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--audio/main.c14
-rw-r--r--input/main.c13
-rw-r--r--input/manager.c14
-rw-r--r--network/connection.c6
-rw-r--r--network/main.c12
-rw-r--r--network/manager.c5
-rw-r--r--serial/main.c15
7 files changed, 36 insertions, 43 deletions
diff --git a/audio/main.c b/audio/main.c
index 9afc61e6..bf0e4884 100644
--- a/audio/main.c
+++ b/audio/main.c
@@ -29,7 +29,6 @@
#include <errno.h>
#include <sys/socket.h>
#include <bluetooth/bluetooth.h>
-#include <bluetooth/sdp.h>
#include <glib.h>
#include <dbus/dbus.h>
@@ -40,6 +39,8 @@
#include "device.h"
#include "manager.h"
+static DBusConnection *connection = NULL;
+
static GKeyFile *load_config_file(const char *file)
{
GError *err = NULL;
@@ -59,11 +60,10 @@ static GKeyFile *load_config_file(const char *file)
static int audio_init(void)
{
- DBusConnection *conn;
GKeyFile *config;
- conn = dbus_bus_get(DBUS_BUS_SYSTEM, NULL);
- if (conn == NULL)
+ connection = dbus_bus_get(DBUS_BUS_SYSTEM, NULL);
+ if (connection == NULL)
return -EIO;
config = load_config_file(CONFIGDIR "/audio.conf");
@@ -73,8 +73,8 @@ static int audio_init(void)
return -EIO;
}
- if (audio_manager_init(conn, config) < 0) {
- dbus_connection_unref(conn);
+ if (audio_manager_init(connection, config) < 0) {
+ dbus_connection_unref(connection);
return -EIO;
}
@@ -86,6 +86,8 @@ static void audio_exit(void)
audio_manager_exit();
unix_exit();
+
+ dbus_connection_unref(connection);
}
BLUETOOTH_PLUGIN_DEFINE("audio", audio_init, audio_exit)
diff --git a/input/main.c b/input/main.c
index d3d152e0..4851324c 100644
--- a/input/main.c
+++ b/input/main.c
@@ -28,7 +28,6 @@
#include <errno.h>
#include <bluetooth/bluetooth.h>
-#include <bluetooth/sdp.h>
#include <gdbus.h>
@@ -36,6 +35,8 @@
#include "logging.h"
#include "manager.h"
+DBusConnection *connection = NULL;
+
static GKeyFile *load_config_file(const char *file)
{
GKeyFile *keyfile;
@@ -56,16 +57,15 @@ static GKeyFile *load_config_file(const char *file)
static int input_init(void)
{
GKeyFile *config;
- 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;
config = load_config_file(CONFIGDIR "/input.conf");
- if (input_manager_init(conn, config) < 0) {
- dbus_connection_unref(conn);
+ if (input_manager_init(connection, config) < 0) {
+ dbus_connection_unref(connection);
return -EIO;
}
@@ -78,6 +78,7 @@ static int input_init(void)
static void input_exit(void)
{
input_manager_exit();
+ dbus_connection_unref(connection);
}
BLUETOOTH_PLUGIN_DEFINE("input", input_init, input_exit)
diff --git a/input/manager.c b/input/manager.c
index a2a22762..d3829323 100644
--- a/input/manager.c
+++ b/input/manager.c
@@ -25,21 +25,14 @@
#include <config.h>
#endif
-#include <ctype.h>
-#include <dirent.h>
#include <errno.h>
-#include <stdlib.h>
-#include <unistd.h>
#include <bluetooth/bluetooth.h>
#include <bluetooth/hci.h>
-#include <bluetooth/hci_lib.h>
#include <bluetooth/hidp.h>
#include <bluetooth/sdp.h>
#include <bluetooth/sdp_lib.h>
-#include <glib.h>
-#include <dbus/dbus.h>
#include <gdbus.h>
#include "logging.h"
@@ -49,10 +42,8 @@
#include "device.h"
#include "server.h"
-#include "error.h"
#include "manager.h"
#include "storage.h"
-#include "glib-helper.h"
static int idle_timeout = 0;
@@ -319,12 +310,11 @@ int input_manager_init(DBusConnection *conn, GKeyFile *config)
void input_manager_exit(void)
{
-
- btd_unregister_adapter_driver(&input_server_driver);
-
btd_unregister_device_driver(&input_hid_driver);
btd_unregister_device_driver(&input_headset_driver);
+ btd_unregister_adapter_driver(&input_server_driver);
+
dbus_connection_unref(connection);
connection = NULL;
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;
diff --git a/serial/main.c b/serial/main.c
index 97b26925..50dda095 100644
--- a/serial/main.c
+++ b/serial/main.c
@@ -26,24 +26,24 @@
#endif
#include <errno.h>
-#include <sys/types.h>
#include <gdbus.h>
#include "plugin.h"
-#include "logging.h"
#include "manager.h"
+static DBusConnection *connection = NULL;
+
static int serial_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 (serial_manager_init(conn) < 0)
+ if (serial_manager_init(connection) < 0) {
+ dbus_connection_unref(connection);
return -EIO;
+ }
return 0;
}
@@ -51,6 +51,7 @@ static int serial_init(void)
static void serial_exit(void)
{
serial_manager_exit();
+ dbus_connection_unref(connection);
}
BLUETOOTH_PLUGIN_DEFINE("serial", serial_init, serial_exit)