[glibmm] add overloads for resolver methods without a cancellable object
- From: Jonathon Jongsma <jjongsma src gnome org>
- To: svn-commits-list gnome org
- Subject: [glibmm] add overloads for resolver methods without a cancellable object
- Date: Fri, 17 Jul 2009 04:50:43 +0000 (UTC)
commit 1a8a3ff45bfec160f07ff92d9b10b18de755111b
Author: Jonathon Jongsma <jonathon quotidian org>
Date: Thu Jul 16 23:08:42 2009 -0500
add overloads for resolver methods without a cancellable object
ChangeLog | 6 +++++
gio/src/resolver.ccg | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++
gio/src/resolver.hg | 18 ++++++++++++--
3 files changed, 81 insertions(+), 3 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index d4a8668..c633f31 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2009-07-16 Jonathon Jongsma <jonathon jongsma collabora co uk>
+ * gio/src/resolver.ccg:
+ * gio/src/resolver.hg: add overloads for resolver methods without a
+ cancellable object
+
+2009-07-16 Jonathon Jongsma <jonathon jongsma collabora co uk>
+
* gio/src/drive.hg:
* tools/m4/convert_gio.m4: add get_start_stop_type() and
Gio::DriveStartStopType enum
diff --git a/gio/src/resolver.ccg b/gio/src/resolver.ccg
index 1fe7b01..60b5639 100644
--- a/gio/src/resolver.ccg
+++ b/gio/src/resolver.ccg
@@ -32,4 +32,64 @@ void Resolver::set_default(const Glib::RefPtr<Resolver>& resolver)
g_resolver_set_default(Glib::unwrap(resolver));
}
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+Glib::ListHandle< Glib::RefPtr<InetAddress> > Resolver::lookup_by_name(const Glib::ustring& hostname)
+#else
+Glib::ListHandle< Glib::RefPtr<InetAddress> > Resolver::lookup_by_name(const Glib::ustring& hostname, std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ Glib::ListHandle< Glib::RefPtr<InetAddress> > retvalue = Glib::ListHandle< Glib::RefPtr<InetAddress> >(g_resolver_lookup_by_name(gobj(), hostname.c_str(), 0, &(gerror)), Glib::OWNERSHIP_SHALLOW);
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return retvalue;
+
+}
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+Glib::ustring Resolver::lookup_by_address(const Glib::RefPtr<InetAddress>& address)
+#else
+Glib::ustring Resolver::lookup_by_address(const Glib::RefPtr<InetAddress>& address, std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ Glib::ustring retvalue = Glib::convert_return_gchar_ptr_to_ustring(g_resolver_lookup_by_address(gobj(), const_cast<GInetAddress*>(Glib::unwrap(address)), 0, &(gerror)));
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return retvalue;
+
+}
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ListHandle_SrvTarget Resolver::lookup_service(const Glib::ustring& service, const Glib::ustring& protocol, const Glib::ustring& domain)
+#else
+ListHandle_SrvTarget Resolver::lookup_service(const Glib::ustring& service, const Glib::ustring& protocol, const Glib::ustring& domain, std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ GError* gerror = 0;
+ ListHandle_SrvTarget retvalue = ListHandle_SrvTarget(g_resolver_lookup_service(gobj(), service.c_str(), protocol.c_str(), domain.c_str(), 0, &(gerror)), Glib::OWNERSHIP_SHALLOW);
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ if(gerror)
+ ::Glib::Error::throw_exception(gerror);
+#else
+ if(gerror)
+ error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ return retvalue;
+
+}
+
} //namespace Gio
diff --git a/gio/src/resolver.hg b/gio/src/resolver.hg
index ef09efa..4e8d589 100644
--- a/gio/src/resolver.hg
+++ b/gio/src/resolver.hg
@@ -57,18 +57,30 @@ public:
_IGNORE(g_resolver_free_addresses)
#m4 _CONVERSION(`GList*',`Glib::ListHandle< Glib::RefPtr<InetAddress> >',`$2($3, Glib::OWNERSHIP_SHALLOW)')
- //TODO without cancellable
_WRAP_METHOD(Glib::ListHandle< Glib::RefPtr<InetAddress> > lookup_by_name(const Glib::ustring& hostname, const Glib::RefPtr<Cancellable>& cancellable), g_resolver_lookup_by_name, errthrow)
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ Glib::ListHandle< Glib::RefPtr<InetAddress> > lookup_by_name(const Glib::ustring& hostname);
+#else
+ Glib::ListHandle< Glib::RefPtr<InetAddress> > lookup_by_name(const Glib::ustring& hostname, std::auto_ptr<Glib::Error>& error);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
//TODO lookup_by_name_async
#m4 _CONVERSION(`GList*',`Glib::ListHandle< Glib::RefPtr<InetAddress> >',`$2($3, Glib::OWNERSHIP_SHALLOW)')
- //TODO without cancellable
_WRAP_METHOD(Glib::ustring lookup_by_address(const Glib::RefPtr<InetAddress>& address, const Glib::RefPtr<Cancellable>& cancellable), g_resolver_lookup_by_address, errthrow)
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ Glib::ustring lookup_by_address(const Glib::RefPtr<InetAddress>& address);
+#else
+ Glib::ustring lookup_by_address(const Glib::RefPtr<InetAddress>& address, std::auto_ptr<Glib::Error>& error);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
//TODO lookup_by_address_async
#m4 _CONVERSION(`GList*',`ListHandle_SrvTarget',`$2($3, Glib::OWNERSHIP_SHALLOW)')
_WRAP_METHOD(ListHandle_SrvTarget lookup_service(const Glib::ustring& service, const Glib::ustring& protocol, const Glib::ustring& domain, const Glib::RefPtr<Cancellable>& cancellable), g_resolver_lookup_service, errthrow)
- //TODO without cancellable
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ ListHandle_SrvTarget lookup_service(const Glib::ustring& service, const Glib::ustring& protocol, const Glib::ustring& domain);
+#else
+ ListHandle_SrvTarget lookup_service(const Glib::ustring& service, const Glib::ustring& protocol, const Glib::ustring& domain, std::auto_ptr<Glib::Error>& error);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
};
} // namespace Gio
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]