1 // Copyright 2014 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef COMPONENTS_WIFI_FAKE_WIFI_SERVICE_H_ 6 #define COMPONENTS_WIFI_FAKE_WIFI_SERVICE_H_ 7 8 #include <string> 9 10 #include "base/compiler_specific.h" 11 #include "base/macros.h" 12 #include "base/single_thread_task_runner.h" 13 #include "components/wifi/network_properties.h" 14 #include "components/wifi/wifi_service.h" 15 16 namespace wifi { 17 18 // Fake implementation of WiFiService used to satisfy expectations of 19 // networkingPrivateApi browser test. 20 class FakeWiFiService : public WiFiService { 21 public: 22 FakeWiFiService(); 23 ~FakeWiFiService() override; 24 25 void Initialize( 26 scoped_refptr<base::SequencedTaskRunner> task_runner) override; 27 void UnInitialize() override; 28 void GetProperties(const std::string& network_guid, 29 base::DictionaryValue* properties, 30 std::string* error) override; 31 void GetManagedProperties(const std::string& network_guid, 32 base::DictionaryValue* managed_properties, 33 std::string* error) override; 34 void GetState(const std::string& network_guid, 35 base::DictionaryValue* properties, 36 std::string* error) override; 37 void SetProperties(const std::string& network_guid, 38 std::unique_ptr<base::DictionaryValue> properties, 39 std::string* error) override; 40 void CreateNetwork(bool shared, 41 std::unique_ptr<base::DictionaryValue> properties, 42 std::string* network_guid, 43 std::string* error) override; 44 void GetVisibleNetworks(const std::string& network_type, 45 base::ListValue* network_list, 46 bool include_details) override; 47 void RequestNetworkScan() override; 48 void StartConnect(const std::string& network_guid, 49 std::string* error) override; 50 void StartDisconnect(const std::string& network_guid, 51 std::string* error) override; 52 void GetKeyFromSystem(const std::string& network_guid, 53 std::string* key_data, 54 std::string* error) override; 55 void SetEventObservers( 56 scoped_refptr<base::SingleThreadTaskRunner> task_runner, 57 NetworkGuidListCallback networks_changed_observer, 58 NetworkGuidListCallback network_list_changed_observer) override; 59 void RequestConnectedNetworkUpdate() override; 60 void GetConnectedNetworkSSID(std::string* ssid, 61 std::string* error) override; 62 63 private: 64 NetworkList::iterator FindNetwork(const std::string& network_guid); 65 66 void DisconnectAllNetworksOfType(const std::string& type); 67 68 void SortNetworks(); 69 70 void NotifyNetworkListChanged(const NetworkList& networks); 71 72 void NotifyNetworkChanged(const std::string& network_guid); 73 74 NetworkList networks_; 75 scoped_refptr<base::SingleThreadTaskRunner> task_runner_; 76 NetworkGuidListCallback networks_changed_observer_; 77 NetworkGuidListCallback network_list_changed_observer_; 78 79 DISALLOW_COPY_AND_ASSIGN(FakeWiFiService); 80 }; 81 82 } // namespace wifi 83 84 #endif // COMPONENTS_WIFI_FAKE_WIFI_SERVICE_H_ 85