Index: chromeos/dbus/session_manager_client.cc |
diff --git a/chromeos/dbus/session_manager_client.cc b/chromeos/dbus/session_manager_client.cc |
index 0c23f432224f23c46b44316100c407c1291ac814..b6501f36fabe7a4e0663443b08c2516ad401a19e 100644 |
--- a/chromeos/dbus/session_manager_client.cc |
+++ b/chromeos/dbus/session_manager_client.cc |
@@ -271,6 +271,13 @@ class SessionManagerClientImpl : public SessionManagerClient { |
callback); |
} |
+ virtual void SetFlagsForUser(const std::string& username, |
+ const std::vector<std::string>& flags) OVERRIDE { |
+ CallSetFlagsByUsername(login_manager::kSessionManagerSetFlagsForUser, |
Mattias Nissler (ping if slow)
2013/06/12 14:53:03
You can just inline CallSetFlagsByUsername, the fu
pastarmovj
2013/06/12 16:19:33
Done.
|
+ username, |
+ flags); |
+ } |
+ |
private: |
// Makes a method call to the session manager with no arguments and no |
// response. |
@@ -322,6 +329,20 @@ class SessionManagerClientImpl : public SessionManagerClient { |
callback)); |
} |
+ void CallSetFlagsByUsername(const std::string& method_name, |
+ const std::string& username, |
+ const std::vector<std::string>& flags) { |
+ dbus::MethodCall method_call(login_manager::kSessionManagerInterface, |
+ method_name); |
+ dbus::MessageWriter writer(&method_call); |
+ writer.AppendString(username); |
+ writer.AppendArrayOfStrings(flags); |
+ session_manager_proxy_->CallMethod( |
+ &method_call, |
+ dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
+ dbus::ObjectProxy::EmptyResponseCallback()); |
+ } |
+ |
// Called when kSessionManagerRestartJob method is complete. |
void OnRestartJob(dbus::Response* response) { |
LOG_IF(ERROR, !response) |
@@ -597,6 +618,9 @@ class SessionManagerClientStubImpl : public SessionManagerClient { |
user_policies_[account_name] = policy_blob; |
callback.Run(true); |
} |
+ virtual void SetFlagsForUser(const std::string& username, |
+ const std::vector<std::string>& flags) OVERRIDE { |
+ } |
static void StoreFileInBackground(const base::FilePath& path, |
const std::string& data) { |