[gnome-control-center] sharing: Update for sharing plugin API changes
- From: Bastien Nocera <hadess src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center] sharing: Update for sharing plugin API changes
- Date: Wed, 25 Jun 2014 14:56:11 +0000 (UTC)
commit ff8a8a6baa44ababdae5e6c3e4b644fcc9fbd0f3
Author: Bastien Nocera <hadess hadess net>
Date: Wed Jun 25 16:21:06 2014 +0200
sharing: Update for sharing plugin API changes
See https://bugzilla.gnome.org/show_bug.cgi?id=732218
panels/sharing/cc-sharing-networks.c | 30 ++++++++++++--------
.../sharing/org.gnome.SettingsDaemon.Sharing.xml | 3 +-
2 files changed, 20 insertions(+), 13 deletions(-)
---
diff --git a/panels/sharing/cc-sharing-networks.c b/panels/sharing/cc-sharing-networks.c
index f8d2fd1..2cf77a1 100644
--- a/panels/sharing/cc-sharing-networks.c
+++ b/panels/sharing/cc-sharing-networks.c
@@ -63,6 +63,7 @@ static void cc_sharing_networks_finalize (GObject *obje
static void cc_sharing_update_networks_box (CcSharingNetworks *self);
typedef struct {
+ char *uuid;
char *network_name;
char *carrier_type;
} CcSharingNetwork;
@@ -72,6 +73,7 @@ cc_sharing_network_free (gpointer data)
{
CcSharingNetwork *net = data;
+ g_free (net->uuid);
g_free (net->network_name);
g_free (net->carrier_type);
g_free (net);
@@ -119,7 +121,7 @@ static void
cc_sharing_update_networks (CcSharingNetworks *self)
{
GVariant *networks;
- char *network_name, *carrier_type;
+ char *uuid, *network_name, *carrier_type;
GVariantIter iter;
GError *error = NULL;
@@ -136,10 +138,11 @@ cc_sharing_update_networks (CcSharingNetworks *self)
}
g_variant_iter_init (&iter, networks);
- while (g_variant_iter_next (&iter, "{ss}", &network_name, &carrier_type)) {
+ while (g_variant_iter_next (&iter, "(sss)", &uuid, &network_name, &carrier_type)) {
CcSharingNetwork *net;
net = g_new0 (CcSharingNetwork, 1);
+ net->uuid = uuid;
net->network_name = network_name;
net->carrier_type = carrier_type;
self->priv->networks = g_list_prepend (self->priv->networks, net);
@@ -156,14 +159,14 @@ cc_sharing_networks_remove_network (GtkWidget *button,
GtkWidget *row;
GError *error = NULL;
gboolean ret;
- const char *network_name;
+ const char *uuid;
row = g_object_get_data (G_OBJECT (button), "row");
- network_name = g_object_get_data (G_OBJECT (row), "network-name");
+ uuid = g_object_get_data (G_OBJECT (row), "uuid");
ret = gsd_sharing_call_disable_service_sync (self->priv->proxy,
self->priv->service_name,
- network_name,
+ uuid,
NULL,
&error);
if (!ret) {
@@ -214,7 +217,8 @@ cc_sharing_networks_enable_network (GtkSwitch *widget,
}
static GtkWidget *
-cc_sharing_networks_new_row (const char *network_name,
+cc_sharing_networks_new_row (const char *uuid,
+ const char *network_name,
const char *carrier_type,
CcSharingNetworks *self)
{
@@ -254,7 +258,7 @@ cc_sharing_networks_new_row (const char *network_name,
G_CALLBACK (cc_sharing_networks_remove_network), self);
g_object_set_data (G_OBJECT (w), "row", row);
- g_object_set_data_full (G_OBJECT (row), "network-name", g_strdup (network_name), g_free);
+ g_object_set_data_full (G_OBJECT (row), "uuid", g_strdup (uuid), g_free);
gtk_widget_show_all (row);
@@ -342,15 +346,16 @@ cc_sharing_update_networks_box (CcSharingNetworks *self)
if (current_network != NULL &&
!g_str_equal (current_network, "")) {
gboolean available;
- const char *carrier_type, *icon_name;
+ const char *carrier_type, *icon_name, *current_network_name;
gtk_widget_show (self->priv->current_row);
current_visible = TRUE;
/* Network name */
g_object_set_data_full (G_OBJECT (self->priv->current_row),
- "network-name", g_strdup (current_network), g_free);
- gtk_label_set_label (GTK_LABEL (self->priv->current_label), current_network);
+ "uuid", g_strdup (current_network), g_free);
+ current_network_name = gsd_sharing_get_current_network_name (self->priv->proxy);
+ gtk_label_set_label (GTK_LABEL (self->priv->current_label), current_network_name);
/* Icon */
carrier_type = gsd_sharing_get_carrier_type (self->priv->proxy);
@@ -376,7 +381,7 @@ cc_sharing_update_networks_box (CcSharingNetworks *self)
CcSharingNetwork *net = l->data;
GtkWidget *row;
- if (g_strcmp0 (net->network_name, current_network) == 0) {
+ if (g_strcmp0 (net->uuid, current_network) == 0) {
g_signal_handlers_block_by_func (self->priv->current_switch,
cc_sharing_networks_enable_network, self);
gtk_switch_set_state (GTK_SWITCH (self->priv->current_switch), TRUE);
@@ -385,7 +390,8 @@ cc_sharing_update_networks_box (CcSharingNetworks *self)
continue;
}
- row = cc_sharing_networks_new_row (net->network_name,
+ row = cc_sharing_networks_new_row (net->uuid,
+ net->network_name,
net->carrier_type,
self);
gtk_list_box_insert (GTK_LIST_BOX (self->priv->listbox), row, -1);
diff --git a/panels/sharing/org.gnome.SettingsDaemon.Sharing.xml
b/panels/sharing/org.gnome.SettingsDaemon.Sharing.xml
index eefc13f..1710c3e 100644
--- a/panels/sharing/org.gnome.SettingsDaemon.Sharing.xml
+++ b/panels/sharing/org.gnome.SettingsDaemon.Sharing.xml
@@ -1,5 +1,6 @@
<node name="/org/gnome/SettingsDaemon/Sharing">
<interface name='org.gnome.SettingsDaemon.Sharing'>
+ <property name='CurrentNetworkName' type='s' access='read'/>
<property name='CurrentNetwork' type='s' access='read'/>
<property name='CarrierType' type='s' access='read'/>
<property name='SharingStatus' type='u' access='read'/>
@@ -12,7 +13,7 @@
</method>
<method name='ListNetworks'>
<arg name='service_name' direction='in' type='s'/>
- <arg name='networks' direction='out' type='a{ss}'/>
+ <arg name='networks' direction='out' type='a(sss)'/>
</method>
</interface>
</node>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]