diff options
author | Jonathon Jongsma <jonathon@quotidian.org> | 2010-01-02 18:32:00 -0600 |
---|---|---|
committer | Jonathon Jongsma <jonathon@quotidian.org> | 2010-01-02 19:17:28 -0600 |
commit | 869c20eabe798e5c2af6311cf398fbb169a579ed (patch) | |
tree | bada4a8a69e10586d81b24260acfd3754afd235e /gio/src/socketclient.ccg | |
parent | aa170c2b2267cc962e81667b4dadd8ee08394b70 (diff) | |
download | glibmm-869c20eabe798e5c2af6311cf398fbb169a579ed.tar.gz |
Wrap SocketClient, SocketConnection, TcpConnection, UnixConnection
Diffstat (limited to 'gio/src/socketclient.ccg')
-rw-r--r-- | gio/src/socketclient.ccg | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/gio/src/socketclient.ccg b/gio/src/socketclient.ccg new file mode 100644 index 00000000..b947e769 --- /dev/null +++ b/gio/src/socketclient.ccg @@ -0,0 +1,83 @@ +// -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 2 -*- + +/* Copyright (C) 2010 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 <gio/gio.h> +#include <giomm/asyncresult.h> +#include "slot_async.h" + +namespace Gio +{ + +void +SocketClient::connect_async(const Glib::RefPtr<SocketConnectable>& connectable, + const Glib::RefPtr<Cancellable>& cancellable, + const SlotAsyncReady& slot) +{ + // Create a copy of the slot. + // A pointer to it will be passed through the callback's data parameter + // and deleted in the callback. + SlotAsyncReady* slot_copy = new SlotAsyncReady(slot); + + g_socket_client_connect_async (gobj(), + connectable->gobj (), + cancellable->gobj(), + &SignalProxy_async_callback, + slot_copy); +} + +void +SocketClient::connect_to_host_async(const Glib::ustring& host_and_port, + guint16 default_port, + const Glib::RefPtr<Cancellable>& cancellable, + const SlotAsyncReady& slot) +{ + // Create a copy of the slot. + // A pointer to it will be passed through the callback's data parameter + // and deleted in the callback. + SlotAsyncReady* slot_copy = new SlotAsyncReady(slot); + + g_socket_client_connect_to_host_async (gobj(), + host_and_port.c_str (), + default_port, + cancellable->gobj(), + &SignalProxy_async_callback, + slot_copy); +} + +void +SocketClient::connect_to_service_async(const Glib::ustring& domain, + const Glib::ustring& service, + const Glib::RefPtr<Cancellable>& cancellable, + const SlotAsyncReady& slot) +{ + // Create a copy of the slot. + // A pointer to it will be passed through the callback's data parameter + // and deleted in the callback. + SlotAsyncReady* slot_copy = new SlotAsyncReady(slot); + + g_socket_client_connect_to_service_async (gobj(), + domain.c_str (), + service.c_str (), + cancellable->gobj(), + &SignalProxy_async_callback, + slot_copy); +} + + +} // namespace Gio |