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

Unified Diff: chrome/browser/chromeos/cros/cros_network_functions.cc

Issue 10134027: Reimplement RequestNetworkServiceConnect, RequestRequirePin, RequestEnterPin, RequestEnterPin, Requ… (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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/browser/chromeos/cros/cros_network_functions_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/chromeos/cros/cros_network_functions.cc
diff --git a/chrome/browser/chromeos/cros/cros_network_functions.cc b/chrome/browser/chromeos/cros/cros_network_functions.cc
index ea8dac2f66c031db1cdbcf85d4019717a21789ac..e0fdd818dd930cc09d0e23858cc3b583bab4abf0 100644
--- a/chrome/browser/chromeos/cros/cros_network_functions.cc
+++ b/chrome/browser/chromeos/cros/cros_network_functions.cc
@@ -234,6 +234,27 @@ void OnConfigureService(void* object,
}
}
+// A callback used to call a NetworkActionCallback on success.
+void OnNetworkActionSuccess(const std::string& path,
+ NetworkActionCallback callback,
+ void* object) {
+ callback(object, path.c_str(), NETWORK_METHOD_ERROR_NONE, "");
+}
+
+// A callback used to call a NetworkActionCallback on error.
+void OnNetworkActionError(const std::string& path,
+ NetworkActionCallback callback,
+ void* object,
+ const std::string& error_name,
+ const std::string& error_message) {
+ if (error_name.empty()) {
+ callback(object, path.c_str(), NETWORK_METHOD_ERROR_LOCAL, "");
+ } else {
+ callback(object, path.c_str(), NETWORK_METHOD_ERROR_REMOTE,
+ error_message.c_str());
+ }
+}
+
// Safe string constructor since we can't rely on non NULL pointers
// for string values from libcros.
std::string SafeString(const char* s) {
@@ -387,8 +408,15 @@ CrosNetworkWatcher* CrosMonitorSMS(const std::string& modem_device_path,
void CrosRequestNetworkServiceConnect(const std::string& service_path,
NetworkActionCallback callback,
void* object) {
- chromeos::RequestNetworkServiceConnect(service_path.c_str(), callback,
- object);
+ if (g_libcros_network_functions_enabled) {
+ chromeos::RequestNetworkServiceConnect(service_path.c_str(), callback,
+ object);
+ } else {
+ DBusThreadManager::Get()->GetFlimflamServiceClient()->Connect(
+ dbus::ObjectPath(service_path),
+ base::Bind(&OnNetworkActionSuccess, service_path, callback, object),
+ base::Bind(&OnNetworkActionError, service_path, callback, object));
+ }
}
void CrosRequestNetworkManagerProperties(
@@ -602,15 +630,30 @@ void CrosRequestRequirePin(const std::string& device_path,
bool enable,
NetworkActionCallback callback,
void* object) {
- chromeos::RequestRequirePin(device_path.c_str(), pin.c_str(), enable,
- callback, object);
+ if (g_libcros_network_functions_enabled) {
+ chromeos::RequestRequirePin(device_path.c_str(), pin.c_str(), enable,
+ callback, object);
+ } else {
+ DBusThreadManager::Get()->GetFlimflamDeviceClient()->RequirePin(
+ dbus::ObjectPath(device_path), pin, enable,
+ base::Bind(&OnNetworkActionSuccess, device_path, callback, object),
+ base::Bind(&OnNetworkActionError, device_path, callback, object));
+ }
}
void CrosRequestEnterPin(const std::string& device_path,
const std::string& pin,
NetworkActionCallback callback,
void* object) {
- chromeos::RequestEnterPin(device_path.c_str(), pin.c_str(), callback, object);
+ if (g_libcros_network_functions_enabled) {
+ chromeos::RequestEnterPin(device_path.c_str(), pin.c_str(), callback,
+ object);
+ } else {
+ DBusThreadManager::Get()->GetFlimflamDeviceClient()->EnterPin(
+ dbus::ObjectPath(device_path), pin,
+ base::Bind(&OnNetworkActionSuccess, device_path, callback, object),
+ base::Bind(&OnNetworkActionError, device_path, callback, object));
+ }
}
void CrosRequestUnblockPin(const std::string& device_path,
@@ -618,8 +661,15 @@ void CrosRequestUnblockPin(const std::string& device_path,
const std::string& pin,
NetworkActionCallback callback,
void* object) {
- chromeos::RequestUnblockPin(device_path.c_str(), unblock_code.c_str(),
- pin.c_str(), callback, object);
+ if (g_libcros_network_functions_enabled) {
+ chromeos::RequestUnblockPin(device_path.c_str(), unblock_code.c_str(),
+ pin.c_str(), callback, object);
+ } else {
+ DBusThreadManager::Get()->GetFlimflamDeviceClient()->UnblockPin(
+ dbus::ObjectPath(device_path), unblock_code, pin,
+ base::Bind(&OnNetworkActionSuccess, device_path, callback, object),
+ base::Bind(&OnNetworkActionError, device_path, callback, object));
+ }
}
void CrosRequestChangePin(const std::string& device_path,
@@ -627,8 +677,15 @@ void CrosRequestChangePin(const std::string& device_path,
const std::string& new_pin,
NetworkActionCallback callback,
void* object) {
- chromeos::RequestChangePin(device_path.c_str(), old_pin.c_str(),
- new_pin.c_str(), callback, object);
+ if (g_libcros_network_functions_enabled) {
+ chromeos::RequestChangePin(device_path.c_str(), old_pin.c_str(),
+ new_pin.c_str(), callback, object);
+ } else {
+ DBusThreadManager::Get()->GetFlimflamDeviceClient()->ChangePin(
+ dbus::ObjectPath(device_path), old_pin, new_pin,
+ base::Bind(&OnNetworkActionSuccess, device_path, callback, object),
+ base::Bind(&OnNetworkActionError, device_path, callback, object));
+ }
}
void CrosProposeScan(const std::string& device_path) {
@@ -644,8 +701,15 @@ void CrosRequestCellularRegister(const std::string& device_path,
const std::string& network_id,
chromeos::NetworkActionCallback callback,
void* object) {
- chromeos::RequestCellularRegister(device_path.c_str(), network_id.c_str(),
- callback, object);
+ if (g_libcros_network_functions_enabled) {
+ chromeos::RequestCellularRegister(device_path.c_str(), network_id.c_str(),
+ callback, object);
+ } else {
+ DBusThreadManager::Get()->GetFlimflamDeviceClient()->Register(
+ dbus::ObjectPath(device_path), network_id,
+ base::Bind(&OnNetworkActionSuccess, device_path, callback, object),
+ base::Bind(&OnNetworkActionError, device_path, callback, object));
+ }
}
bool CrosSetOfflineMode(bool offline) {
« no previous file with comments | « no previous file | chrome/browser/chromeos/cros/cros_network_functions_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698