// -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 2 -*- /* Copyright (C) 2008 Jonathon Jongsma * * 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 #include #include "slot_async.h" namespace Gio { Glib::RefPtr Resolver::get_default() { return Glib::wrap(g_resolver_get_default()); } void Resolver::set_default(const Glib::RefPtr& resolver) { g_resolver_set_default(Glib::unwrap(resolver)); } void Resolver::lookup_by_name_async(const Glib::ustring& hostname, const SlotAsyncReady& slot, const Glib::RefPtr& cancellable) { SlotAsyncReady* slot_copy = new SlotAsyncReady(slot); g_resolver_lookup_by_name_async (gobj(), hostname.c_str(), Glib::unwrap(cancellable), &SignalProxy_async_callback, slot_copy); } void Resolver::lookup_by_name_async(const Glib::ustring& hostname, const SlotAsyncReady& slot) { SlotAsyncReady* slot_copy = new SlotAsyncReady(slot); g_resolver_lookup_by_name_async (gobj(), hostname.c_str(), 0, &SignalProxy_async_callback, slot_copy); } void Resolver::lookup_by_address_async(const Glib::RefPtr& address, const SlotAsyncReady& slot, const Glib::RefPtr& cancellable) { SlotAsyncReady* slot_copy = new SlotAsyncReady(slot); g_resolver_lookup_by_address_async (gobj(), Glib::unwrap(address), Glib::unwrap(cancellable), &SignalProxy_async_callback, slot_copy); } void Resolver::lookup_by_address_async(const Glib::RefPtr& address, const SlotAsyncReady& slot) { SlotAsyncReady* slot_copy = new SlotAsyncReady(slot); g_resolver_lookup_by_address_async (gobj(), Glib::unwrap(address), 0, &SignalProxy_async_callback, slot_copy); } void Resolver::lookup_service_async(const Glib::ustring& service, const Glib::ustring& protocol, const Glib::ustring& domain, const SlotAsyncReady& slot, const Glib::RefPtr& cancellable) { SlotAsyncReady* slot_copy = new SlotAsyncReady(slot); g_resolver_lookup_service_async (gobj(), service.c_str(), protocol.c_str(), domain.c_str(), Glib::unwrap(cancellable), &SignalProxy_async_callback, slot_copy); } void Resolver::lookup_service_async(const Glib::ustring& service, const Glib::ustring& protocol, const Glib::ustring& domain, const SlotAsyncReady& slot) { SlotAsyncReady* slot_copy = new SlotAsyncReady(slot); g_resolver_lookup_service_async (gobj(), service.c_str(), protocol.c_str(), domain.c_str(), 0, &SignalProxy_async_callback, slot_copy); } void Resolver::lookup_records_async(const Glib::ustring& rrname, ResolverRecordType record_type, const SlotAsyncReady& slot, const Glib::RefPtr& cancellable) { SlotAsyncReady* slot_copy = new SlotAsyncReady(slot); g_resolver_lookup_records_async(gobj(), (rrname.empty() ? 0 : rrname.c_str()), static_cast(record_type), Glib::unwrap(cancellable), &SignalProxy_async_callback, slot_copy); } void Resolver::lookup_records_async(const Glib::ustring& rrname, ResolverRecordType record_type, const SlotAsyncReady& slot) { SlotAsyncReady* slot_copy = new SlotAsyncReady(slot); g_resolver_lookup_records_async(gobj(), (rrname.empty() ? 0 : rrname.c_str()), static_cast(record_type), 0, &SignalProxy_async_callback, slot_copy); } std::string hostname_to_ascii (const Glib::ustring& hostname) { return Glib::convert_return_gchar_ptr_to_stdstring (g_hostname_to_ascii (hostname.c_str ())); } Glib::ustring hostname_to_unicode (const Glib::ustring& hostname) { return Glib::convert_return_gchar_ptr_to_ustring (g_hostname_to_unicode (hostname.c_str ())); } bool hostname_is_non_ascii (const Glib::ustring& hostname) { return g_hostname_is_non_ascii (hostname.c_str ()); } bool hostname_is_ascii_encoded (const Glib::ustring& hostname) { return g_hostname_is_ascii_encoded (hostname.c_str ()); } bool hostname_is_ip_address (const Glib::ustring& hostname) { return g_hostname_is_ip_address (hostname.c_str ()); } } //namespace Gio