[glibmm] Socket. Add several methods.
- From: Murray Cumming <murrayc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glibmm] Socket. Add several methods.
- Date: Fri, 7 Sep 2012 08:37:48 +0000 (UTC)
commit 4ed74613e54dd4cdc13c51496e35c8324e34205c
Author: Murray Cumming <murrayc murrayc com>
Date: Fri Sep 7 10:37:43 2012 +0200
Socket. Add several methods.
* gio/src/socket.hg: Added create_source(),
get_available_bytes(), get_ttl(), set_ttl(),
get_broadcast(), set_broadcast(),
get_multicast_loopback(), set_multicast_loopback(),
get_multicast_ttl(), set_multicast_ttl(),
join_multicast_group(), leave_multicast_group(),
and properties.
* tools/m4/convert_glib.m4: Added a conversion for
GIOSource.
ChangeLog | 14 ++++++++++++++
gio/src/socket.hg | 32 +++++++++++++++++++++++++++++++-
tools/m4/convert_glib.m4 | 3 +++
3 files changed, 48 insertions(+), 1 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 2d2badd..0d08834 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,19 @@
2012-09-07 Murray Cumming <murrayc murrayc com>
+ Socket. Add several methods.
+
+ * gio/src/socket.hg: Added create_source(),
+ get_available_bytes(), get_ttl(), set_ttl(),
+ get_broadcast(), set_broadcast(),
+ get_multicast_loopback(), set_multicast_loopback(),
+ get_multicast_ttl(), set_multicast_ttl(),
+ join_multicast_group(), leave_multicast_group(),
+ and properties.
+ * tools/m4/convert_glib.m4: Added a conversion for
+ GIOSource.
+
+2012-09-07 Murray Cumming <murrayc murrayc com>
+
Volume: Add get_sort_key().
* gio/src/volume.hg: Wrap g_volume_get_sort_key().
diff --git a/gio/src/socket.hg b/gio/src/socket.hg
index 1587c0a..d50acf9 100644
--- a/gio/src/socket.hg
+++ b/gio/src/socket.hg
@@ -24,6 +24,7 @@
#include <giomm/socketconnectable.h>
#include <giomm/socketaddress.h>
#include <giomm/enums.h>
+#include <giomm/inetaddress.h>
_DEFS(giomm,gio)
_PINCLUDE(glibmm/private/object_p.h)
@@ -149,6 +150,9 @@ public:
// TODO: wrap g_socket_send_message -- figure out this GOutputVector thing
_WRAP_METHOD(void close(), g_socket_close, errthrow)
_WRAP_METHOD(bool is_closed(), g_socket_is_closed)
+
+ _WRAP_METHOD(Glib::RefPtr<Glib::IOSource> create_source(Glib::IOCondition condition, const Glib::RefPtr<Cancellable>& cancellable{?}), g_socket_create_source)
+
_WRAP_METHOD(void shutdown(bool shutdown_read, bool shutdown_write), g_socket_shutdown, errthrow)
_WRAP_METHOD(bool is_connected(), g_socket_is_connected)
@@ -157,11 +161,18 @@ public:
// constructor that takes a GSource*
//#m4 _CONVERSION(`GSource*',`Glib::RefPtr<Glib::Source>',`Glib::RefPtr<Glib::Source>(new ::Glib::Source($3))')
//_WRAP_METHOD(Glib::RefPtr<Glib::Source> create_source(Glib::IOCondition condition, const Glib::RefPtr<Cancellable>& cancellable), g_socket_create_source)
+
+ _WRAP_METHOD(gssize get_available_bytes() const, g_socket_get_available_bytes)
+
_WRAP_METHOD(Glib::IOCondition condition_check(Glib::IOCondition condition), g_socket_condition_check)
_WRAP_METHOD(void condition_wait(Glib::IOCondition condition, const Glib::RefPtr<Cancellable>& cancellable), g_socket_condition_wait, errthrow)
+
+ //TODO: Documentation.
void condition_wait(Glib::IOCondition condition);
+ _WRAP_METHOD(void condition_timed_wait(Glib::IOCondition condition, gint64 timeout, const Glib::RefPtr<Cancellable>& cancellable{?}), g_socket_condition_timed_wait, errthrow)
+
_WRAP_METHOD(void set_listen_backlog(int backlog), g_socket_set_listen_backlog)
_WRAP_METHOD(int get_listen_backlog() const, g_socket_get_listen_backlog)
_WRAP_METHOD(void set_blocking(bool blocking), g_socket_set_blocking)
@@ -187,7 +198,22 @@ public:
_WRAP_METHOD_DOCS_ONLY(g_socket_send_with_blocking)
gssize send_with_blocking(gchar* buffer, gsize size, bool blocking, const Glib::RefPtr<Cancellable>& cancellable = Glib::RefPtr<Cancellable>());
-
+
+ _WRAP_METHOD(guint get_ttl() const, g_socket_get_ttl)
+ _WRAP_METHOD(void set_ttl(guint ttl), g_socket_set_ttl)
+
+ _WRAP_METHOD(bool get_broadcast() const, g_socket_get_broadcast )
+ _WRAP_METHOD(void set_broadcast(bool broadcast), g_socket_set_broadcast)
+
+ _WRAP_METHOD(bool get_multicast_loopback() const, g_socket_get_multicast_loopback)
+ _WRAP_METHOD(void set_multicast_loopback(bool loopback), g_socket_set_multicast_loopback)
+ _WRAP_METHOD(guint get_multicast_ttl() const, g_socket_get_multicast_ttl)
+ _WRAP_METHOD(void set_multicast_ttl(guint ttl), g_socket_set_multicast_ttl)
+
+ _WRAP_METHOD(bool join_multicast_group(const Glib::RefPtr<InetAddress>& group, bool source_specific, const std::string& iface{?}), g_socket_join_multicast_group, errthrow)
+ _WRAP_METHOD(bool leave_multicast_group(const Glib::RefPtr<InetAddress>& ggroup, bool source_specific, const std::string& iface{?}), g_socket_leave_multicast_group, errthrow)
+
+
_WRAP_PROPERTY("blocking", bool)
_WRAP_PROPERTY("family", SocketFamily)
_WRAP_PROPERTY("fd", int)
@@ -197,7 +223,11 @@ public:
_WRAP_PROPERTY("remote-address", Glib::RefPtr<SocketAddress>)
_WRAP_PROPERTY("timeout", guint)
_WRAP_PROPERTY("protocol", SocketProtocol)
+ _WRAP_PROPERTY("broadcast", bool)
_WRAP_PROPERTY("type", SocketType)
+ _WRAP_PROPERTY("ttl", guint)
+ _WRAP_PROPERTY("multicast-loopback", bool)
+ _WRAP_PROPERTY("multicast-ttl", guint)
};
} // namespace Gio
diff --git a/tools/m4/convert_glib.m4 b/tools/m4/convert_glib.m4
index 580ba6b..3c2e28b 100644
--- a/tools/m4/convert_glib.m4
+++ b/tools/m4/convert_glib.m4
@@ -131,6 +131,9 @@ dnl Regex
_CONVERSION(`GRegex*',`Glib::RefPtr<Regex>',`Glib::wrap($3)')
_CONVERSION(`GRegex*',`Glib::RefPtr<const Regex>',`Glib::wrap($3)')
+#Source
+_CONVERSION(`GSource*',`Glib::RefPtr<Glib::IOSource>',`Glib::wrap($3)')
+
dnl TimeVal
_CONVERSION(`const TimeVal&',`const GTimeVal*',`&($3)')
_CONVERSION(`TimeVal&',`GTimeVal*',`&($3)')
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]