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

Unified Diff: chrome/browser/chromeos/dbus/session_manager_client.cc

Issue 9961014: Add calls to store/retrieve user policy to SessionManagerClient. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address comment. 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
Index: chrome/browser/chromeos/dbus/session_manager_client.cc
diff --git a/chrome/browser/chromeos/dbus/session_manager_client.cc b/chrome/browser/chromeos/dbus/session_manager_client.cc
index 250910248b3fe499d4992d148325e1685c0eb154..e106a0acd7f561e868522c42dca1dfc84ddfbedc 100644
--- a/chrome/browser/chromeos/dbus/session_manager_client.cc
+++ b/chrome/browser/chromeos/dbus/session_manager_client.cc
@@ -134,22 +134,52 @@ class SessionManagerClientImpl : public SessionManagerClient {
}
// SessionManagerClient override.
- virtual void RetrievePolicy(RetrievePolicyCallback callback) OVERRIDE {
+ virtual void RetrieveDevicePolicy(RetrievePolicyCallback callback) OVERRIDE {
+ CallRetrievePolicy(login_manager::kSessionManagerRetrievePolicy,
+ callback);
+ }
+
+ // SessionManagerClient override.
+ virtual void RetrieveUserPolicy(RetrievePolicyCallback callback) OVERRIDE {
+ CallRetrievePolicy(login_manager::kSessionManagerRetrieveUserPolicy,
+ callback);
+ }
+
+ // SessionManagerClient override.
+ virtual void StoreDevicePolicy(const std::string& policy_blob,
+ StorePolicyCallback callback) OVERRIDE {
+ CallStorePolicy(login_manager::kSessionManagerStorePolicy,
+ policy_blob, callback);
+ }
+
+ // SessionManagerClient override.
+ virtual void StoreUserPolicy(const std::string& policy_blob,
+ StorePolicyCallback callback) OVERRIDE {
+ CallStorePolicy(login_manager::kSessionManagerStoreUserPolicy,
+ policy_blob, callback);
+ }
+
+ private:
+ // Helper for Retrieve{User,Device}Policy.
+ virtual void CallRetrievePolicy(const std::string& method_name,
+ RetrievePolicyCallback callback) {
dbus::MethodCall method_call(login_manager::kSessionManagerInterface,
- login_manager::kSessionManagerRetrievePolicy);
+ method_name);
session_manager_proxy_->CallMethod(
&method_call,
dbus::ObjectProxy::TIMEOUT_USE_DEFAULT,
base::Bind(&SessionManagerClientImpl::OnRetrievePolicy,
weak_ptr_factory_.GetWeakPtr(),
+ method_name,
callback));
}
- // SessionManagerClient override.
- virtual void StorePolicy(const std::string& policy_blob,
- StorePolicyCallback callback) OVERRIDE {
+ // Helper for Store{User,Device}Policy.
+ virtual void CallStorePolicy(const std::string& method_name,
+ const std::string& policy_blob,
+ StorePolicyCallback callback) {
dbus::MethodCall method_call(login_manager::kSessionManagerInterface,
- login_manager::kSessionManagerStorePolicy);
+ method_name);
dbus::MessageWriter writer(&method_call);
// static_cast does not work due to signedness.
writer.AppendArrayOfBytes(
@@ -159,10 +189,10 @@ class SessionManagerClientImpl : public SessionManagerClient {
dbus::ObjectProxy::TIMEOUT_USE_DEFAULT,
base::Bind(&SessionManagerClientImpl::OnStorePolicy,
weak_ptr_factory_.GetWeakPtr(),
+ method_name,
callback));
}
- private:
// Called when kSessionManagerEmitLoginPromptReady method is complete.
void OnEmitLoginPromptReady(dbus::Response* response) {
LOG_IF(ERROR, !response)
@@ -205,12 +235,13 @@ class SessionManagerClientImpl : public SessionManagerClient {
<< login_manager::kSessionManagerStopSession;
}
- // Called when kSessionManagerRetrievePolicy method is complete.
- void OnRetrievePolicy(RetrievePolicyCallback callback,
+ // Called when kSessionManagerRetrievePolicy or
+ // kSessionManagerRetrieveUserPolicy method is complete.
+ void OnRetrievePolicy(const std::string& method_name,
+ RetrievePolicyCallback callback,
dbus::Response* response) {
if (!response) {
- LOG(ERROR) << "Failed to call "
- << login_manager::kSessionManagerRetrievePolicy;
+ LOG(ERROR) << "Failed to call " << method_name;
callback.Run("");
return;
}
@@ -227,18 +258,18 @@ class SessionManagerClientImpl : public SessionManagerClient {
callback.Run(serialized_proto);
}
- // Called when kSessionManagerStorePolicy method is complete.
- void OnStorePolicy(StorePolicyCallback callback, dbus::Response* response) {
- if (!response) {
- LOG(ERROR) << "Failed to call "
- << login_manager::kSessionManagerStorePolicy;
- return;
- }
- dbus::MessageReader reader(response);
+ // Called when kSessionManagerStorePolicy or kSessionManagerStoreUserPolicy
+ // method is complete.
+ void OnStorePolicy(const std::string& method_name,
+ StorePolicyCallback callback,
+ dbus::Response* response) {
bool success = false;
- if (!reader.PopBool(&success)) {
- LOG(ERROR) << "Invalid response: " << response->ToString();
- return;
+ if (!response) {
+ LOG(ERROR) << "Failed to call " << method_name;
+ } else {
+ dbus::MessageReader reader(response);
+ if (!reader.PopBool(&success))
+ LOG(ERROR) << "Invalid response: " << response->ToString();
}
callback.Run(success);
}
@@ -293,14 +324,20 @@ class SessionManagerClientStubImpl : public SessionManagerClient {
virtual void RestartEntd() OVERRIDE {}
virtual void StartSession(const std::string& user_email) OVERRIDE {}
virtual void StopSession() OVERRIDE {}
- virtual void RetrievePolicy(RetrievePolicyCallback callback) OVERRIDE {
+ virtual void RetrieveDevicePolicy(RetrievePolicyCallback callback) OVERRIDE {
+ callback.Run("");
+ }
+ virtual void RetrieveUserPolicy(RetrievePolicyCallback callback) OVERRIDE {
callback.Run("");
}
- virtual void StorePolicy(const std::string& policy_blob,
- StorePolicyCallback callback) OVERRIDE {
+ virtual void StoreDevicePolicy(const std::string& policy_blob,
+ StorePolicyCallback callback) OVERRIDE {
+ callback.Run(true);
+ }
+ virtual void StoreUserPolicy(const std::string& policy_blob,
+ StorePolicyCallback callback) OVERRIDE {
callback.Run(true);
}
-
};
SessionManagerClient::SessionManagerClient() {

Powered by Google App Engine
This is Rietveld 408576698