summaryrefslogtreecommitdiff
path: root/gio/src/socket.ccg
diff options
context:
space:
mode:
authorDaniel Elstner <danielk@openismus.com>2009-09-08 18:03:41 +0200
committerDaniel Elstner <danielk@openismus.com>2009-09-08 18:12:07 +0200
commita8154e320e5da74564c7f068baeea2c1ab03f949 (patch)
tree974eaf90fe16635d70dc4d144f2a656115bd8ce8 /gio/src/socket.ccg
parent9fb2a37f8989cdc965164052aecb095f66ddbebe (diff)
downloadglibmm-a8154e320e5da74564c7f068baeea2c1ab03f949.tar.gz
Implement Gio::Socket ctors using Gio::Initable
* gio/src/gio_vfuncs.defs: Add GInitableClass::init() vfunc. * gio/src/initable.{ccg,hg} (Initable::init): Use _WRAP_METHOD(). (Initable::init_vfunc): Wrap GInitableClass::init() vfunc. * gio/src/socket.{ccg,hg} (Socket::Socket): Wrap constructors manually. Call Initable::init() from the constructor body. (Socket::create), (Socket::create_from_fd): Forward to constructors. * tools/m4/convert_gio.m4: Add conversion from GCancellable* to const Glib::RefPtr<Cancellable>&.
Diffstat (limited to 'gio/src/socket.ccg')
-rw-r--r--gio/src/socket.ccg29
1 files changed, 29 insertions, 0 deletions
diff --git a/gio/src/socket.ccg b/gio/src/socket.ccg
index 1850a92e..2a950027 100644
--- a/gio/src/socket.ccg
+++ b/gio/src/socket.ccg
@@ -24,6 +24,35 @@
namespace Gio
{
+Socket::Socket(SocketFamily family, SocketType type, SocketProtocol protocol,
+ const Glib::RefPtr<Cancellable>& cancellable)
+:
+ _CONSTRUCT("family", int(family), "type", int(type), "protocol", int(protocol))
+{
+ init(cancellable);
+}
+
+Socket::Socket(int fd, const Glib::RefPtr<Cancellable>& cancellable)
+:
+ _CONSTRUCT("fd", fd)
+{
+ init(cancellable);
+}
+
+// static
+Glib::RefPtr<Socket> Socket::create(SocketFamily family, SocketType type, SocketProtocol protocol,
+ const Glib::RefPtr<Cancellable>& cancellable)
+{
+ return Glib::RefPtr<Socket>(new Socket(family, type, protocol, cancellable));
+}
+
+// static
+Glib::RefPtr<Socket> Socket::create_from_fd(int fd, const Glib::RefPtr<Cancellable>& cancellable)
+{
+ return Glib::RefPtr<Socket>(new Socket(fd, cancellable));
+}
+
+
#ifdef GLIBMM_EXCEPTIONS_ENABLED
void Socket::connect(const Glib::RefPtr<SocketAddress>& address)
#else