From b1aa8a0baf783a251be6e8021a7881e63b8f9830 Mon Sep 17 00:00:00 2001 From: "John (J5) Palmieri" Date: Wed, 15 Feb 2006 21:42:54 +0000 Subject: 2006-02-15 John (J5) Palmieri * dbus/dbus-glib.h: * glib/dbus-gmain.h: (dbus_g_connection_open): new method for openning a connection to an arbitrary address in the glib bindings * ChangeLog: checkin last entry which doesn't seem to be commited --- ChangeLog | 14 ++++++++++++++ dbus/dbus-glib.h | 7 +++++-- glib/dbus-gmain.c | 37 +++++++++++++++++++++++++++++++++++++ 3 files changed, 56 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index f60c515e..5055ea5e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2006-02-15 John (J5) Palmieri + + * dbus/dbus-glib.h: + * glib/dbus-gmain.h: + (dbus_g_connection_open): new method for openning + a connection to an arbitrary address in the glib bindings + + * ChangeLog: checkin last entry which doesn't seem to be commited + +2006-02-13 John (J5) Palmieri + + * tools/dbus-launch.c: Fixed sh syntax output + 2006-02-13 Robert McQueen * glib/dbus-binding-tool-glib.c, glib/dbus-gmain.c, @@ -14,6 +27,7 @@ but it's now possible to store these in arrays, emit them in signals, etc. +>>>>>>> 1.959 2006-02-10 John (J5) Palmieri * dbus/dbus-signature.c (dbus_signature_iter_recurse): Correctly diff --git a/dbus/dbus-glib.h b/dbus/dbus-glib.h index 217ce74a..1c319259 100644 --- a/dbus/dbus-glib.h +++ b/dbus/dbus-glib.h @@ -68,8 +68,11 @@ gboolean dbus_g_error_has_name (GError *error, const char * dbus_g_error_get_name (GError *error); void dbus_g_thread_init (void); -DBusGConnection* dbus_g_bus_get (DBusBusType type, - GError **error); + +DBusGConnection* dbus_g_connection_open (const gchar *address, + GError **error); +DBusGConnection* dbus_g_bus_get (DBusBusType type, + GError **error); typedef struct _DBusGObjectInfo DBusGObjectInfo; typedef struct _DBusGMethodInfo DBusGMethodInfo; diff --git a/glib/dbus-gmain.c b/glib/dbus-gmain.c index 267f0bfa..d2716103 100644 --- a/glib/dbus-gmain.c +++ b/glib/dbus-gmain.c @@ -696,6 +696,43 @@ dbus_server_setup_with_g_main (DBusServer *server, g_error ("Not enough memory to set up DBusServer for use with GLib"); } +/** + * Returns a connection to the given address. + * + * (Internally, calls dbus_connection_open() then calls + * dbus_connection_setup_with_g_main() on the result.) + * + * @param address address of the connection to open + * @param error address where an error can be returned. + * @returns a DBusConnection + */ +DBusGConnection* +dbus_g_connection_open (const gchar *address, + GError **error) +{ + DBusConnection *connection; + DBusError derror; + + g_return_val_if_fail (error == NULL || *error == NULL, NULL); + + _dbus_g_value_types_init (); + + dbus_error_init (&derror); + + connection = dbus_connection_open (socket, &derror); + if (connection == NULL) + { + dbus_set_g_error (error, &derror); + dbus_error_free (&derror); + return NULL; + } + + /* does nothing if it's already been done */ + dbus_connection_setup_with_g_main (connection, NULL); + + return DBUS_G_CONNECTION_FROM_CONNECTION (connection); +} + /** * Returns a connection to the given bus. The connection is a global variable * shared with other callers of this function. -- cgit