[X2Go-Commits] [libx2goclient] 08/18: src/x2goclient-network.c: implement session-path property.

git-admin at x2go.org git-admin at x2go.org
Mon Aug 19 15:47:03 CEST 2019


This is an automated email from the git hooks/post-receive script.

x2go pushed a commit to branch master
in repository libx2goclient.

commit 5cbd63232a34388dd22fb66072d0cda2aba3cb8d
Author: Mihai Moldovan <ionic at ionic.de>
Date:   Mon Aug 19 14:13:13 2019 +0200

    src/x2goclient-network.c: implement session-path property.
---
 src/x2goclient-network.c | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/src/x2goclient-network.c b/src/x2goclient-network.c
index 6278f55..7532b76 100644
--- a/src/x2goclient-network.c
+++ b/src/x2goclient-network.c
@@ -53,6 +53,7 @@ typedef struct X2GoClientNetworkPrivate_ {
   GString *socket_spec;
   GSocketAddress *socket;
   X2GoClientNetworkOptions *options;
+  gchar *session_path; /* Will eventually be replaced with a session object, probably. */
 } X2GoClientNetworkPrivate;
 
 G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (X2GoClientNetwork, x2goclient_network, G_TYPE_OBJECT);
@@ -69,6 +70,7 @@ enum {
   X2GO_NET_PROP_SOCKET_SPEC = 1,
   X2GO_NET_PROP_SOCKET,
   X2GO_NET_PROP_OPTIONS,
+  X2GO_NET_PROP_SESSION_PATH,
   X2GO_NET_N_PROPERTIES
 };
 
@@ -103,6 +105,17 @@ static void x2goclient_network_class_init (X2GoClientNetworkClass *klass) {
                                                                    X2GOCLIENT_TYPE_NETWORK_OPTIONS,
                                                                    G_PARAM_READWRITE);
 
+  GString *default_session_path = g_string_new (g_get_home_dir ());
+  g_string_append (default_session_path, "/.libx2goclient/");
+  net_obj_properties[X2GO_NET_PROP_SESSION_PATH] = g_param_spec_string ("session-path", _("Base path to session data"),
+                                                                        _("The file system path that will be used as the "
+                                                                          "session data base path. SSH-related files will "
+                                                                          "land there."),
+                                                                        default_session_path->str,
+                                                                        G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE);
+  g_string_free (default_session_path, TRUE);
+  default_session_path = NULL;
+
   g_object_class_install_properties (object_class, X2GO_NET_N_PROPERTIES, net_obj_properties);
 }
 
@@ -124,6 +137,8 @@ static void x2goclient_network_finalize (GObject *object) {
 
   g_string_free (priv->socket_spec, TRUE);
   priv->socket_spec = NULL;
+  g_free (priv->session_path);
+  priv->session_path = NULL;
 
   (G_OBJECT_CLASS (x2goclient_network_parent_class))->finalize (object);
 }
@@ -158,6 +173,11 @@ static void x2goclient_network_set_property (GObject *object, guint prop_id, con
                                       priv->socket_spec = g_value_dup_boxed (value);
                                       priv->socket = x2goclient_network_parse_sockspec (self, priv->socket_spec);
                                       break;
+    case (X2GO_NET_PROP_SESSION_PATH):
+                                       g_free (priv->session_path);
+                                       priv->session_path = NULL;
+                                       priv->session_path = g_value_dup_string (value);
+                                       break;
     case (X2GO_NET_PROP_OPTIONS):
                                   g_clear_object (&(priv->options));
                                   priv->options = g_value_dup_object (value);
@@ -179,6 +199,9 @@ static void x2goclient_network_get_property (GObject *object, guint prop_id, GVa
     case (X2GO_NET_PROP_OPTIONS):
                                   g_value_set_object (value, priv->options);
                                   break;
+    case (X2GO_NET_PROP_SESSION_PATH):
+                                       g_value_set_string (value, priv->session_path);
+                                       break;
     default:
              G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, param_spec);
              break;

--
Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/libx2goclient.git


More information about the x2go-commits mailing list