Index: chromeos/dbus/session_manager_client.h |
diff --git a/chromeos/dbus/session_manager_client.h b/chromeos/dbus/session_manager_client.h |
index ee142aad64cd384fafa03c44ef9c46683b5c2d7c..f2c89cc01b08402b4c3df623ceb7fae2e8ff9d25 100644 |
--- a/chromeos/dbus/session_manager_client.h |
+++ b/chromeos/dbus/session_manager_client.h |
@@ -231,12 +231,20 @@ class CHROMEOS_EXPORT SessionManagerClient : public DBusClient { |
// Asynchronously starts the ARC instance for the user whose cryptohome is |
// located by |cryptohome_id|. Flag |disable_boot_completed_broadcast| |
// blocks Android ACTION_BOOT_COMPLETED broadcast for 3rd party applications. |
- // Upon completion, invokes |callback| with the result; true on success, false |
- // on failure (either session manager failed to start an instance or session |
- // manager can not be reached). |
+ // Upon completion, invokes |callback| with the result. |
+ // Running ARC requires some amount of disk space. LOW_FREE_DISK_SPACE will |
+ // be returned when there is not enough free disk space for ARC. |
+ // UNKNOWN_ERROR is returned for any other errors. |
+ // TODO(hidehiko): Replace "typedef" by "using". |
+ enum class StartArcInstanceResult { |
+ SUCCESS, |
+ UNKNOWN_ERROR, |
+ LOW_FREE_DISK_SPACE, |
+ }; |
+ typedef base::Callback<void(StartArcInstanceResult)> StartArcInstanceCallback; |
virtual void StartArcInstance(const cryptohome::Identification& cryptohome_id, |
bool disable_boot_completed_broadcast, |
- const ArcCallback& callback) = 0; |
+ const StartArcInstanceCallback& callback) = 0; |
// Asynchronously stops the ARC instance. Upon completion, invokes |
// |callback| with the result; true on success, false on failure (either |