24#include <tss2/tss2_esys.h>
33 EsysLock(ESYS_CONTEXT*, std::unique_lock<std::mutex>);
59 void set(ESYS_TR resource);
Definition: tpm_resource_manager.h:28
std::unique_lock< std::mutex > guard_
Definition: tpm_resource_manager.h:36
ESYS_CONTEXT * esys_
Definition: tpm_resource_manager.h:35
ESYS_CONTEXT * operator*() const
Definition: tpm_resource_manager.h:30
EsysLock(ESYS_CONTEXT *, std::unique_lock< std::mutex >)
Definition: tpm_resource_manager.cpp:26
Definition: tpm_resource_manager.h:52
ESYS_TR resource_
Definition: tpm_resource_manager.h:65
void set(ESYS_TR resource)
Definition: tpm_resource_manager.cpp:57
ESYS_TR get()
Definition: tpm_resource_manager.cpp:53
TpmResourceManager * resource_manager_
Definition: tpm_resource_manager.h:64
~ObjectSlot()
Definition: tpm_resource_manager.cpp:39
ObjectSlot(TpmResourceManager *resource_manager)
Definition: tpm_resource_manager.cpp:29
Definition: tpm_resource_manager.h:50
TpmResourceManager(ESYS_CONTEXT *esys)
Definition: tpm_resource_manager.cpp:61
std::atomic< std::uint32_t > used_slots_
Definition: tpm_resource_manager.h:81
ESYS_CONTEXT * esys_
Definition: tpm_resource_manager.h:79
const std::uint32_t maximum_object_slots_
Definition: tpm_resource_manager.h:80
~TpmResourceManager()
Definition: tpm_resource_manager.cpp:67
EsysLock Esys()
Definition: tpm_resource_manager.cpp:74
std::mutex mu_
Definition: tpm_resource_manager.h:78
std::shared_ptr< ObjectSlot > ReserveSlot()
Definition: tpm_resource_manager.cpp:78
Definition: alloc_utils.cpp:23
std::shared_ptr< TpmResourceManager::ObjectSlot > TpmObjectSlot
Definition: tpm_resource_manager.h:84