Index: chromeos/dbus/cryptohome_client.cc |
diff --git a/chromeos/dbus/cryptohome_client.cc b/chromeos/dbus/cryptohome_client.cc |
index 86fe5b7e65ab7ff67ad86c151812aee85abde460..f7975f7bb0d920bc08c7682a333c8915d8030268 100644 |
--- a/chromeos/dbus/cryptohome_client.cc |
+++ b/chromeos/dbus/cryptohome_client.cc |
@@ -883,48 +883,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 RemoveFirmwareManagementParametersInTpm( |
+ 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); |
} |
protected: |
@@ -1195,6 +1183,24 @@ class CryptohomeClientImpl : public CryptohomeClient { |
signal << " failed."; |
} |
+ // Makes an asynchronous D-Bus call, using cryptohome interface. |
Thiemo Nagel
2017/03/23 17:23:52
Nit: Please wrap comments at 80 characters.
igorcov
2017/03/24 13:29:15
This is formatted with arguments to the function e
Thiemo Nagel
2017/03/27 17:21:47
True, but this does not match the prevalent style
igorcov
2017/03/28 16:39:09
Done.
|
+ // |method_name| is the name of the method to be called. |
+ // |request| is the specific request for the method, including the data |
+ // required to be sent. |
+ // |callback| is run 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_; |