| OLD | NEW | 
|     1 // Copyright 2013 The Chromium Authors. All rights reserved. |     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 |     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/dbus/fake_shill_manager_client.h" |     5 #include "chromeos/dbus/fake_shill_manager_client.h" | 
|     6  |     6  | 
|     7 #include "base/bind.h" |     7 #include "base/bind.h" | 
|     8 #include "base/command_line.h" |     8 #include "base/command_line.h" | 
|     9 #include "base/message_loop/message_loop.h" |     9 #include "base/message_loop/message_loop.h" | 
|    10 #include "base/strings/string_number_conversions.h" |    10 #include "base/strings/string_number_conversions.h" | 
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|    98          state == shill::kStateReady; |    98          state == shill::kStateReady; | 
|    99 } |    99 } | 
|   100  |   100  | 
|   101 void UpdatePortaledWifiState(const std::string& service_path) { |   101 void UpdatePortaledWifiState(const std::string& service_path) { | 
|   102   DBusThreadManager::Get()->GetShillServiceClient()->GetTestInterface() |   102   DBusThreadManager::Get()->GetShillServiceClient()->GetTestInterface() | 
|   103       ->SetServiceProperty(service_path, |   103       ->SetServiceProperty(service_path, | 
|   104                            shill::kStateProperty, |   104                            shill::kStateProperty, | 
|   105                            base::StringValue(shill::kStatePortal)); |   105                            base::StringValue(shill::kStatePortal)); | 
|   106 } |   106 } | 
|   107  |   107  | 
 |   108 bool IsCellularTechnology(const std::string& type) { | 
 |   109   return (type == shill::kNetworkTechnology1Xrtt || | 
 |   110           type == shill::kNetworkTechnologyEvdo || | 
 |   111           type == shill::kNetworkTechnologyGsm || | 
 |   112           type == shill::kNetworkTechnologyGprs || | 
 |   113           type == shill::kNetworkTechnologyEdge || | 
 |   114           type == shill::kNetworkTechnologyUmts || | 
 |   115           type == shill::kNetworkTechnologyHspa || | 
 |   116           type == shill::kNetworkTechnologyHspaPlus || | 
 |   117           type == shill::kNetworkTechnologyLte || | 
 |   118           type == shill::kNetworkTechnologyLteAdvanced); | 
 |   119 } | 
 |   120  | 
|   108 const char* kTechnologyUnavailable = "unavailable"; |   121 const char* kTechnologyUnavailable = "unavailable"; | 
|   109 const char* kNetworkActivated = "activated"; |   122 const char* kNetworkActivated = "activated"; | 
|   110 const char* kNetworkDisabled = "disabled"; |   123 const char* kNetworkDisabled = "disabled"; | 
|   111 const char* kCellularServicePath = "/service/cellular1"; |   124 const char* kCellularServicePath = "/service/cellular1"; | 
|   112 const char* kRoamingRequired = "required"; |   125 const char* kRoamingRequired = "required"; | 
|   113  |   126  | 
|   114 }  // namespace |   127 }  // namespace | 
|   115  |   128  | 
|   116 // static |   129 // static | 
|   117 const char FakeShillManagerClient::kFakeEthernetNetworkGuid[] = "eth1_guid"; |   130 const char FakeShillManagerClient::kFakeEthernetNetworkGuid[] = "eth1_guid"; | 
|   118  |   131  | 
|   119 FakeShillManagerClient::FakeShillManagerClient() |   132 FakeShillManagerClient::FakeShillManagerClient() | 
|   120     : interactive_delay_(0), |   133     : interactive_delay_(0), | 
 |   134       cellular_technology_(shill::kNetworkTechnologyGsm), | 
