summaryrefslogtreecommitdiff
path: root/gio/src/socket.ccg
diff options
context:
space:
mode:
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