// 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 CHROME_BROWSER_LOCAL_DISCOVERY_WIFI_BOOTSTRAPPING_NETWORK_SWITCHER_H_ #define CHROME_BROWSER_LOCAL_DISCOVERY_WIFI_BOOTSTRAPPING_NETWORK_SWITCHER_H_ #include #include "base/callback.h" #include "base/memory/weak_ptr.h" #include "chrome/browser/local_discovery/wifi/wifi_manager.h" namespace local_discovery { namespace wifi { class BootstrappingNetworkSwitcher { public: typedef base::Callback SuccessCallback; BootstrappingNetworkSwitcher(WifiManager* wifi_manager, const std::string& connect_ssid, const SuccessCallback& callback); ~BootstrappingNetworkSwitcher(); void Connect(); void Disconnect(); private: void OnGotNetworkList(const NetworkPropertiesList& networks); void OnConnectStatus(bool status); WifiManager* wifi_manager_; std::string connect_ssid_; SuccessCallback callback_; std::string return_guid_; bool connected_; base::WeakPtrFactory weak_factory_; }; } // namespace wifi } // namespace local_discovery #endif // CHROME_BROWSER_LOCAL_DISCOVERY_WIFI_BOOTSTRAPPING_NETWORK_SWITCHER_H_