|   121       weak_ptr_factory_(this) { |   135       weak_ptr_factory_(this) { | 
|   122   ParseCommandLineSwitch(); |   136   ParseCommandLineSwitch(); | 
|   123 } |   137 } | 
|   124  |   138  | 
|   125 FakeShillManagerClient::~FakeShillManagerClient() {} |   139 FakeShillManagerClient::~FakeShillManagerClient() {} | 
|   126  |   140  | 
|   127 // ShillManagerClient overrides. |   141 // ShillManagerClient overrides. | 
|   128  |   142  | 
|   129 void FakeShillManagerClient::Init(dbus::Bus* bus) {} |   143 void FakeShillManagerClient::Init(dbus::Bus* bus) {} | 
|   130  |   144  | 
| (...skipping 644 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   775                                  shill::kProviderRequiresRoamingProperty, |   789                                  shill::kProviderRequiresRoamingProperty, | 
|   776                                  base::FundamentalValue(true)); |   790                                  base::FundamentalValue(true)); | 
|   777     } |   791     } | 
|   778  |   792  | 
|   779     services->AddService(kCellularServicePath, |   793     services->AddService(kCellularServicePath, | 
|   780                          "cellular1_guid", |   794                          "cellular1_guid", | 
|   781                          "cellular1" /* name */, |   795                          "cellular1" /* name */, | 
|   782                          shill::kTypeCellular, |   796                          shill::kTypeCellular, | 
|   783                          state, |   797                          state, | 
|   784                          add_to_visible); |   798                          add_to_visible); | 
|   785     base::StringValue technology_value(shill::kNetworkTechnologyGsm); |   799     base::StringValue technology_value(cellular_technology_); | 
|   786     devices->SetDeviceProperty("/device/cellular1", |   800     devices->SetDeviceProperty("/device/cellular1", | 
|   787                                shill::kTechnologyFamilyProperty, |   801                                shill::kTechnologyFamilyProperty, | 
|   788                                technology_value); |   802                                technology_value); | 
|   789     services->SetServiceProperty(kCellularServicePath, |   803     services->SetServiceProperty(kCellularServicePath, | 
|   790                                  shill::kNetworkTechnologyProperty, |   804                                  shill::kNetworkTechnologyProperty, | 
|   791                                  technology_value); |   805                                  technology_value); | 
|   792  |   806  | 
|   793     if (activated) { |   807     if (activated) { | 
|   794       services->SetServiceProperty( |   808       services->SetServiceProperty( | 
|   795           kCellularServicePath, |   809           kCellularServicePath, | 
| (...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1065     // "home", "roaming", or "required" |  1079     // "home", "roaming", or "required" | 
|  1066     roaming_state_ = arg1; |  1080     roaming_state_ = arg1; | 
|  1067     return true; |  1081     return true; | 
|  1068   } |  1082   } | 
|  1069   return SetInitialNetworkState(arg0, arg1); |  1083   return SetInitialNetworkState(arg0, arg1); | 
|  1070 } |  1084 } | 
|  1071  |  1085  | 
|  1072 bool FakeShillManagerClient::SetInitialNetworkState(std::string type_arg, |  1086 bool FakeShillManagerClient::SetInitialNetworkState(std::string type_arg, | 
|  1073                                                     std::string state_arg) { |  1087                                                     std::string state_arg) { | 
|  1074   std::string state; |  1088   std::string state; | 
|  1075   state_arg = base::StringToLowerASCII(state_arg); |  | 
|  1076   if (state_arg.empty() || state_arg == "1" || state_arg == "on" || |  1089   if (state_arg.empty() || state_arg == "1" || state_arg == "on" || | 
|  1077       state_arg == "enabled" || state_arg == "connected" || |  1090       state_arg == "enabled" || state_arg == "connected" || | 
|  1078       state_arg == "online") { |  1091       state_arg == "online") { | 
|  1079     // Enabled and connected (default value) |  1092     // Enabled and connected (default value) | 
|  1080     state = shill::kStateOnline; |  1093     state = shill::kStateOnline; | 
|  1081   } else if (state_arg == "0" || state_arg == "off" || |  1094   } else if (state_arg == "0" || state_arg == "off" || | 
|  1082              state_arg == "inactive" || state_arg == shill::kStateIdle) { |  1095              state_arg == "inactive" || state_arg == shill::kStateIdle) { | 
|  1083     // Technology enabled, services are created but are not connected. |  1096     // Technology enabled, services are created but are not connected. | 
|  1084     state = shill::kStateIdle; |  1097     state = shill::kStateIdle; | 
|  1085   } else if (state_arg == "disabled" || state_arg == "disconnect") { |  1098   } else if (state_arg == "disabled" || state_arg == "disconnect") { | 
|  1086     // Technology disabled but available, services created but not connected. |  1099     // Technology disabled but available, services created but not connected. | 
|  1087     state = kNetworkDisabled; |  1100     state = kNetworkDisabled; | 
|  1088   } else if (state_arg == "none" || state_arg == "offline") { |  1101   } else if (state_arg == "none" || state_arg == "offline") { | 
|  1089     // Technology not available, do not create services. |  1102     // Technology not available, do not create services. | 
|  1090     state = kTechnologyUnavailable; |  1103     state = kTechnologyUnavailable; | 
|  1091   } else if (state_arg == "portal") { |  1104   } else if (state_arg == "portal") { | 
|  1092     // Technology is enabled, a service is connected and in Portal state. |  1105     // Technology is enabled, a service is connected and in Portal state. | 
|  1093     state = shill::kStatePortal; |  1106     state = shill::kStatePortal; | 
|  1094   } else if (state_arg == "active" || state_arg == "activated") { |  1107   } else if (state_arg == "active" || state_arg == "activated") { | 
|  1095     // Technology is enabled, a service is connected and Activated. |  1108     // Technology is enabled, a service is connected and Activated. | 
|  1096     state = kNetworkActivated; |  1109     state = kNetworkActivated; | 
 |  1110   } else if (type_arg == shill::kTypeCellular && | 
 |  1111              IsCellularTechnology(state_arg)) { | 
 |  1112     state = shill::kStateOnline; | 
 |  1113     cellular_technology_ = state_arg; | 
 |  1114   } else if (type_arg == shill::kTypeCellular && state_arg == "LTEAdvanced") { | 
 |  1115     // Special case, Shill name contains a ' '. | 
 |  1116     state = shill::kStateOnline; | 
 |  1117     cellular_technology_ = shill::kNetworkTechnologyLteAdvanced; | 
|  1097   } else { |  1118   } else { | 
|  1098     LOG(ERROR) << "Unrecognized initial state: " << state_arg; |  1119     LOG(ERROR) << "Unrecognized initial state: " << type_arg << "=" | 
 |  1120                << state_arg; | 
|  1099     return false; |  1121     return false; | 
|  1100   } |  1122   } | 
|  1101  |  1123  | 
|  1102   type_arg = base::StringToLowerASCII(type_arg); |  | 
|  1103   // Special cases |  1124   // Special cases | 
|  1104   if (type_arg == "wireless") { |  1125   if (type_arg == "wireless") { | 
|  1105     shill_initial_state_map_[shill::kTypeWifi] = state; |  1126     shill_initial_state_map_[shill::kTypeWifi] = state; | 
|  1106     shill_initial_state_map_[shill::kTypeCellular] = state; |  1127     shill_initial_state_map_[shill::kTypeCellular] = state; | 
|  1107     return true; |  1128     return true; | 
|  1108   } |  1129   } | 
|  1109   // Convenience synonyms. |  1130   // Convenience synonyms. | 
|  1110   if (type_arg == "eth") |  1131   if (type_arg == "eth") | 
|  1111     type_arg = shill::kTypeEthernet; |  1132     type_arg = shill::kTypeEthernet; | 
|  1112  |  1133  | 
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1146   *enabled = true; |  1167   *enabled = true; | 
|  1147   if ((state == shill::kStatePortal && type != shill::kTypeWifi) || |  1168   if ((state == shill::kStatePortal && type != shill::kTypeWifi) || | 
|  1148       (state == kNetworkActivated && type != shill::kTypeCellular)) { |  1169       (state == kNetworkActivated && type != shill::kTypeCellular)) { | 
|  1149     LOG(WARNING) << "Invalid state: " << state << " for " << type; |  1170     LOG(WARNING) << "Invalid state: " << state << " for " << type; | 
|  1150     return shill::kStateIdle; |  1171     return shill::kStateIdle; | 
|  1151   } |  1172   } | 
|  1152   return state; |  1173   return state; | 
|  1153 } |  1174 } | 
|  1154  |  1175  | 
|  1155 }  // namespace chromeos |  1176 }  // namespace chromeos | 
| OLD | NEW |