[network-manager-netbook] Add 3G and ethernet state getters/setters/signals to the main state object.
- From: Tambet Ingo <tambeti src gnome org>
- To: svn-commits-list gnome org
- Subject: [network-manager-netbook] Add 3G and ethernet state getters/setters/signals to the main state object.
- Date: Tue, 26 May 2009 09:41:50 -0400 (EDT)
commit 8b6d0f457b5da06dd70518efe09e5b4e9a1a5b88
Author: Tambet Ingo <tambet gmail com>
Date: Tue May 26 12:42:12 2009 +0300
Add 3G and ethernet state getters/setters/signals to the main state object.
---
src/nmn-nm-data.c | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++++
src/nmn-nm-data.h | 17 ++++++++++-
2 files changed, 102 insertions(+), 1 deletions(-)
diff --git a/src/nmn-nm-data.c b/src/nmn-nm-data.c
index fbd2d9b..51e5649 100644
--- a/src/nmn-nm-data.c
+++ b/src/nmn-nm-data.c
@@ -6,12 +6,24 @@
G_DEFINE_TYPE (NmnNMData, nmn_nm_data, NM_TYPE_CLIENT)
+enum {
+ ETHERNET_TOGGLED,
+ MODEMS_TOGGLED,
+
+ LAST_SIGNAL
+};
+
+static guint signals[LAST_SIGNAL];
+
#define GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), NMN_TYPE_NM_DATA, NmnNMDataPrivate))
typedef struct {
NMSettings *user_settings;
NMSettings *system_settings;
+ gboolean ethernet_active;
+ gboolean modems_active;
+
gboolean disposed;
} NmnNMDataPrivate;
@@ -40,9 +52,62 @@ nmn_nm_data_get_system_settings (NmnNMData *self)
return GET_PRIVATE (self)->system_settings;
}
+gboolean
+nmn_nm_data_ethernet_get_active (NmnNMData *self)
+{
+ g_return_val_if_fail (NMN_IS_NM_DATA (self), FALSE);
+
+ return GET_PRIVATE (self)->ethernet_active;
+}
+
+void
+nmn_nm_data_ethernet_toggled (NmnNMData *self,
+ gboolean active)
+{
+ NmnNMDataPrivate *priv;
+
+ g_return_if_fail (NMN_IS_NM_DATA (self));
+
+ priv = GET_PRIVATE (self);
+ if (priv->ethernet_active != active) {
+ /* FIXME: Save in gconf? */
+ priv->ethernet_active = active;
+ g_signal_emit (self, signals[ETHERNET_TOGGLED], 0, active);
+ }
+}
+
+gboolean
+nmn_nm_data_modems_get_active (NmnNMData *self)
+{
+ g_return_val_if_fail (NMN_IS_NM_DATA (self), FALSE);
+
+ return GET_PRIVATE (self)->modems_active;
+}
+
+void
+nmn_nm_data_modems_toggled (NmnNMData *self,
+ gboolean active)
+{
+ NmnNMDataPrivate *priv;
+
+ g_return_if_fail (NMN_IS_NM_DATA (self));
+
+ priv = GET_PRIVATE (self);
+ if (priv->modems_active != active) {
+ /* FIXME: Save in gconf? */
+ priv->modems_active = active;
+ g_signal_emit (self, signals[MODEMS_TOGGLED], 0, active);
+ }
+}
+
static void
nmn_nm_data_init (NmnNMData *self)
{
+ NmnNMDataPrivate *priv = GET_PRIVATE (self);
+
+ /* FIXME: Load from gconf? */
+ priv->ethernet_active = TRUE;
+ priv->modems_active = TRUE;
}
static GObject*
@@ -93,4 +158,25 @@ nmn_nm_data_class_init (NmnNMDataClass *class)
object_class->constructor = constructor;
object_class->dispose = dispose;
+
+ /* signals */
+ signals[ETHERNET_TOGGLED] = g_signal_new
+ ("ethernet-toggled",
+ G_OBJECT_CLASS_TYPE (class),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (NmnNMDataClass, ethernet_toggled),
+ NULL, NULL,
+ g_cclosure_marshal_VOID__BOOLEAN,
+ G_TYPE_NONE, 1,
+ G_TYPE_BOOLEAN);
+
+ signals[MODEMS_TOGGLED] = g_signal_new
+ ("modems-toggled",
+ G_OBJECT_CLASS_TYPE (class),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (NmnNMDataClass, modems_toggled),
+ NULL, NULL,
+ g_cclosure_marshal_VOID__BOOLEAN,
+ G_TYPE_NONE, 1,
+ G_TYPE_BOOLEAN);
}
diff --git a/src/nmn-nm-data.h b/src/nmn-nm-data.h
index 6f0bc49..8886f45 100644
--- a/src/nmn-nm-data.h
+++ b/src/nmn-nm-data.h
@@ -20,12 +20,27 @@ typedef struct {
typedef struct {
NMClientClass parent;
+
+ /* Signals */
+ void (*ethernet_toggled) (NmnNMData *self,
+ gboolean active);
+
+ void (*modems_toggled) (NmnNMData *self,
+ gboolean active);
} NmnNMDataClass;
GType nmn_nm_data_get_type (void);
-NmnNMData *nmn_nm_data_new (DBusGConnection *bus);
+NmnNMData *nmn_nm_data_new (DBusGConnection *bus);
NMSettings *nmn_nm_data_get_user_settings (NmnNMData *data);
NMSettings *nmn_nm_data_get_system_settings (NmnNMData *data);
+gboolean nmn_nm_data_ethernet_get_active (NmnNMData *self);
+void nmn_nm_data_ethernet_toggled (NmnNMData *self,
+ gboolean active);
+
+gboolean nmn_nm_data_modems_get_active (NmnNMData *self);
+void nmn_nm_data_modems_toggled (NmnNMData *self,
+ gboolean active);
+
#endif /* NMN_NM_DATA_H */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]