[glibmm] giomm: DBusConnection: Wrap synchronous new functions.



commit 6d53b7ca90f2a31644c44ea86c4d07ec9aa28096
Author: José Alburquerque <jaalburqu svn gnome org>
Date:   Fri Aug 27 01:15:56 2010 -0400

    	giomm: DBusConnection: Wrap synchronous new functions.
    
    	* gio/src/dbusconnection.ccg:
    	* gio/src/dbusconnection.hg: Wrap g_dbus_connection_new_sync() and
    	g_dbus_connection_new_for_address_sync() functions (using constructors
    	and create methods).

 ChangeLog                  |    9 ++++++++
 gio/src/dbusconnection.ccg |   45 ++++++++++++++++++++++++++++++++++++++++++++
 gio/src/dbusconnection.hg  |   31 +++++++++++++++++++++++++++++-
 3 files changed, 84 insertions(+), 1 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 18ff64f..6a39949 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2010-08-27  José Alburquerque  <jaalburqu svn gnome org>
+
+	giomm: DBusConnection: Wrap synchronous new functions.
+
+	* gio/src/dbusconnection.ccg:
+	* gio/src/dbusconnection.hg: Wrap g_dbus_connection_new_sync() and
+	g_dbus_connection_new_for_address_sync() functions (using constructors
+	and create methods).
+
 2010-08-24  José Alburquerque  <jaalburqu svn gnome org>
 
 	giomm: Add UnixCredentialsMessage to the build.
diff --git a/gio/src/dbusconnection.ccg b/gio/src/dbusconnection.ccg
index 60e01c0..d5d11e9 100644
--- a/gio/src/dbusconnection.ccg
+++ b/gio/src/dbusconnection.ccg
@@ -18,11 +18,56 @@
  */
 
 #include <gio/gio.h>
+#include <giomm/dbusauthobserver.h>
 #include "slot_async.h"
 
 namespace Gio
 {
 
+DBusConnection::DBusConnection(const Glib::RefPtr<IOStream>& stream,
+  const Glib::ustring& guid, DBusConnectionFlags flags,
+  const Glib::RefPtr<DBusAuthObserver>& observer,
+  const Glib::RefPtr<Cancellable>& cancellable)
+:
+  _CONSTRUCT("stream", Glib::unwrap(stream),
+    "guid", (guid.empty() ? 0 : guid.c_str()),
+    "flags", static_cast<GDBusConnectionFlags>(flags),
+    "observer", Glib::unwrap(observer))
+{
+  init(cancellable);
+}
+
+DBusConnection::DBusConnection(const Glib::ustring& address,
+  DBusConnectionFlags flags, const Glib::RefPtr<DBusAuthObserver>& observer,
+  const Glib::RefPtr<Cancellable>& cancellable)
+:
+  _CONSTRUCT("address", (address.empty() ? 0 : address.c_str()),
+    "flags", static_cast<GDBusConnectionFlags>(flags),
+    "observer", Glib::unwrap(observer))
+{
+  init(cancellable);
+}
+
+Glib::RefPtr<DBusConnection> DBusConnection::create(
+  const Glib::RefPtr<IOStream>& stream,
+  const Glib::ustring& guid, DBusConnectionFlags flags,
+  const Glib::RefPtr<DBusAuthObserver>& observer,
+  const Glib::RefPtr<Cancellable>& cancellable)
+{
+  return Glib::RefPtr<DBusConnection>(new DBusConnection(stream, guid, flags,
+    observer, cancellable));
+}
+
+Glib::RefPtr<DBusConnection> DBusConnection::create(
+  const Glib::ustring& address,
+  DBusConnectionFlags flags, const Glib::RefPtr<DBusAuthObserver>& observer,
+  const Glib::RefPtr<Cancellable>& cancellable)
+{
+  return Glib::RefPtr<DBusConnection>(new DBusConnection(address, flags,
+    observer, cancellable));
+}
+
+
 void DBusConnection::close()
 {
   g_dbus_connection_close(gobj(), 0, 0, 0);
diff --git a/gio/src/dbusconnection.hg b/gio/src/dbusconnection.hg
index ab78521..3202163 100644
--- a/gio/src/dbusconnection.hg
+++ b/gio/src/dbusconnection.hg
@@ -18,6 +18,7 @@
  */
 
 #include <glibmm/object.h>
+#include <giomm/initable.h>
 #include <giomm/iostream.h>
 #include <giomm/asyncresult.h>
 #include <giomm/credentials.h>
@@ -32,8 +33,11 @@ namespace Gio
 
 _WRAP_ENUM(BusType, GBusType)
 _WRAP_ENUM(DBusCapabilityFlags, GDBusCapabilityFlags, NO_GTYPE)
+_WRAP_ENUM(DBusConnectionFlags, GDBusConnectionFlags, NO_GTYPE)
 _WRAP_ENUM(DBusSendMessageFlags, GDBusSendMessageFlags, NO_GTYPE)
 
+class DBusAuthObserver;
+
 //TODO: Add example from C API in class docs.
 /** DBusConnection - D-Bus Connections.
  * The DBusConnection type is used for D-Bus connections to remote peers such
@@ -47,13 +51,38 @@ _WRAP_ENUM(DBusSendMessageFlags, GDBusSendMessageFlags, NO_GTYPE)
  *
  * @newin{2,26}
  */
-class DBusConnection : public Glib::Object
+class DBusConnection : public Glib::Object, public Initable
 {
 protected:
   _CLASS_GOBJECT(DBusConnection, GDBusConnection, G_DBUS_CONNECTION, Glib::Object, GObject)
+  _IMPLEMENTS_INTERFACE(Initable)
+
+protected:
+  DBusConnection(const Glib::RefPtr<IOStream>& stream,
+    const Glib::ustring& guid, DBusConnectionFlags flags,
+    const Glib::RefPtr<DBusAuthObserver>& observer,
+    const Glib::RefPtr<Cancellable>& cancellable);
+
+  DBusConnection(const Glib::ustring& address, DBusConnectionFlags flags,
+    const Glib::RefPtr<DBusAuthObserver>& observer,
+    const Glib::RefPtr<Cancellable>& cancellable);
 
 public:
 
+  _WRAP_METHOD_DOCS_ONLY(g_dbus_connection_new_sync)
+  /** @throw Glib::Error.
+   */
+  Glib::RefPtr<DBusConnection> create(const Glib::RefPtr<IOStream>& stream,
+    const Glib::ustring& guid, DBusConnectionFlags flags,
+    const Glib::RefPtr<DBusAuthObserver>& observer,
+    const Glib::RefPtr<Cancellable>& cancellable = Glib::RefPtr<Cancellable>());
+
+  _WRAP_METHOD_DOCS_ONLY(g_dbus_connection_new_for_address_sync)
+  /** @throw Glib::Error.
+   */
+  Glib::RefPtr<DBusConnection> create(const Glib::ustring& address,
+    DBusConnectionFlags flags, const Glib::RefPtr<DBusAuthObserver>& observer,
+    const Glib::RefPtr<Cancellable>& cancellable = Glib::RefPtr<Cancellable>());
 
   //TODO: Documentation.
   void close();



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]