Index: chromeos/dbus/cryptohome_client.cc |
diff --git a/chromeos/dbus/cryptohome_client.cc b/chromeos/dbus/cryptohome_client.cc |
index 14fa92b1c8bcf80381acc27871cf32af7c09fc06..7963d5d27d14e47c33de1e18f7eb31ecce8ac215 100644 |
--- a/chromeos/dbus/cryptohome_client.cc |
+++ b/chromeos/dbus/cryptohome_client.cc |
@@ -59,6 +59,25 @@ class CryptohomeClientImpl : public CryptohomeClient { |
} |
// CryptohomeClient override. |
+ virtual bool IsMountedForUser(const std::string& username, |
+ bool* is_mounted, |
+ bool* is_ephemeral_mount) OVERRIDE { |
+ INITIALIZE_METHOD_CALL(method_call, |
+ cryptohome::kCryptohomeIsMountedForUser); |
+ dbus::MessageWriter writer(&method_call); |
+ writer.AppendString(username); |
+ scoped_ptr<dbus::Response> response( |
+ blocking_method_caller_.CallMethodAndBlock(&method_call)); |
+ if (!response.get()) |
+ return false; |
+ dbus::MessageReader reader(response.get()); |
+ if (!reader.PopBool(is_mounted) || |
+ !reader.PopBool(is_ephemeral_mount)) |
+ return false; |
+ return true; |
+ } |
+ |
+ // CryptohomeClient override. |
virtual bool Unmount(bool *success) OVERRIDE { |
INITIALIZE_METHOD_CALL(method_call, cryptohome::kCryptohomeUnmount); |
return CallBoolMethodAndBlock(&method_call, success); |
@@ -428,6 +447,15 @@ class CryptohomeClientStubImpl : public CryptohomeClient { |
} |
// CryptohomeClient override. |
+ virtual bool IsMountedForUser(const std::string& username, |
+ bool* is_mounted, |
+ bool* is_ephemeral_mount) OVERRIDE { |
+ *is_mounted = true; |
+ *is_ephemeral_mount = false; |
+ return true; |
+ } |
+ |
+ // CryptohomeClient override. |
virtual bool Unmount(bool* success) OVERRIDE { |
*success = true; |
return true; |