This email list is read-only. Emails sent to this list will be discarded ---------------------------------- include/dbus.h | 2 ++ plugins/bluetooth.c | 2 +- plugins/dhclient.c | 2 +- plugins/polkit.c | 3 ++- plugins/wifi.c | 3 ++- src/connman.h | 3 +++ src/dbus.c | 22 ++++++++++++++++++++++ src/main.c | 4 ++++ 8 files changed, 37 insertions(+), 4 deletions(-)
New commits: commit 60fe07bb4f740459d0ee42fd207085634354b9d6 Author: Marcel Holtmann <[email protected]> Date: Sat Dec 20 08:46:36 2008 +0100 Let plugins use connman_dbus_get_connection() function commit 72c28aa582fccf616092b3baed5a0964a98a09d7 Author: Marcel Holtmann <[email protected]> Date: Sat Dec 20 08:42:13 2008 +0100 Add generic reference to the global D-Bus connection Diff in this email is a maximum of 400 lines. diff --git a/include/dbus.h b/include/dbus.h index 97a58ba..a0fe3fd 100644 --- a/include/dbus.h +++ b/include/dbus.h @@ -41,6 +41,8 @@ extern "C" { #define CONNMAN_NETWORK_INTERFACE CONNMAN_SERVICE ".Network" #define CONNMAN_CONNECTION_INTERFACE CONNMAN_SERVICE ".Connection" +extern DBusConnection *connman_dbus_get_connection(void); + extern void connman_dbus_property_append_variant(DBusMessageIter *property, const char *key, int type, void *val); diff --git a/plugins/bluetooth.c b/plugins/bluetooth.c index d7ae286..9a26a94 100644 --- a/plugins/bluetooth.c +++ b/plugins/bluetooth.c @@ -466,7 +466,7 @@ static int bluetooth_init(void) { int err = -EIO; - connection = dbus_bus_get(DBUS_BUS_SYSTEM, NULL); + connection = connman_dbus_get_connection(); if (connection == NULL) return -EIO; diff --git a/plugins/dhclient.c b/plugins/dhclient.c index 61dafe4..2cb4930 100644 --- a/plugins/dhclient.c +++ b/plugins/dhclient.c @@ -318,7 +318,7 @@ static int dhclient_init(void) gchar *filter; int err; - connection = dbus_bus_get(DBUS_BUS_SYSTEM, NULL); + connection = connman_dbus_get_connection(); busname = dbus_bus_get_unique_name(connection); busname = CONNMAN_SERVICE; diff --git a/plugins/polkit.c b/plugins/polkit.c index a2e15a9..1bf3f90 100644 --- a/plugins/polkit.c +++ b/plugins/polkit.c @@ -30,6 +30,7 @@ #include <connman/plugin.h> #include <connman/security.h> +#include <connman/dbus.h> #include <connman/log.h> #define ACTION "org.moblin.connman.modify" @@ -124,7 +125,7 @@ static int polkit_init(void) { int err; - connection = dbus_bus_get(DBUS_BUS_SYSTEM, NULL); + connection = connman_dbus_get_connection(); if (connection == NULL) return -EIO; diff --git a/plugins/wifi.c b/plugins/wifi.c index f215352..dd769b5 100644 --- a/plugins/wifi.c +++ b/plugins/wifi.c @@ -36,6 +36,7 @@ #include <connman/plugin.h> #include <connman/driver.h> #include <connman/rtnl.h> +#include <connman/dbus.h> #include <connman/log.h> #include "inet.h" @@ -619,7 +620,7 @@ static int wifi_init(void) { int err; - connection = dbus_bus_get(DBUS_BUS_SYSTEM, NULL); + connection = connman_dbus_get_connection(); if (connection == NULL) return -EIO; diff --git a/src/connman.h b/src/connman.h index 4fca050..70fcac1 100644 --- a/src/connman.h +++ b/src/connman.h @@ -27,6 +27,9 @@ #define NM_PATH "/org/freedesktop/NetworkManager" #define NM_INTERFACE NM_SERVICE +int __connman_dbus_init(DBusConnection *conn); +void __connman_dbus_cleanup(void); + DBusMessage *__connman_error_failed(DBusMessage *msg); DBusMessage *__connman_error_invalid_arguments(DBusMessage *msg); DBusMessage *__connman_error_permission_denied(DBusMessage *msg); diff --git a/src/dbus.c b/src/dbus.c index 333b4cf..6960a40 100644 --- a/src/dbus.c +++ b/src/dbus.c @@ -114,3 +114,25 @@ void connman_dbus_dict_append_variant(DBusMessageIter *dict, dbus_message_iter_close_container(dict, &entry); } + +static DBusConnection *connection = NULL; + +DBusConnection *connman_dbus_get_connection(void) +{ + if (connection == NULL) + return NULL; + + return dbus_connection_ref(connection); +} + +int __connman_dbus_init(DBusConnection *conn) +{ + connection = conn; + + return 0; +} + +void __connman_dbus_cleanup(void) +{ + connection = NULL; +} diff --git a/src/main.c b/src/main.c index 929d31a..638ad0b 100644 --- a/src/main.c +++ b/src/main.c @@ -150,6 +150,8 @@ int main(int argc, char *argv[]) } } + __connman_dbus_init(conn); + __connman_storage_init(); __connman_element_init(conn, option_device); @@ -187,6 +189,8 @@ int main(int argc, char *argv[]) __connman_storage_cleanup(); + __connman_dbus_cleanup(); + selftest: __connman_log_cleanup(); _______________________________________________ Commits mailing list [email protected] https://lists.moblin.org/mailman/listinfo/commits
