summaryrefslogtreecommitdiff
path: root/libnm-util/nm-setting-gsm.c
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2008-10-26 17:23:37 +0000
committerDan Williams <dcbw@redhat.com>2008-10-26 17:23:37 +0000
commit76c366b54664d6fefe757bbd2a6c96949411ad48 (patch)
treef1b0b18a42b49a4d17b82cea7ee178b867f21155 /libnm-util/nm-setting-gsm.c
parent41b0e0557358a945572de66d05fba5905beba8a4 (diff)
downloadNetworkManager-76c366b54664d6fefe757bbd2a6c96949411ad48.tar.gz
2008-10-26 Dan Williams <dcbw@redhat.com>
Patch from Tambet Ingo <tambet@gmail.com> * libnm-util/libnm-util.ver libnm-util/nm-setting-gsm.c libnm-util/nm-setting-gsm.h - Make properties private and add accessor functions * src/nm-gsm-device.c src/nm-hso-gsm-device.c src/ppp-manager/nm-ppp-manager.c - Use those accessors git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4219 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Diffstat (limited to 'libnm-util/nm-setting-gsm.c')
-rw-r--r--libnm-util/nm-setting-gsm.c182
1 files changed, 136 insertions, 46 deletions
diff --git a/libnm-util/nm-setting-gsm.c b/libnm-util/nm-setting-gsm.c
index bec4f408d2..9ad0a76b0e 100644
--- a/libnm-util/nm-setting-gsm.c
+++ b/libnm-util/nm-setting-gsm.c
@@ -67,6 +67,22 @@ nm_setting_gsm_error_get_type (void)
G_DEFINE_TYPE (NMSettingGsm, nm_setting_gsm, NM_TYPE_SETTING)
+#define NM_SETTING_GSM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_GSM, NMSettingGsmPrivate))
+
+typedef struct {
+ char *number; /* For dialing, duh */
+ char *username;
+ char *password;
+
+ char *apn; /* NULL for dynamic */
+ char *network_id; /* for manual registration or NULL for automatic */
+ int network_type; /* One of the NM_GSM_NETWORK_* */
+ int band;
+
+ char *pin;
+ char *puk;
+} NMSettingGsmPrivate;
+
enum {
PROP_0,
PROP_NUMBER,
@@ -97,10 +113,82 @@ find_setting_by_name (gconstpointer a, gconstpointer b)
return strcmp (nm_setting_get_name (setting), str);
}
+const char *
+nm_setting_gsm_get_number (NMSettingGsm *setting)
+{
+ g_return_val_if_fail (NM_IS_SETTING_GSM (setting), NULL);
+
+ return NM_SETTING_GSM_GET_PRIVATE (setting)->number;
+}
+
+const char *
+nm_setting_gsm_get_username (NMSettingGsm *setting)
+{
+ g_return_val_if_fail (NM_IS_SETTING_GSM (setting), NULL);
+
+ return NM_SETTING_GSM_GET_PRIVATE (setting)->username;
+}
+
+const char *
+nm_setting_gsm_get_password (NMSettingGsm *setting)
+{
+ g_return_val_if_fail (NM_IS_SETTING_GSM (setting), NULL);
+
+ return NM_SETTING_GSM_GET_PRIVATE (setting)->password;
+}
+
+const char *
+nm_setting_gsm_get_apn (NMSettingGsm *setting)
+{
+ g_return_val_if_fail (NM_IS_SETTING_GSM (setting), NULL);
+
+ return NM_SETTING_GSM_GET_PRIVATE (setting)->apn;
+}
+
+const char *
+nm_setting_gsm_get_network_id (NMSettingGsm *setting)
+{
+ g_return_val_if_fail (NM_IS_SETTING_GSM (setting), NULL);
+
+ return NM_SETTING_GSM_GET_PRIVATE (setting)->network_id;
+}
+
+int
+nm_setting_gsm_get_network_type (NMSettingGsm *setting)
+{
+ g_return_val_if_fail (NM_IS_SETTING_GSM (setting), -1);
+
+ return NM_SETTING_GSM_GET_PRIVATE (setting)->network_type;
+}
+
+int
+nm_setting_gsm_get_band (NMSettingGsm *setting)
+{
+ g_return_val_if_fail (NM_IS_SETTING_GSM (setting), -1);
+
+ return NM_SETTING_GSM_GET_PRIVATE (setting)->band;
+}
+
+const char *
+nm_setting_gsm_get_pin (NMSettingGsm *setting)
+{
+ g_return_val_if_fail (NM_IS_SETTING_GSM (setting), NULL);
+
+ return NM_SETTING_GSM_GET_PRIVATE (setting)->pin;
+}
+
+const char *
+nm_setting_gsm_get_puk (NMSettingGsm *setting)
+{
+ g_return_val_if_fail (NM_IS_SETTING_GSM (setting), NULL);
+
+ return NM_SETTING_GSM_GET_PRIVATE (setting)->puk;
+}
+
static gboolean
verify (NMSetting *setting, GSList *all_settings, GError **error)
{
- NMSettingGsm *self = NM_SETTING_GSM (setting);
+ NMSettingGsmPrivate *priv = NM_SETTING_GSM_GET_PRIVATE (setting);
/* Serial connections require a PPP setting */
if (all_settings &&
@@ -112,13 +200,13 @@ verify (NMSetting *setting, GSList *all_settings, GError **error)
return FALSE;
}
- if (!self->number) {
+ if (!priv->number) {
g_set_error (error,
NM_SETTING_GSM_ERROR,
NM_SETTING_GSM_ERROR_MISSING_PROPERTY,
NM_SETTING_GSM_NUMBER);
return FALSE;
- } else if (!strlen (self->number)) {
+ } else if (!strlen (priv->number)) {
g_set_error (error,
NM_SETTING_GSM_ERROR,
NM_SETTING_GSM_ERROR_INVALID_PROPERTY,
@@ -126,7 +214,7 @@ verify (NMSetting *setting, GSList *all_settings, GError **error)
return FALSE;
}
- if (self->apn && (strlen (self->apn) < 1 || strchr (self->apn, '"'))) {
+ if (priv->apn && (strlen (priv->apn) < 1 || strchr (priv->apn, '"'))) {
g_set_error (error,
NM_SETTING_GSM_ERROR,
NM_SETTING_GSM_ERROR_INVALID_PROPERTY,
@@ -134,7 +222,7 @@ verify (NMSetting *setting, GSList *all_settings, GError **error)
return FALSE;
}
- if (self->username && !strlen (self->username)) {
+ if (priv->username && !strlen (priv->username)) {
g_set_error (error,
NM_SETTING_GSM_ERROR,
NM_SETTING_GSM_ERROR_INVALID_PROPERTY,
@@ -142,7 +230,7 @@ verify (NMSetting *setting, GSList *all_settings, GError **error)
return FALSE;
}
- if (self->password && !strlen (self->password)) {
+ if (priv->password && !strlen (priv->password)) {
g_set_error (error,
NM_SETTING_GSM_ERROR,
NM_SETTING_GSM_ERROR_INVALID_PROPERTY,
@@ -150,8 +238,8 @@ verify (NMSetting *setting, GSList *all_settings, GError **error)
return FALSE;
}
- if (self->network_id) {
- guint32 nid_len = strlen (self->network_id);
+ if (priv->network_id) {
+ guint32 nid_len = strlen (priv->network_id);
guint32 i;
/* Accept both 5 and 6 digit MCC/MNC codes */
@@ -164,7 +252,7 @@ verify (NMSetting *setting, GSList *all_settings, GError **error)
}
for (i = 0; i < nid_len; i++) {
- if (!isdigit (self->network_id[i])) {
+ if (!isdigit (priv->network_id[i])) {
g_set_error (error,
NM_SETTING_GSM_ERROR,
NM_SETTING_GSM_ERROR_INVALID_PROPERTY,
@@ -180,13 +268,13 @@ verify (NMSetting *setting, GSList *all_settings, GError **error)
static GPtrArray *
need_secrets (NMSetting *setting)
{
- NMSettingGsm *self = NM_SETTING_GSM (setting);
+ NMSettingGsmPrivate *priv = NM_SETTING_GSM_GET_PRIVATE (setting);
GPtrArray *secrets = NULL;
- if (self->password)
+ if (priv->password)
return NULL;
- if (self->username) {
+ if (priv->username) {
secrets = g_ptr_array_sized_new (1);
g_ptr_array_add (secrets, NM_SETTING_GSM_PASSWORD);
}
@@ -203,15 +291,15 @@ nm_setting_gsm_init (NMSettingGsm *setting)
static void
finalize (GObject *object)
{
- NMSettingGsm *self = NM_SETTING_GSM (object);
+ NMSettingGsmPrivate *priv = NM_SETTING_GSM_GET_PRIVATE (object);
- g_free (self->number);
- g_free (self->username);
- g_free (self->password);
- g_free (self->apn);
- g_free (self->network_id);
- g_free (self->pin);
- g_free (self->puk);
+ g_free (priv->number);
+ g_free (priv->username);
+ g_free (priv->password);
+ g_free (priv->apn);
+ g_free (priv->network_id);
+ g_free (priv->pin);
+ g_free (priv->puk);
G_OBJECT_CLASS (nm_setting_gsm_parent_class)->finalize (object);
}
@@ -220,42 +308,42 @@ static void
set_property (GObject *object, guint prop_id,
const GValue *value, GParamSpec *pspec)
{
- NMSettingGsm *setting = NM_SETTING_GSM (object);
+ NMSettingGsmPrivate *priv = NM_SETTING_GSM_GET_PRIVATE (object);
switch (prop_id) {
case PROP_NUMBER:
- g_free (setting->number);
- setting->number = g_value_dup_string (value);
+ g_free (priv->number);
+ priv->number = g_value_dup_string (value);
break;
case PROP_USERNAME:
- g_free (setting->username);
- setting->username = g_value_dup_string (value);
+ g_free (priv->username);
+ priv->username = g_value_dup_string (value);
break;
case PROP_PASSWORD:
- g_free (setting->password);
- setting->password = g_value_dup_string (value);
+ g_free (priv->password);
+ priv->password = g_value_dup_string (value);
break;
case PROP_APN:
- g_free (setting->apn);
- setting->apn = g_value_dup_string (value);
+ g_free (priv->apn);
+ priv->apn = g_value_dup_string (value);
break;
case PROP_NETWORK_ID:
- g_free (setting->network_id);
- setting->network_id = g_value_dup_string (value);
+ g_free (priv->network_id);
+ priv->network_id = g_value_dup_string (value);
break;
case PROP_NETWORK_TYPE:
- setting->network_type = g_value_get_int (value);
+ priv->network_type = g_value_get_int (value);
break;
case PROP_BAND:
- setting->band = g_value_get_int (value);
+ priv->band = g_value_get_int (value);
break;
case PROP_PIN:
- g_free (setting->pin);
- setting->pin = g_value_dup_string (value);
+ g_free (priv->pin);
+ priv->pin = g_value_dup_string (value);
break;
case PROP_PUK:
- g_free (setting->puk);
- setting->puk = g_value_dup_string (value);
+ g_free (priv->puk);
+ priv->puk = g_value_dup_string (value);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -271,31 +359,31 @@ get_property (GObject *object, guint prop_id,
switch (prop_id) {
case PROP_NUMBER:
- g_value_set_string (value, setting->number);
+ g_value_set_string (value, nm_setting_gsm_get_number (setting));
break;
case PROP_USERNAME:
- g_value_set_string (value, setting->username);
+ g_value_set_string (value, nm_setting_gsm_get_username (setting));
break;
case PROP_PASSWORD:
- g_value_set_string (value, setting->password);
+ g_value_set_string (value, nm_setting_gsm_get_password (setting));
break;
case PROP_APN:
- g_value_set_string (value, setting->apn);
+ g_value_set_string (value, nm_setting_gsm_get_apn (setting));
break;
case PROP_NETWORK_ID:
- g_value_set_string (value, setting->network_id);
+ g_value_set_string (value, nm_setting_gsm_get_network_id (setting));
break;
case PROP_NETWORK_TYPE:
- g_value_set_int (value, setting->network_type);
+ g_value_set_int (value, nm_setting_gsm_get_network_type (setting));
break;
case PROP_BAND:
- g_value_set_int (value, setting->band);
+ g_value_set_int (value, nm_setting_gsm_get_band (setting));
break;
case PROP_PIN:
- g_value_set_string (value, setting->pin);
+ g_value_set_string (value, nm_setting_gsm_get_pin (setting));
break;
case PROP_PUK:
- g_value_set_string (value, setting->puk);
+ g_value_set_string (value, nm_setting_gsm_get_puk (setting));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -309,6 +397,8 @@ nm_setting_gsm_class_init (NMSettingGsmClass *setting_class)
GObjectClass *object_class = G_OBJECT_CLASS (setting_class);
NMSettingClass *parent_class = NM_SETTING_CLASS (setting_class);
+ g_type_class_add_private (setting_class, sizeof (NMSettingGsmPrivate));
+
/* virtual methods */
object_class->set_property = set_property;
object_class->get_property = get_property;