// Copyright 2013 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 CHROMEOS_NETWORK_NETWORK_DEVICE_HANDLER_IMPL_H_ #define CHROMEOS_NETWORK_NETWORK_DEVICE_HANDLER_IMPL_H_ #include #include #include "base/basictypes.h" #include "base/callback.h" #include "base/compiler_specific.h" #include "chromeos/chromeos_export.h" #include "chromeos/network/network_device_handler.h" #include "chromeos/network/network_handler.h" #include "chromeos/network/network_handler_callbacks.h" #include "chromeos/network/network_state_handler_observer.h" namespace chromeos { class NetworkStateHandler; class CHROMEOS_EXPORT NetworkDeviceHandlerImpl : public NetworkDeviceHandler, public NetworkStateHandlerObserver { public: virtual ~NetworkDeviceHandlerImpl(); // NetworkDeviceHandler overrides virtual void GetDeviceProperties( const std::string& device_path, const network_handler::DictionaryResultCallback& callback, const network_handler::ErrorCallback& error_callback) const OVERRIDE; virtual void SetDeviceProperty( const std::string& device_path, const std::string& property_name, const base::Value& value, const base::Closure& callback, const network_handler::ErrorCallback& error_callback) OVERRIDE; virtual void RequestRefreshIPConfigs( const std::string& device_path, const base::Closure& callback, const network_handler::ErrorCallback& error_callback) OVERRIDE; virtual void ProposeScan(const std::string& device_path, const base::Closure& callback, const network_handler::ErrorCallback& error_callback) OVERRIDE; virtual void RegisterCellularNetwork( const std::string& device_path, const std::string& network_id, const base::Closure& callback, const network_handler::ErrorCallback& error_callback) OVERRIDE; virtual void SetCarrier(const std::string& device_path, const std::string& carrier, const base::Closure& callback, const network_handler::ErrorCallback& error_callback) OVERRIDE; virtual void RequirePin(const std::string& device_path, bool require_pin, const std::string& pin, const base::Closure& callback, const network_handler::ErrorCallback& error_callback) OVERRIDE; virtual void EnterPin(const std::string& device_path, const std::string& pin, const base::Closure& callback, const network_handler::ErrorCallback& error_callback) OVERRIDE; virtual void UnblockPin(const std::string& device_path, const std::string& puk, const std::string& new_pin, const base::Closure& callback, const network_handler::ErrorCallback& error_callback) OVERRIDE; virtual void ChangePin(const std::string& device_path, const std::string& old_pin, const std::string& new_pin, const base::Closure& callback, const network_handler::ErrorCallback& error_callback) OVERRIDE; virtual void SetCellularAllowRoaming(bool allow_roaming) OVERRIDE; virtual void SetWifiTDLSEnabled( const std::string& ip_or_mac_address, bool enabled, const network_handler::StringResultCallback& callback, const network_handler::ErrorCallback& error_callback) OVERRIDE; virtual void GetWifiTDLSStatus( const std::string& ip_or_mac_address, const network_handler::StringResultCallback& callback, const network_handler::ErrorCallback& error_callback) OVERRIDE; // NetworkStateHandlerObserver overrides virtual void DeviceListChanged() OVERRIDE; private: friend class NetworkHandler; friend class NetworkDeviceHandlerTest; NetworkDeviceHandlerImpl(); void Init(NetworkStateHandler* network_state_handler); // Apply the current value of |cellular_allow_roaming_| to all existing // cellular devices of Shill. void ApplyCellularAllowRoamingToShill(); NetworkStateHandler* network_state_handler_; bool cellular_allow_roaming_; DISALLOW_COPY_AND_ASSIGN(NetworkDeviceHandlerImpl); }; } // namespace chromeos #endif // CHROMEOS_NETWORK_NETWORK_DEVICE_HANDLER_IMPL_H_