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_