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
3 // found in the LICENSE file.
5 #ifndef CHROMEOS_NETWORK_NETWORK_DEVICE_HANDLER_IMPL_H_
6 #define CHROMEOS_NETWORK_NETWORK_DEVICE_HANDLER_IMPL_H_
11 #include "base/basictypes.h"
12 #include "base/callback.h"
13 #include "base/compiler_specific.h"
14 #include "chromeos/chromeos_export.h"
15 #include "chromeos/network/network_device_handler.h"
16 #include "chromeos/network/network_handler.h"
17 #include "chromeos/network/network_handler_callbacks.h"
18 #include "chromeos/network/network_state_handler_observer.h"
22 class NetworkStateHandler;
24 class CHROMEOS_EXPORT NetworkDeviceHandlerImpl
25 : public NetworkDeviceHandler,
26 public NetworkStateHandlerObserver {
28 virtual ~NetworkDeviceHandlerImpl();
30 // NetworkDeviceHandler overrides
31 virtual void GetDeviceProperties(
32 const std::string& device_path,
33 const network_handler::DictionaryResultCallback& callback,
34 const network_handler::ErrorCallback& error_callback) const OVERRIDE;
36 virtual void SetDeviceProperty(
37 const std::string& device_path,
38 const std::string& property_name,
39 const base::Value& value,
40 const base::Closure& callback,
41 const network_handler::ErrorCallback& error_callback) OVERRIDE;
43 virtual void RequestRefreshIPConfigs(
44 const std::string& device_path,
45 const base::Closure& callback,
46 const network_handler::ErrorCallback& error_callback) OVERRIDE;
48 virtual void ProposeScan(const std::string& device_path,
49 const base::Closure& callback,
50 const network_handler::ErrorCallback& error_callback)
53 virtual void RegisterCellularNetwork(
54 const std::string& device_path,
55 const std::string& network_id,
56 const base::Closure& callback,
57 const network_handler::ErrorCallback& error_callback) OVERRIDE;
59 virtual void SetCarrier(const std::string& device_path,
60 const std::string& carrier,
61 const base::Closure& callback,
62 const network_handler::ErrorCallback& error_callback)
65 virtual void RequirePin(const std::string& device_path,
67 const std::string& pin,
68 const base::Closure& callback,
69 const network_handler::ErrorCallback& error_callback)
72 virtual void EnterPin(const std::string& device_path,
73 const std::string& pin,
74 const base::Closure& callback,
75 const network_handler::ErrorCallback& error_callback)
78 virtual void UnblockPin(const std::string& device_path,
79 const std::string& puk,
80 const std::string& new_pin,
81 const base::Closure& callback,
82 const network_handler::ErrorCallback& error_callback)
85 virtual void ChangePin(const std::string& device_path,
86 const std::string& old_pin,
87 const std::string& new_pin,
88 const base::Closure& callback,
89 const network_handler::ErrorCallback& error_callback)
92 virtual void SetCellularAllowRoaming(bool allow_roaming) OVERRIDE;
94 virtual void SetWifiTDLSEnabled(
95 const std::string& ip_or_mac_address,
97 const network_handler::StringResultCallback& callback,
98 const network_handler::ErrorCallback& error_callback) OVERRIDE;
100 virtual void GetWifiTDLSStatus(
101 const std::string& ip_or_mac_address,
102 const network_handler::StringResultCallback& callback,
103 const network_handler::ErrorCallback& error_callback) OVERRIDE;
105 // NetworkStateHandlerObserver overrides
106 virtual void DeviceListChanged() OVERRIDE;
109 friend class NetworkHandler;
110 friend class NetworkDeviceHandlerTest;
112 NetworkDeviceHandlerImpl();
114 void Init(NetworkStateHandler* network_state_handler);
116 // Apply the current value of |cellular_allow_roaming_| to all existing
117 // cellular devices of Shill.
118 void ApplyCellularAllowRoamingToShill();
120 NetworkStateHandler* network_state_handler_;
121 bool cellular_allow_roaming_;
123 DISALLOW_COPY_AND_ASSIGN(NetworkDeviceHandlerImpl);
126 } // namespace chromeos
128 #endif // CHROMEOS_NETWORK_NETWORK_DEVICE_HANDLER_IMPL_H_