| Index: chromeos/dbus/cryptohome_client.cc
|
| diff --git a/chromeos/dbus/cryptohome_client.cc b/chromeos/dbus/cryptohome_client.cc
|
| index 8cfc527b6bacad6a6d736527e95634fc95db14b7..29bbfae1cafb05bee1c5b12b879aacb6a91af7b2 100644
|
| --- a/chromeos/dbus/cryptohome_client.cc
|
| +++ b/chromeos/dbus/cryptohome_client.cc
|
| @@ -889,48 +889,36 @@ class CryptohomeClientImpl : public CryptohomeClient {
|
|
|
| void GetBootAttribute(const cryptohome::GetBootAttributeRequest& request,
|
| const ProtobufMethodCallback& callback) override {
|
| - const char* method_name = cryptohome::kCryptohomeGetBootAttribute;
|
| - dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, method_name);
|
| -
|
| - dbus::MessageWriter writer(&method_call);
|
| - writer.AppendProtoAsArrayOfBytes(request);
|
| -
|
| - proxy_->CallMethod(&method_call,
|
| - kTpmDBusTimeoutMs ,
|
| - base::Bind(&CryptohomeClientImpl::OnBaseReplyMethod,
|
| - weak_ptr_factory_.GetWeakPtr(),
|
| - callback));
|
| + CallCryptohomeMethod(cryptohome::kCryptohomeGetBootAttribute, request,
|
| + callback);
|
| }
|
|
|
| void SetBootAttribute(const cryptohome::SetBootAttributeRequest& request,
|
| const ProtobufMethodCallback& callback) override {
|
| - const char* method_name = cryptohome::kCryptohomeSetBootAttribute;
|
| - dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, method_name);
|
| -
|
| - dbus::MessageWriter writer(&method_call);
|
| - writer.AppendProtoAsArrayOfBytes(request);
|
| -
|
| - proxy_->CallMethod(&method_call,
|
| - kTpmDBusTimeoutMs ,
|
| - base::Bind(&CryptohomeClientImpl::OnBaseReplyMethod,
|
| - weak_ptr_factory_.GetWeakPtr(),
|
| - callback));
|
| + CallCryptohomeMethod(cryptohome::kCryptohomeSetBootAttribute, request,
|
| + callback);
|
| }
|
|
|
| void FlushAndSignBootAttributes(
|
| const cryptohome::FlushAndSignBootAttributesRequest& request,
|
| const ProtobufMethodCallback& callback) override {
|
| - const char* method_name = cryptohome::kCryptohomeFlushAndSignBootAttributes;
|
| - dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, method_name);
|
| + CallCryptohomeMethod(cryptohome::kCryptohomeFlushAndSignBootAttributes,
|
| + request, callback);
|
| + }
|
|
|
| - dbus::MessageWriter writer(&method_call);
|
| - writer.AppendProtoAsArrayOfBytes(request);
|
| + void RemoveFirmwareManagementParametersFromTpm(
|
| + const cryptohome::RemoveFirmwareManagementParametersRequest& request,
|
| + const ProtobufMethodCallback& callback) override {
|
| + CallCryptohomeMethod(
|
| + cryptohome::kCryptohomeRemoveFirmwareManagementParameters, request,
|
| + callback);
|
| + }
|
|
|
| - proxy_->CallMethod(&method_call,
|
| - kTpmDBusTimeoutMs ,
|
| - base::Bind(&CryptohomeClientImpl::OnBaseReplyMethod,
|
| - weak_ptr_factory_.GetWeakPtr(),
|
| - callback));
|
| + void SetFirmwareManagementParametersInTpm(
|
| + const cryptohome::SetFirmwareManagementParametersRequest& request,
|
| + const ProtobufMethodCallback& callback) override {
|
| + CallCryptohomeMethod(cryptohome::kCryptohomeSetFirmwareManagementParameters,
|
| + request, callback);
|
| }
|
|
|
| void MigrateToDircrypto(const cryptohome::Identification& cryptohome_id,
|
| @@ -1246,6 +1234,24 @@ class CryptohomeClientImpl : public CryptohomeClient {
|
| signal << " failed.";
|
| }
|
|
|
| + // Makes an asynchronous D-Bus call, using cryptohome interface.
|
| + // |method_name| - the name of the method to be called.
|
| + // |request| - the specific request for the method, including the data
|
| + // required to be sent.
|
| + // |callback| - the callback to be invoked when the response is received.
|
| + void CallCryptohomeMethod(const std::string& method_name,
|
| + const google::protobuf::MessageLite& request,
|
| + const ProtobufMethodCallback& callback) {
|
| + dbus::MethodCall method_call(cryptohome::kCryptohomeInterface, method_name);
|
| +
|
| + dbus::MessageWriter writer(&method_call);
|
| + writer.AppendProtoAsArrayOfBytes(request);
|
| +
|
| + proxy_->CallMethod(&method_call, kTpmDBusTimeoutMs,
|
| + base::Bind(&CryptohomeClientImpl::OnBaseReplyMethod,
|
| + weak_ptr_factory_.GetWeakPtr(), callback));
|
| + }
|
| +
|
| dbus::ObjectProxy* proxy_;
|
| std::unique_ptr<BlockingMethodCaller> blocking_method_caller_;
|
| AsyncCallStatusHandler async_call_status_handler_;
|
|
|