summaryrefslogtreecommitdiffstats
path: root/components/wifi/network_properties.h
diff options
context:
space:
mode:
authornoamsml@chromium.org <noamsml@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-04 08:41:22 +0000
committernoamsml@chromium.org <noamsml@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-04 08:41:22 +0000
commitca11059ee2dd9abe0c64b47cda1f58d6c662e855 (patch)
tree16daa9bbc8d59d1f9f9c9affb9ea28f487918431 /components/wifi/network_properties.h
parenta4af7d5f79be09c03b36d86964500195aec4fc70 (diff)
downloadchromium_src-ca11059ee2dd9abe0c64b47cda1f58d6c662e855.zip
chromium_src-ca11059ee2dd9abe0c64b47cda1f58d6c662e855.tar.gz
chromium_src-ca11059ee2dd9abe0c64b47cda1f58d6c662e855.tar.bz2
This is a library for Windows and MacOSX (tested MacOSX currently) that supports the features needed to do WiFi bootstrapping.
BUG=370071 Review URL: https://codereview.chromium.org/226883002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@274731 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'components/wifi/network_properties.h')
-rw-r--r--components/wifi/network_properties.h64
1 files changed, 64 insertions, 0 deletions
diff --git a/components/wifi/network_properties.h b/components/wifi/network_properties.h
new file mode 100644
index 0000000..5295138
--- /dev/null
+++ b/components/wifi/network_properties.h
@@ -0,0 +1,64 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef COMPONENTS_WIFI_NETWORK_PROPERTIES_H_
+#define COMPONENTS_WIFI_NETWORK_PROPERTIES_H_
+
+#include <list>
+#include <set>
+
+#include "base/values.h"
+#include "components/wifi/wifi_export.h"
+
+namespace wifi {
+
+typedef int32 Frequency;
+
+enum FrequencyEnum {
+ kFrequencyAny = 0,
+ kFrequencyUnknown = 0,
+ kFrequency2400 = 2400,
+ kFrequency5000 = 5000
+};
+
+typedef std::set<Frequency> FrequencySet;
+
+// Network Properties, can be used to parse the result of |GetProperties| and
+// |GetVisibleNetworks|.
+struct WIFI_EXPORT NetworkProperties {
+ NetworkProperties();
+ ~NetworkProperties();
+
+ std::string connection_state;
+ std::string guid;
+ std::string name;
+ std::string ssid;
+ std::string bssid;
+ std::string type;
+ std::string security;
+ // |password| field is used to pass wifi password for network creation via
+ // |CreateNetwork| or connection via |StartConnect|. It does not persist
+ // once operation is completed.
+ std::string password;
+ // WiFi Signal Strength. 0..100
+ uint32 signal_strength;
+ bool auto_connect;
+ Frequency frequency;
+ FrequencySet frequency_set;
+
+ std::string json_extra; // Extra JSON properties for unit tests
+
+ scoped_ptr<base::DictionaryValue> ToValue(bool network_list) const;
+ // Updates only properties set in |value|.
+ bool UpdateFromValue(const base::DictionaryValue& value);
+ static std::string MacAddressAsString(const uint8 mac_as_int[6]);
+ static bool OrderByType(const NetworkProperties& l,
+ const NetworkProperties& r);
+};
+
+typedef std::list<NetworkProperties> NetworkList;
+
+} // namespace wifi
+
+#endif // COMPONENTS_WIFI_NETWORK_PROPERTIES_H_