This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository libx2goclient. commit 9385bf141f86ef45a1c9355f1c371127ec06665c Author: Mihai Moldovan <ionic@ionic.de> Date: Mon Jul 15 12:37:39 2019 +0200 src/x2goclient-network.{h,c}: implement basic abstract network object classes. G-IR spits multiple warnings because of the mismatching namespace, but I wasn't able to find out what this is referring to. --- src/x2goclient-network.c | 60 ++++++++++++++++++++++++++++++++++++++++++++++++ src/x2goclient-network.h | 16 +++++++++++++ 2 files changed, 76 insertions(+) diff --git a/src/x2goclient-network.c b/src/x2goclient-network.c index dce782f..2c46092 100644 --- a/src/x2goclient-network.c +++ b/src/x2goclient-network.c @@ -24,6 +24,7 @@ #include <glib.h> #include <glib/gi18n.h> +#include <gio/gio.h> #ifdef HAVE_CONFIG_H #include "config.h" @@ -31,3 +32,62 @@ #include "x2goclient.h" #include "x2goclient-network.h" + +/* Not sure if we need this, so comment out for now. */ +/* +typedef struct X2GoClientNetworkOptionsPrivate_ { +} X2GoClientNetworkOptionsPrivate; +*/ + +/* G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (X2GoClientNetworkOptions, x2goclient_network_options, G_TYPE_OBJECT); */ +G_DEFINE_ABSTRACT_TYPE (X2GoClientNetworkOptions, x2goclient_network_options, G_TYPE_OBJECT); + +static void x2goclient_network_options_class_init (X2GoClientNetworkOptionsClass *klass) { +} + +static void x2goclient_network_options_init (X2GoClientNetworkOptions *self) { +} + + +/* +typedef struct X2GoClientNetworkPrivate_ { +} X2GoClientNetworkPrivate; +*/ + +/* G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (X2GoClientNetwork, x2goclient_network, G_TYPE_OBJECT); */ +G_DEFINE_ABSTRACT_TYPE (X2GoClientNetwork, x2goclient_network, G_TYPE_OBJECT); + +/* + * Caution: NEVER abbreviate names in public (API) space. + * + * Since this file is a private implementation and nothing, short of + * extern variables, structs, functions, ... that come via headers, + * is actually exported, we can go bonkers with abbreviations. + */ +enum { + X2GO_NET_PROP_SOCKET = 1, + X2GO_NET_PROP_OPTIONS, + X2GO_NET_N_PROPERTIES +}; + +static GParamSpec *net_obj_properties[X2GO_NET_N_PROPERTIES] = { NULL, }; + +static void x2goclient_network_class_init (X2GoClientNetworkClass *klass) { + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + net_obj_properties[X2GO_NET_PROP_SOCKET] = g_param_spec_object ("socket", "Low-level socket", + "Low-level socket for the network connection, the local " + "part will be used for local binding if specified.", + G_TYPE_SOCKET_ADDRESS, + G_PARAM_READWRITE); + + net_obj_properties[X2GO_NET_PROP_OPTIONS] = g_param_spec_object ("options", "Socket options", + "Specific socket options.", + X2GOCLIENT_TYPE_NETWORK_OPTIONS, + G_PARAM_READWRITE); + + g_object_class_install_properties (object_class, X2GO_NET_N_PROPERTIES, net_obj_properties); +} + +static void x2goclient_network_init (X2GoClientNetwork *self) { +} diff --git a/src/x2goclient-network.h b/src/x2goclient-network.h index 4f64309..998221a 100644 --- a/src/x2goclient-network.h +++ b/src/x2goclient-network.h @@ -25,8 +25,24 @@ #ifndef x2goclient_network_h #define x2goclient_network_h +#include <glib-object.h> + G_BEGIN_DECLS +#define X2GOCLIENT_TYPE_NETWORK_OPTIONS (x2goclient_network_options_get_type ()) +G_DECLARE_DERIVABLE_TYPE (X2GoClientNetworkOptions, x2goclient_network_options, X2GOCLIENT, NETWORK_OPTIONS, GObject) + +struct _X2GoClientNetworkOptionsClass { + GObjectClass parent_class; +}; + +#define X2GOCLIENT_TYPE_NETWORK (x2goclient_network_get_type ()) +G_DECLARE_DERIVABLE_TYPE (X2GoClientNetwork, x2goclient_network, X2GOCLIENT, NETWORK, GObject) + +struct _X2GoClientNetworkClass { + GObjectClass parent_class; +}; + G_END_DECLS #endif /* x2goclient_network_h */ -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/libx2goclient.git