| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CHROME_UTILITY_WIFI_WIFI_SERVICE_H_ | 5 #ifndef CHROME_UTILITY_WIFI_WIFI_SERVICE_H_ |
| 6 #define CHROME_UTILITY_WIFI_WIFI_SERVICE_H_ | 6 #define CHROME_UTILITY_WIFI_WIFI_SERVICE_H_ |
| 7 | 7 |
| 8 #include <list> | 8 #include <list> |
| 9 #include <set> | 9 #include <set> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 76 // network already exists, this will fail and populate |error|. On success | 76 // network already exists, this will fail and populate |error|. On success |
| 77 // populates the |network_guid| of the new network. | 77 // populates the |network_guid| of the new network. |
| 78 virtual void CreateNetwork(bool shared, | 78 virtual void CreateNetwork(bool shared, |
| 79 scoped_ptr<base::DictionaryValue> properties, | 79 scoped_ptr<base::DictionaryValue> properties, |
| 80 std::string* network_guid, | 80 std::string* network_guid, |
| 81 std::string* error) = 0; | 81 std::string* error) = 0; |
| 82 | 82 |
| 83 // Get list of visible networks of |network_type| (one of onc::network_type). | 83 // Get list of visible networks of |network_type| (one of onc::network_type). |
| 84 // Populates |network_list| on success. | 84 // Populates |network_list| on success. |
| 85 virtual void GetVisibleNetworks(const std::string& network_type, | 85 virtual void GetVisibleNetworks(const std::string& network_type, |
| 86 base::ListValue* network_list) = 0; | 86 base::ListValue* network_list, |
| 87 bool include_details) = 0; |
| 87 | 88 |
| 88 // Request network scan. Send |NetworkListChanged| event on completion. | 89 // Request network scan. Send |NetworkListChanged| event on completion. |
| 89 virtual void RequestNetworkScan() = 0; | 90 virtual void RequestNetworkScan() = 0; |
| 90 | 91 |
| 91 // Start connect to network identified by |network_guid|. Populates |error| | 92 // Start connect to network identified by |network_guid|. Populates |error| |
| 92 // on failure. | 93 // on failure. |
| 93 virtual void StartConnect(const std::string& network_guid, | 94 virtual void StartConnect(const std::string& network_guid, |
| 94 std::string* error) = 0; | 95 std::string* error) = 0; |
| 95 | 96 |
| 96 // Start disconnect from network identified by |network_guid|. Populates | 97 // Start disconnect from network identified by |network_guid|. Populates |
| (...skipping 16 matching lines...) Expand all Loading... |
| 113 const NetworkGuidListCallback& networks_changed_observer, | 114 const NetworkGuidListCallback& networks_changed_observer, |
| 114 const NetworkGuidListCallback& network_list_changed_observer) = 0; | 115 const NetworkGuidListCallback& network_list_changed_observer) = 0; |
| 115 | 116 |
| 116 // Request update of Connected Network information. Send |NetworksChanged| | 117 // Request update of Connected Network information. Send |NetworksChanged| |
| 117 // event on completion. | 118 // event on completion. |
| 118 virtual void RequestConnectedNetworkUpdate() = 0; | 119 virtual void RequestConnectedNetworkUpdate() = 0; |
| 119 | 120 |
| 120 protected: | 121 protected: |
| 121 WiFiService() {} | 122 WiFiService() {} |
| 122 | 123 |
| 123 typedef int32 Frequency; | |
| 124 enum FrequencyEnum { | |
| 125 kFrequencyAny = 0, | |
| 126 kFrequencyUnknown = 0, | |
| 127 kFrequency2400 = 2400, | |
| 128 kFrequency5000 = 5000 | |
| 129 }; | |
| 130 | |
| 131 typedef std::set<Frequency> FrequencySet; | |
| 132 // Network Properties, used as result of |GetProperties| and | |
| 133 // |GetVisibleNetworks|. | |
| 134 struct WIFI_EXPORT NetworkProperties { | |
| 135 NetworkProperties(); | |
| 136 ~NetworkProperties(); | |
| 137 | |
| 138 std::string connection_state; | |
| 139 std::string guid; | |
| 140 std::string name; | |
| 141 std::string ssid; | |
| 142 std::string bssid; | |
| 143 std::string type; | |
| 144 std::string security; | |
| 145 // |password| field is used to pass wifi password for network creation via | |
| 146 // |CreateNetwork| or connection via |StartConnect|. It does not persist | |
| 147 // once operation is completed. | |
| 148 std::string password; | |
| 149 // WiFi Signal Strength. 0..100 | |
| 150 uint32 signal_strength; | |
| 151 bool auto_connect; | |
| 152 Frequency frequency; | |
| 153 FrequencySet frequency_set; | |
| 154 | |
| 155 std::string json_extra; // Extra JSON properties for unit tests | |
| 156 | |
| 157 scoped_ptr<base::DictionaryValue> ToValue(bool network_list) const; | |
| 158 // Updates only properties set in |value|. | |
| 159 bool UpdateFromValue(const base::DictionaryValue& value); | |
| 160 static std::string MacAddressAsString(const uint8 mac_as_int[6]); | |
| 161 static bool OrderByType(const NetworkProperties& l, | |
| 162 const NetworkProperties& r); | |
| 163 }; | |
| 164 | |
| 165 typedef std::list<NetworkProperties> NetworkList; | |
| 166 | |
| 167 // Error constants. | 124 // Error constants. |
| 168 static const char kErrorAssociateToNetwork[]; | 125 static const char kErrorAssociateToNetwork[]; |
| 169 static const char kErrorInvalidData[]; | 126 static const char kErrorInvalidData[]; |
| 170 static const char kErrorNotConfigured[]; | 127 static const char kErrorNotConfigured[]; |
| 171 static const char kErrorNotConnected[]; | 128 static const char kErrorNotConnected[]; |
| 172 static const char kErrorNotFound[]; | 129 static const char kErrorNotFound[]; |
| 173 static const char kErrorNotImplemented[]; | 130 static const char kErrorNotImplemented[]; |
| 174 static const char kErrorScanForNetworksWithName[]; | 131 static const char kErrorScanForNetworksWithName[]; |
| 175 static const char kErrorWiFiService[]; | 132 static const char kErrorWiFiService[]; |
| 176 | 133 |
| 177 private: | 134 private: |
| 178 DISALLOW_COPY_AND_ASSIGN(WiFiService); | 135 DISALLOW_COPY_AND_ASSIGN(WiFiService); |
| 179 }; | 136 }; |
| 180 | 137 |
| 181 } // namespace wifi | 138 } // namespace wifi |
| 182 | 139 |
| 183 #endif // CHROME_UTILITY_WIFI_WIFI_SERVICE_H_ | 140 #endif // CHROME_UTILITY_WIFI_WIFI_SERVICE_H_ |
| OLD | NEW |