[glibmm] giomm: DBusConnection: Wrap synchronous new functions.
- From: José Alburquerque <jaalburqu src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glibmm] giomm: DBusConnection: Wrap synchronous new functions.
- Date: Fri, 27 Aug 2010 05:18:59 +0000 (UTC)
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]