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

Side by Side Diff: chrome/browser/chromeos/cros/cros_network_functions.cc

Issue 10207006: Move CellularDataPlanInfo to CellularDataPlan conversion code to cros_network_functions.cc (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 8 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 "chrome/browser/chromeos/cros/cros_network_functions.h" 5 #include "chrome/browser/chromeos/cros/cros_network_functions.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/values.h" 9 #include "base/values.h"
10 #include "chrome/browser/chromeos/cros/gvalue_util.h" 10 #include "chrome/browser/chromeos/cros/gvalue_util.h"
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 ResetPropertyChangedHandler(dbus::ObjectPath(device_path_)); 131 ResetPropertyChangedHandler(dbus::ObjectPath(device_path_));
132 } 132 }
133 133
134 private: 134 private:
135 std::string device_path_; 135 std::string device_path_;
136 }; 136 };
137 137
138 // Class to watch data plan update with Libcros. 138 // Class to watch data plan update with Libcros.
139 class CrosDataPlanUpdateWatcher : public CrosNetworkWatcher { 139 class CrosDataPlanUpdateWatcher : public CrosNetworkWatcher {
140 public: 140 public:
141 CrosDataPlanUpdateWatcher(MonitorDataPlanCallback callback, void* object) 141 explicit CrosDataPlanUpdateWatcher(
142 : monitor_(chromeos::MonitorCellularDataPlan(callback, object)) {} 142 const DataPlanUpdateWatcherCallback& callback)
143 : callback_(callback),
144 monitor_(chromeos::MonitorCellularDataPlan(&OnDataPlanUpdate, this)) {}
143 virtual ~CrosDataPlanUpdateWatcher() { 145 virtual ~CrosDataPlanUpdateWatcher() {
144 chromeos::DisconnectDataPlanUpdateMonitor(monitor_); 146 chromeos::DisconnectDataPlanUpdateMonitor(monitor_);
145 } 147 }
146 148
147 private: 149 private:
150 static void OnDataPlanUpdate(void* object,
151 const char* modem_service_path,
152 const CellularDataPlanList* data_plan_list) {
153 CrosDataPlanUpdateWatcher* watcher =
154 static_cast<CrosDataPlanUpdateWatcher*>(object);
155 if (modem_service_path && data_plan_list) {
156 // Copy contents of |data_plan_list| from libcros to |data_plan_vector|.
157 CellularDataPlanVector* data_plan_vector = new CellularDataPlanVector;
158 for (size_t i = 0; i < data_plan_list->plans_size; ++i) {
159 const CellularDataPlanInfo* info =
160 data_plan_list->GetCellularDataPlan(i);
161 CellularDataPlan* plan = new CellularDataPlan(*info);
162 data_plan_vector->push_back(plan);
163 VLOG(2) << " Plan: " << plan->GetPlanDesciption()
164 << " : " << plan->GetDataRemainingDesciption();
165 }
166 // |data_plan_vector| will be owned by callback.
167 watcher->callback_.Run(modem_service_path, data_plan_vector);
168 }
169 }
170
171 DataPlanUpdateWatcherCallback callback_;
148 DataPlanUpdateMonitor monitor_; 172 DataPlanUpdateMonitor monitor_;
149 }; 173 };
150 174
151 // Class to watch sms with Libcros. 175 // Class to watch sms with Libcros.
152 class CrosSMSWatcher : public CrosNetworkWatcher { 176 class CrosSMSWatcher : public CrosNetworkWatcher {
153 public: 177 public:
154 CrosSMSWatcher(const std::string& modem_device_path, 178 CrosSMSWatcher(const std::string& modem_device_path,
155 MonitorSMSCallback callback, 179 MonitorSMSCallback callback,
156 void* object) 180 void* object)
157 : monitor_(chromeos::MonitorSMS(modem_device_path.c_str(), 181 : monitor_(chromeos::MonitorSMS(modem_device_path.c_str(),
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after
389 CrosNetworkWatcher* CrosMonitorNetworkDeviceProperties( 413 CrosNetworkWatcher* CrosMonitorNetworkDeviceProperties(
390 const NetworkPropertiesWatcherCallback& callback, 414 const NetworkPropertiesWatcherCallback& callback,
391 const std::string& device_path) { 415 const std::string& device_path) {
392 if (g_libcros_network_functions_enabled) 416 if (g_libcros_network_functions_enabled)
393 return new CrosNetworkDevicePropertiesWatcher(callback, device_path); 417 return new CrosNetworkDevicePropertiesWatcher(callback, device_path);
394 else 418 else
395 return new NetworkDevicePropertiesWatcher(callback, device_path); 419 return new NetworkDevicePropertiesWatcher(callback, device_path);
396 } 420 }
397 421
398 CrosNetworkWatcher* CrosMonitorCellularDataPlan( 422 CrosNetworkWatcher* CrosMonitorCellularDataPlan(
399 MonitorDataPlanCallback callback, void* object) { 423 const DataPlanUpdateWatcherCallback& callback) {
400 return new CrosDataPlanUpdateWatcher(callback, object); 424 return new CrosDataPlanUpdateWatcher(callback);
401 } 425 }
402 426
403 CrosNetworkWatcher* CrosMonitorSMS(const std::string& modem_device_path, 427 CrosNetworkWatcher* CrosMonitorSMS(const std::string& modem_device_path,
404 MonitorSMSCallback callback, 428 MonitorSMSCallback callback,
405 void* object) { 429 void* object) {
406 return new CrosSMSWatcher(modem_device_path, callback, object); 430 return new CrosSMSWatcher(modem_device_path, callback, object);
407 } 431 }
408 432
409 void CrosRequestNetworkServiceConnect(const std::string& service_path, 433 void CrosRequestNetworkServiceConnect(const std::string& service_path,
410 NetworkActionCallback callback, 434 NetworkActionCallback callback,
(...skipping 485 matching lines...) Expand 10 before | Expand all | Expand 10 after
896 ScopedGHashTable ghash( 920 ScopedGHashTable ghash(
897 ConvertDictionaryValueToStringValueGHashTable(properties)); 921 ConvertDictionaryValueToStringValueGHashTable(properties));
898 chromeos::ConfigureService("", ghash.get(), OnConfigureService, NULL); 922 chromeos::ConfigureService("", ghash.get(), OnConfigureService, NULL);
899 } else { 923 } else {
900 DBusThreadManager::Get()->GetFlimflamManagerClient()->ConfigureService( 924 DBusThreadManager::Get()->GetFlimflamManagerClient()->ConfigureService(
901 properties, base::Bind(&DoNothing)); 925 properties, base::Bind(&DoNothing));
902 } 926 }
903 } 927 }
904 928
905 } // namespace chromeos 929 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/cros/cros_network_functions.h ('k') | chrome/browser/chromeos/cros/cros_network_functions_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698