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

Unified Diff: chromeos/dbus/session_manager_client.cc

Issue 2397863003: Move free disk space check to session_manager. (Closed)
Patch Set: Created 4 years, 2 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: chromeos/dbus/session_manager_client.cc
diff --git a/chromeos/dbus/session_manager_client.cc b/chromeos/dbus/session_manager_client.cc
index df81dccde03e54b2e9cdfc07a55ee106b4d14cdf..4da32990a6e3f18f9144916d4e10f9d0e5ff67e3 100644
--- a/chromeos/dbus/session_manager_client.cc
+++ b/chromeos/dbus/session_manager_client.cc
@@ -310,18 +310,19 @@ class SessionManagerClientImpl : public SessionManagerClient {
void StartArcInstance(const cryptohome::Identification& cryptohome_id,
bool disable_boot_completed_broadcast,
- const ArcCallback& callback) override {
+ const StartArcInstanceCallback& callback) override {
dbus::MethodCall method_call(
login_manager::kSessionManagerInterface,
login_manager::kSessionManagerStartArcInstance);
dbus::MessageWriter writer(&method_call);
writer.AppendString(cryptohome_id.id());
writer.AppendBool(disable_boot_completed_broadcast);
- session_manager_proxy_->CallMethod(
+ session_manager_proxy_->CallMethodWithErrorCallback(
&method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT,
- base::Bind(&SessionManagerClientImpl::OnArcMethod,
- weak_ptr_factory_.GetWeakPtr(),
- login_manager::kSessionManagerStartArcInstance, callback));
+ base::Bind(&SessionManagerClientImpl::OnStartArcInstanceSucceeded,
+ weak_ptr_factory_.GetWeakPtr(), callback),
+ base::Bind(&SessionManagerClientImpl::OnStartArcInstanceFailed,
+ weak_ptr_factory_.GetWeakPtr(), callback));
}
void StopArcInstance(const ArcCallback& callback) override {
@@ -722,6 +723,21 @@ class SessionManagerClientImpl : public SessionManagerClient {
callback.Run(success);
}
+ void OnStartArcInstanceSucceeded(const StartArcInstanceCallback& callback,
+ dbus::Response* response) {
+ if (!callback.is_null())
+ callback.Run(true, "" /* no error */);
+ }
+
+ void OnStartArcInstanceFailed(const StartArcInstanceCallback& callback,
+ dbus::ErrorResponse* response) {
+ LOG(ERROR) << "Failed to call StartArcInstance: "
+ << (response ? response->ToString() : "(null)");
+ if (!callback.is_null())
+ callback.Run(false,
+ response ? response->GetErrorName() : base::EmptyString());
hashimoto 2016/10/06 08:12:20 Please be consistent by sticking to one of "" or b
hidehiko 2016/10/06 08:33:21 Done.
+ }
+
dbus::ObjectProxy* session_manager_proxy_;
std::unique_ptr<BlockingMethodCaller> blocking_method_caller_;
base::ObserverList<Observer> observers_;
@@ -898,8 +914,8 @@ class SessionManagerClientStubImpl : public SessionManagerClient {
void StartArcInstance(const cryptohome::Identification& cryptohome_id,
bool disable_boot_completed_broadcast,
- const ArcCallback& callback) override {
- callback.Run(false);
+ const StartArcInstanceCallback& callback) override {
+ callback.Run(false, "");
}
void PrioritizeArcInstance(const ArcCallback& callback) override {

Powered by Google App Engine
This is Rietveld 408576698