Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(335)

Side by Side Diff: chromeos/network/network_state.cc

Issue 12634019: NetworkChangeNotifierChromeos: Handle IPConfig property changes on the default network (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: more cleanup Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 #include "chromeos/network/network_state.h" 5 #include "chromeos/network/network_state.h"
6 6
7 #include "base/values.h" 7 #include "base/values.h"
8 #include "third_party/cros_system_api/dbus/service_constants.h" 8 #include "third_party/cros_system_api/dbus/service_constants.h"
9 9
10 namespace {
11
12 // Helper to convert a ListValue of strings into a comma separated string.
13 bool ConvertListValueToString(const base::ListValue& string_list,
gauravsh 2013/03/27 23:16:04 BTW, this is lifted off of cros_network_functions.
14 std::string* result) {
15 for (size_t i = 0; i != string_list.GetSize(); ++i) {
stevenjb 2013/03/27 22:18:52 nit: < instead of !=
gauravsh 2013/03/27 23:16:04 Done.
16 std::string name_server;
17 if (!string_list.GetString(i, &name_server))
18 return false;
19 if (!result->empty())
20 *result += ",";
21 *result += name_server;
stevenjb 2013/03/27 22:18:52 personal nit (feel free to ignore): result->append
gauravsh 2013/03/27 23:16:04 Done.
22 }
23 return true;
24 }
25
26 } // namespace
27
10 namespace chromeos { 28 namespace chromeos {
11 29
12 NetworkState::NetworkState(const std::string& path) 30 NetworkState::NetworkState(const std::string& path)
13 : ManagedState(MANAGED_TYPE_NETWORK, path), 31 : ManagedState(MANAGED_TYPE_NETWORK, path),
14 signal_strength_(0) { 32 signal_strength_(0) {
15 } 33 }
16 34
17 NetworkState::~NetworkState() { 35 NetworkState::~NetworkState() {
18 } 36 }
19 37
20 bool NetworkState::PropertyChanged(const std::string& key, 38 bool NetworkState::PropertyChanged(const std::string& key,
21 const base::Value& value) { 39 const base::Value& value) {
22 // Keep care that these properties are the same as in |GetProperties|. 40 // Keep care that these properties are the same as in |GetProperties|.
23 if (ManagedStatePropertyChanged(key, value)) 41 if (ManagedStatePropertyChanged(key, value))
24 return true; 42 return true;
25 if (key == flimflam::kSignalStrengthProperty) { 43 if (key == flimflam::kSignalStrengthProperty) {
26 return GetIntegerValue(key, value, &signal_strength_); 44 return GetIntegerValue(key, value, &signal_strength_);
27 } else if (key == flimflam::kStateProperty) { 45 } else if (key == flimflam::kStateProperty) {
28 return GetStringValue(key, value, &connection_state_); 46 return GetStringValue(key, value, &connection_state_);
29 } else if (key == flimflam::kErrorProperty) { 47 } else if (key == flimflam::kErrorProperty) {
30 return GetStringValue(key, value, &error_); 48 return GetStringValue(key, value, &error_);
49 } else if (key == flimflam::kAddressProperty) {
stevenjb 2013/03/27 22:18:52 Please add a comment: // Note: This does not corre
gauravsh 2013/03/27 23:16:04 Added a comment to network_state.h.
50 return GetStringValue(key, value, &ip_address_);
51 } else if (key == flimflam::kNameServersProperty) {
stevenjb 2013/03/27 22:18:52 Same comment here
gauravsh 2013/03/27 23:16:04 Done.
52 const base::ListValue* dns_list;
53 if (value.GetAsList(&dns_list) &&
54 ConvertListValueToString(*dns_list, &dns_servers_))
55 return true;
31 } else if (key == flimflam::kActivationStateProperty) { 56 } else if (key == flimflam::kActivationStateProperty) {
32 return GetStringValue(key, value, &activation_state_); 57 return GetStringValue(key, value, &activation_state_);
33 } else if (key == flimflam::kRoamingStateProperty) { 58 } else if (key == flimflam::kRoamingStateProperty) {
34 return GetStringValue(key, value, &roaming_); 59 return GetStringValue(key, value, &roaming_);
35 } else if (key == flimflam::kSecurityProperty) { 60 } else if (key == flimflam::kSecurityProperty) {
36 return GetStringValue(key, value, &security_); 61 return GetStringValue(key, value, &security_);
37 } else if (key == flimflam::kNetworkTechnologyProperty) { 62 } else if (key == flimflam::kNetworkTechnologyProperty) {
38 return GetStringValue(key, value, &technology_); 63 return GetStringValue(key, value, &technology_);
39 } else if (key == flimflam::kDeviceProperty) { 64 } else if (key == flimflam::kDeviceProperty) {
40 return GetStringValue(key, value, &device_path_); 65 return GetStringValue(key, value, &device_path_);
(...skipping 10 matching lines...) Expand all
51 void NetworkState::GetProperties(base::DictionaryValue* dictionary) const { 76 void NetworkState::GetProperties(base::DictionaryValue* dictionary) const {
52 // Keep care that these properties are the same as in |PropertyChanged|. 77 // Keep care that these properties are the same as in |PropertyChanged|.
53 dictionary->SetStringWithoutPathExpansion(flimflam::kNameProperty, name()); 78 dictionary->SetStringWithoutPathExpansion(flimflam::kNameProperty, name());
54 dictionary->SetStringWithoutPathExpansion(flimflam::kTypeProperty, type()); 79 dictionary->SetStringWithoutPathExpansion(flimflam::kTypeProperty, type());
55 dictionary->SetIntegerWithoutPathExpansion(flimflam::kSignalStrengthProperty, 80 dictionary->SetIntegerWithoutPathExpansion(flimflam::kSignalStrengthProperty,
56 signal_strength()); 81 signal_strength());
57 dictionary->SetStringWithoutPathExpansion(flimflam::kStateProperty, 82 dictionary->SetStringWithoutPathExpansion(flimflam::kStateProperty,
58 connection_state()); 83 connection_state());
59 dictionary->SetStringWithoutPathExpansion(flimflam::kErrorProperty, 84 dictionary->SetStringWithoutPathExpansion(flimflam::kErrorProperty,
60 error()); 85 error());
86 dictionary->SetStringWithoutPathExpansion(flimflam::kAddressProperty,
87 ip_address());
88 dictionary->SetStringWithoutPathExpansion(flimflam::kNameServersProperty,
89 dns_servers());
61 dictionary->SetStringWithoutPathExpansion(flimflam::kActivationStateProperty, 90 dictionary->SetStringWithoutPathExpansion(flimflam::kActivationStateProperty,
62 activation_state()); 91 activation_state());
63 dictionary->SetStringWithoutPathExpansion(flimflam::kRoamingStateProperty, 92 dictionary->SetStringWithoutPathExpansion(flimflam::kRoamingStateProperty,
64 roaming()); 93 roaming());
65 dictionary->SetStringWithoutPathExpansion(flimflam::kSecurityProperty, 94 dictionary->SetStringWithoutPathExpansion(flimflam::kSecurityProperty,
66 security()); 95 security());
67 dictionary->SetStringWithoutPathExpansion( 96 dictionary->SetStringWithoutPathExpansion(
68 flimflam::kNetworkTechnologyProperty, 97 flimflam::kNetworkTechnologyProperty,
69 technology()); 98 technology());
70 dictionary->SetStringWithoutPathExpansion(flimflam::kDeviceProperty, 99 dictionary->SetStringWithoutPathExpansion(flimflam::kDeviceProperty,
(...skipping 22 matching lines...) Expand all
93 } 122 }
94 123
95 // static 124 // static
96 bool NetworkState::StateIsConnecting(const std::string& connection_state) { 125 bool NetworkState::StateIsConnecting(const std::string& connection_state) {
97 return (connection_state == flimflam::kStateAssociation || 126 return (connection_state == flimflam::kStateAssociation ||
98 connection_state == flimflam::kStateConfiguration || 127 connection_state == flimflam::kStateConfiguration ||
99 connection_state == flimflam::kStateCarrier); 128 connection_state == flimflam::kStateCarrier);
100 } 129 }
101 130
102 } // namespace chromeos 131 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698