summaryrefslogtreecommitdiff
path: root/client/dbus_proxy.h
diff options
context:
space:
mode:
authorUtkarsh Sanghi <usanghi@google.com>2015-10-01 10:47:23 -0700
committerUtkarsh Sanghi <usanghi@google.com>2015-10-07 13:37:51 +0000
commit644d8287015a0be315a49863b005f1237c280d6b (patch)
treea098b99fd8499696dd44fb36b438461507002e6b /client/dbus_proxy.h
parent98ad76f641c31a4e3ca99a6c2631305d53013484 (diff)
downloadtpm_manager-644d8287015a0be315a49863b005f1237c280d6b.tar.gz
tpm_manager: Add client side code to call the NVRAM api
This CL implements client side code to call and use the NVRAM api exposed by TpmManager. Bug: 24059574 TEST=run nvram methods on DUT and observe print statements Change-Id: I0acd2fbbd3abb6b76f4774b35972665d83128669
Diffstat (limited to 'client/dbus_proxy.h')
-rw-r--r--client/dbus_proxy.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/client/dbus_proxy.h b/client/dbus_proxy.h
index 62660a3..d52c68c 100644
--- a/client/dbus_proxy.h
+++ b/client/dbus_proxy.h
@@ -45,12 +45,34 @@ class TPM_MANAGER_EXPORT DBusProxy : public TpmManagerInterface {
const GetTpmStatusCallback& callback) override;
void TakeOwnership(const TakeOwnershipRequest& request,
const TakeOwnershipCallback& callback) override;
+ void DefineNvram(const DefineNvramRequest& request,
+ const DefineNvramCallback& callback) override;
+ void DestroyNvram(const DestroyNvramRequest& request,
+ const DestroyNvramCallback& callback) override;
+ void WriteNvram(const WriteNvramRequest& request,
+ const WriteNvramCallback& callback) override;
+ void ReadNvram(const ReadNvramRequest& request,
+ const ReadNvramCallback& callback) override;
+ void IsNvramDefined(const IsNvramDefinedRequest& request,
+ const IsNvramDefinedCallback& callback) override;
+ void IsNvramLocked(const IsNvramLockedRequest& request,
+ const IsNvramLockedCallback& callback) override;
+ void GetNvramSize(const GetNvramSizeRequest& request,
+ const GetNvramSizeCallback& callback) override;
void set_object_proxy(dbus::ObjectProxy* object_proxy) {
object_proxy_ = object_proxy;
}
private:
+ // Template method to call a given |method_name| remotely via dbus.
+ template<typename ReplyProtobufType,
+ typename RequestProtobufType,
+ typename CallbackType>
+ void CallMethod(const std::string& method_name,
+ const RequestProtobufType& request,
+ const CallbackType& callback);
+
scoped_refptr<dbus::Bus> bus_;
dbus::ObjectProxy* object_proxy_;
DISALLOW_COPY_AND_ASSIGN(DBusProxy);