OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROMEOS_NETWORK_SHILL_PROPERTY_HANDLER_H_ | 5 #ifndef CHROMEOS_NETWORK_SHILL_PROPERTY_HANDLER_H_ |
6 #define CHROMEOS_NETWORK_SHILL_PROPERTY_HANDLER_H_ | 6 #define CHROMEOS_NETWORK_SHILL_PROPERTY_HANDLER_H_ |
7 | 7 |
8 #include <list> | 8 #include <list> |
9 #include <map> | 9 #include <map> |
10 #include <set> | 10 #include <set> |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
64 const std::string& service_path, | 64 const std::string& service_path, |
65 const std::string& key, | 65 const std::string& key, |
66 const base::Value& value) = 0; | 66 const base::Value& value) = 0; |
67 | 67 |
68 // Called when a property for a watched device has changed. | 68 // Called when a property for a watched device has changed. |
69 virtual void UpdateDeviceProperty( | 69 virtual void UpdateDeviceProperty( |
70 const std::string& device_path, | 70 const std::string& device_path, |
71 const std::string& key, | 71 const std::string& key, |
72 const base::Value& value) = 0; | 72 const base::Value& value) = 0; |
73 | 73 |
| 74 // Called when a watched network or device IPConfig property changes. |
| 75 virtual void UpdateIPConfigProperties( |
| 76 ManagedState::ManagedType type, |
| 77 const std::string& path, |
| 78 const std::string& ip_config_path, |
| 79 const base::DictionaryValue& properties) = 0; |
| 80 |
74 // Called when the list of devices with portal check enabled changes. | 81 // Called when the list of devices with portal check enabled changes. |
75 virtual void CheckPortalListChanged( | 82 virtual void CheckPortalListChanged( |
76 const std::string& check_portal_list) = 0; | 83 const std::string& check_portal_list) = 0; |
77 | 84 |
78 // Called when a technology list changes. | 85 // Called when a technology list changes. |
79 virtual void TechnologyListChanged() = 0; | 86 virtual void TechnologyListChanged() = 0; |
80 | 87 |
81 // Called when a managed state list has changed, after properties for any | 88 // Called when a managed state list has changed, after properties for any |
82 // new entries in the list have been received and | 89 // new entries in the list have been received and |
83 // UpdateManagedStateProperties has been called for each new entry. | 90 // UpdateManagedStateProperties has been called for each new entry. |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
180 const std::string& path, | 187 const std::string& path, |
181 DBusMethodCallStatus call_status, | 188 DBusMethodCallStatus call_status, |
182 const base::DictionaryValue& properties); | 189 const base::DictionaryValue& properties); |
183 | 190 |
184 // Callback invoked when a watched property changes. Calls appropriate | 191 // Callback invoked when a watched property changes. Calls appropriate |
185 // handlers and signals observers. | 192 // handlers and signals observers. |
186 void PropertyChangedCallback(ManagedState::ManagedType type, | 193 void PropertyChangedCallback(ManagedState::ManagedType type, |
187 const std::string& path, | 194 const std::string& path, |
188 const std::string& key, | 195 const std::string& key, |
189 const base::Value& value); | 196 const base::Value& value); |
190 void NetworkServicePropertyChangedCallback(const std::string& path, | |
191 const std::string& key, | |
192 const base::Value& value); | |
193 | 197 |
194 // Callback for getting the IPConfig property of a Network. Handled here | 198 // Request a single IPConfig object corresponding to |ip_config_path_value| |
195 // instead of in NetworkState so that all asynchronous requests are done | 199 // from Shill.IPConfigClient and trigger a call to UpdateIPConfigProperties |
| 200 // for the network or device corresponding to |type| and |path|. |
| 201 void RequestIPConfig(ManagedState::ManagedType type, |
| 202 const std::string& path, |
| 203 const base::Value& ip_config_path_value); |
| 204 |
| 205 // Request the IPConfig objects corresponding to entries in |
| 206 // |ip_config_list_value| from Shill.IPConfigClient and trigger a call to |
| 207 // UpdateIPConfigProperties with each object for the network or device |
| 208 // corresponding to |type| and |path|. |
| 209 void RequestIPConfigsList(ManagedState::ManagedType type, |
| 210 const std::string& path, |
| 211 const base::Value& ip_config_list_value); |
| 212 |
| 213 // Callback for getting the IPConfig property of a network or device. Handled |
| 214 // here instead of in NetworkState so that all asynchronous requests are done |
196 // in a single place (also simplifies NetworkState considerably). | 215 // in a single place (also simplifies NetworkState considerably). |
197 void GetIPConfigCallback(const std::string& service_path, | 216 void GetIPConfigCallback(ManagedState::ManagedType type, |
| 217 const std::string& path, |
| 218 const std::string& ip_config_path, |
198 DBusMethodCallStatus call_status, | 219 DBusMethodCallStatus call_status, |
199 const base::DictionaryValue& properties); | 220 const base::DictionaryValue& properties); |
200 void UpdateIPConfigProperty(const std::string& service_path, | |
201 const base::DictionaryValue& properties, | |
202 const char* property); | |
203 | |
204 void NetworkDevicePropertyChangedCallback(const std::string& path, | |
205 const std::string& key, | |
206 const base::Value& value); | |
207 | 221 |
208 // Pointer to containing class (owns this) | 222 // Pointer to containing class (owns this) |
209 Listener* listener_; | 223 Listener* listener_; |
210 | 224 |
211 // Convenience pointer for ShillManagerClient | 225 // Convenience pointer for ShillManagerClient |
212 ShillManagerClient* shill_manager_; | 226 ShillManagerClient* shill_manager_; |
213 | 227 |
214 // Pending update list for each managed state type | 228 // Pending update list for each managed state type |
215 TypeRequestMap pending_updates_; | 229 TypeRequestMap pending_updates_; |
216 | 230 |
(...skipping 13 matching lines...) Expand all Loading... |
230 std::set<std::string> enabling_technologies_; | 244 std::set<std::string> enabling_technologies_; |
231 std::set<std::string> uninitialized_technologies_; | 245 std::set<std::string> uninitialized_technologies_; |
232 | 246 |
233 DISALLOW_COPY_AND_ASSIGN(ShillPropertyHandler); | 247 DISALLOW_COPY_AND_ASSIGN(ShillPropertyHandler); |
234 }; | 248 }; |
235 | 249 |
236 } // namespace internal | 250 } // namespace internal |
237 } // namespace chromeos | 251 } // namespace chromeos |
238 | 252 |
239 #endif // CHROMEOS_NETWORK_SHILL_PROPERTY_HANDLER_H_ | 253 #endif // CHROMEOS_NETWORK_SHILL_PROPERTY_HANDLER_H_ |
OLD | NEW |