summaryrefslogtreecommitdiff
path: root/gio/src/dbusaddress.ccg
diff options
context:
space:
mode:
authorJosé Alburquerque <jaalburqu@svn.gnome.org>2010-11-19 01:30:02 -0500
committerJosé Alburquerque <jaalburqu@svn.gnome.org>2010-11-19 01:33:36 -0500
commit2294de4884210fa4749587030645ac42b2b4fe88 (patch)
tree3c5ba6e009ee4b74d856d0899c50d74f2ffa535b /gio/src/dbusaddress.ccg
parent0239bb5eb006a26f751c3208a01132551d0f2282 (diff)
downloadglibmm-2294de4884210fa4749587030645ac42b2b4fe88.tar.gz
Gio::DBus::Address: Wrap the gio dbus address API in this namespace.
* gio/giomm.h: * gio/src/dbusaddress.{ccg,hg}: * gio/src/filelist.am: Add new sources and make sure they are built. * gio/src/dbusconnection.hg: * gio/src/dbuserror.hg: Typos.
Diffstat (limited to 'gio/src/dbusaddress.ccg')
-rw-r--r--gio/src/dbusaddress.ccg187
1 files changed, 187 insertions, 0 deletions
diff --git a/gio/src/dbusaddress.ccg b/gio/src/dbusaddress.ccg
new file mode 100644
index 00000000..529f7665
--- /dev/null
+++ b/gio/src/dbusaddress.ccg
@@ -0,0 +1,187 @@
+// -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+
+/* Copyright (C) 2010 The giomm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gio/gio.h>
+#include "slot_async.h"
+
+namespace Gio
+{
+
+namespace DBus
+{
+
+namespace Address
+{
+
+bool is_address(const Glib::ustring& string)
+{
+ return static_cast<bool>(g_dbus_is_address(string.c_str()));
+}
+
+bool is_supported(const Glib::ustring& address)
+{
+ GError* gerror = 0;
+ bool const result = g_dbus_is_supported_address(address.c_str(), &gerror);
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+ return result;
+}
+
+void get_stream(const Glib::ustring& address, const SlotAsyncReady slot,
+ const Glib::RefPtr<Cancellable>& cancellable)
+{
+ SlotAsyncReady* slot_copy = new SlotAsyncReady(slot);
+ g_dbus_address_get_stream(address.c_str(), Glib::unwrap(cancellable),
+ &SignalProxy_async_callback, slot_copy);
+}
+
+void get_stream(const Glib::ustring& address, const SlotAsyncReady slot)
+{
+ SlotAsyncReady* slot_copy = new SlotAsyncReady(slot);
+ g_dbus_address_get_stream(address.c_str(), 0, &SignalProxy_async_callback,
+ slot_copy);
+}
+
+Glib::RefPtr<IOStream> get_stream_finish(const Glib::RefPtr<AsyncResult>& res,
+ Glib::ustring& out_guid)
+{
+ GError* gerror = 0;
+ gchar* g_out_guid = 0;
+
+ Glib::RefPtr<IOStream> result =
+ Glib::wrap(g_dbus_address_get_stream_finish(Glib::unwrap(res),
+ &g_out_guid, &gerror));
+
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+
+ out_guid = g_out_guid;
+ return result;
+}
+
+Glib::RefPtr<IOStream> get_stream_finish(const Glib::RefPtr<AsyncResult>& res)
+{
+ GError* gerror = 0;
+
+ Glib::RefPtr<IOStream> result =
+ Glib::wrap(g_dbus_address_get_stream_finish(Glib::unwrap(res), 0,
+ &gerror));
+
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+
+ return result;
+}
+
+Glib::RefPtr<IOStream> get_stream_sync(const Glib::ustring& address,
+ const Glib::RefPtr<Cancellable>& cancellable, Glib::ustring& out_guid)
+{
+ GError* gerror = 0;
+ gchar* g_out_guid = 0;
+
+ Glib::RefPtr<IOStream> result =
+ Glib::wrap(g_dbus_address_get_stream_sync(address.c_str(),
+ &g_out_guid, Glib::unwrap(cancellable), &gerror));
+
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+
+ out_guid = g_out_guid;
+ return result;
+}
+
+Glib::RefPtr<IOStream> get_stream_sync(const Glib::ustring& address,
+ Glib::ustring& out_guid)
+{
+ GError* gerror = 0;
+ gchar* g_out_guid = 0;
+
+ Glib::RefPtr<IOStream> result =
+ Glib::wrap(g_dbus_address_get_stream_sync(address.c_str(),
+ &g_out_guid, 0, &gerror));
+
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+
+ out_guid = g_out_guid;
+ return result;
+}
+
+Glib::RefPtr<IOStream> get_stream_sync(const Glib::ustring& address,
+ const Glib::RefPtr<Cancellable>& cancellable)
+{
+ GError* gerror = 0;
+
+ Glib::RefPtr<IOStream> result =
+ Glib::wrap(g_dbus_address_get_stream_sync(address.c_str(), 0,
+ Glib::unwrap(cancellable), &gerror));
+
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+
+ return result;
+}
+
+Glib::RefPtr<IOStream> get_stream_sync(const Glib::ustring& address)
+{
+ GError* gerror = 0;
+
+ Glib::RefPtr<IOStream> result =
+ Glib::wrap(g_dbus_address_get_stream_sync(address.c_str(), 0, 0, &gerror));
+
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+
+ return result;
+}
+
+Glib::ustring get_for_bus_sync(BusType bus_type,
+ const Glib::RefPtr<Cancellable>& cancellable)
+{
+ GError* gerror = 0;
+
+ Glib::ustring result =
+ Glib::ustring(g_dbus_address_get_for_bus_sync(
+ static_cast<GBusType>(bus_type), Glib::unwrap(cancellable), &gerror));
+
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+
+ return result;
+}
+
+Glib::ustring get_for_bus_sync(BusType bus_type)
+{
+ GError* gerror = 0;
+
+ Glib::ustring result =
+ Glib::ustring(g_dbus_address_get_for_bus_sync(
+ static_cast<GBusType>(bus_type), 0, &gerror));
+
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+
+ return result;
+}
+
+}
+
+} // namespace DBus
+
+} // namespace Gio