summaryrefslogtreecommitdiff
path: root/libnm-util
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2008-05-28 21:30:53 +0000
committerDan Williams <dcbw@redhat.com>2008-05-28 21:30:53 +0000
commit0b52ca0ba1cd4e1a0eb6a4fb8fb9a4bee0540253 (patch)
treeadf6c6989a26050d967c834bb6b552a3025b5311 /libnm-util
parent622a3e3880f0f4c57c4708d7d804848806bd57bb (diff)
downloadNetworkManager-0b52ca0ba1cd4e1a0eb6a4fb8fb9a4bee0540253.tar.gz
2008-05-28 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-setting-wireless.c libnm-util/nm-setting-wireless.h - (set_property, get_property, nm_setting_wireless_class_init): add the 'adhoc-create' property, which when TRUE indicates that NM should create this connection as an adhoc wifi network if it's not found as an adhoc network during scanning. Can be used to auto-create adhoc networks when used in combination with autoconnect. git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3697 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Diffstat (limited to 'libnm-util')
-rw-r--r--libnm-util/nm-setting-wireless.c20
-rw-r--r--libnm-util/nm-setting-wireless.h24
2 files changed, 33 insertions, 11 deletions
diff --git a/libnm-util/nm-setting-wireless.c b/libnm-util/nm-setting-wireless.c
index bc39cf4017..c63913c302 100644
--- a/libnm-util/nm-setting-wireless.c
+++ b/libnm-util/nm-setting-wireless.c
@@ -18,6 +18,7 @@ enum {
PROP_0,
PROP_SSID,
PROP_MODE,
+ PROP_ADHOC_CREATE,
PROP_BAND,
PROP_CHANNEL,
PROP_BSSID,
@@ -225,6 +226,11 @@ verify (NMSetting *setting, GSList *all_settings)
return FALSE;
}
+ if (self->mode && strcmp (self->mode, "adhoc") && self->adhoc_create) {
+ g_warning ("Key 'adhoc-create' only valid with Ad-Hoc mode.");
+ return FALSE;
+ }
+
if (self->band && !nm_utils_string_in_list (self->band, valid_bands)) {
g_warning ("Invalid band. Should be either 'a' or 'bg'");
return FALSE;
@@ -330,6 +336,9 @@ set_property (GObject *object, guint prop_id,
g_free (setting->mode);
setting->mode = g_value_dup_string (value);
break;
+ case PROP_ADHOC_CREATE:
+ setting->adhoc_create = g_value_get_boolean (value);
+ break;
case PROP_BAND:
g_free (setting->band);
setting->band = g_value_dup_string (value);
@@ -383,6 +392,9 @@ get_property (GObject *object, guint prop_id,
case PROP_MODE:
g_value_set_string (value, setting->mode);
break;
+ case PROP_ADHOC_CREATE:
+ g_value_set_boolean (value, setting->adhoc_create);
+ break;
case PROP_BAND:
g_value_set_string (value, setting->band);
break;
@@ -446,6 +458,14 @@ nm_setting_wireless_class_init (NMSettingWirelessClass *setting_class)
G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE));
g_object_class_install_property
+ (object_class, PROP_ADHOC_CREATE,
+ g_param_spec_boolean (NM_SETTING_WIRELESS_ADHOC_CREATE,
+ "Ad-Hoc Create",
+ "Ad-Hoc Create",
+ FALSE,
+ G_PARAM_READWRITE | NM_SETTING_PARAM_SERIALIZE));
+
+ g_object_class_install_property
(object_class, PROP_BAND,
g_param_spec_string (NM_SETTING_WIRELESS_BAND,
"Band",
diff --git a/libnm-util/nm-setting-wireless.h b/libnm-util/nm-setting-wireless.h
index 83d707b4c7..503c78e10e 100644
--- a/libnm-util/nm-setting-wireless.h
+++ b/libnm-util/nm-setting-wireless.h
@@ -17,23 +17,25 @@ G_BEGIN_DECLS
#define NM_SETTING_WIRELESS_SETTING_NAME "802-11-wireless"
-#define NM_SETTING_WIRELESS_SSID "ssid"
-#define NM_SETTING_WIRELESS_MODE "mode"
-#define NM_SETTING_WIRELESS_BAND "band"
-#define NM_SETTING_WIRELESS_CHANNEL "channel"
-#define NM_SETTING_WIRELESS_BSSID "bssid"
-#define NM_SETTING_WIRELESS_RATE "rate"
-#define NM_SETTING_WIRELESS_TX_POWER "tx-power"
-#define NM_SETTING_WIRELESS_MAC_ADDRESS "mac-address"
-#define NM_SETTING_WIRELESS_MTU "mtu"
-#define NM_SETTING_WIRELESS_SEEN_BSSIDS "seen-bssids"
-#define NM_SETTING_WIRELESS_SEC "security"
+#define NM_SETTING_WIRELESS_SSID "ssid"
+#define NM_SETTING_WIRELESS_MODE "mode"
+#define NM_SETTING_WIRELESS_ADHOC_CREATE "adhoc-create"
+#define NM_SETTING_WIRELESS_BAND "band"
+#define NM_SETTING_WIRELESS_CHANNEL "channel"
+#define NM_SETTING_WIRELESS_BSSID "bssid"
+#define NM_SETTING_WIRELESS_RATE "rate"
+#define NM_SETTING_WIRELESS_TX_POWER "tx-power"
+#define NM_SETTING_WIRELESS_MAC_ADDRESS "mac-address"
+#define NM_SETTING_WIRELESS_MTU "mtu"
+#define NM_SETTING_WIRELESS_SEEN_BSSIDS "seen-bssids"
+#define NM_SETTING_WIRELESS_SEC "security"
typedef struct {
NMSetting parent;
GByteArray *ssid;
char *mode;
+ gboolean adhoc_create;
char *band;
guint32 channel;
GByteArray *bssid;