25#include <tss2/tss2_esys.h>
34 EsysLock(ESYS_CONTEXT*, std::unique_lock<std::mutex>);
60 void set(ESYS_TR resource);
Definition: tpm_resource_manager.h:29
std::unique_lock< std::mutex > guard_
Definition: tpm_resource_manager.h:37
ESYS_CONTEXT * esys_
Definition: tpm_resource_manager.h:36
ESYS_CONTEXT * operator*() const
Definition: tpm_resource_manager.h:31
EsysLock(ESYS_CONTEXT *, std::unique_lock< std::mutex >)
Definition: tpm_resource_manager.cpp:26
Definition: tpm_resource_manager.h:53
ESYS_TR resource_
Definition: tpm_resource_manager.h:66
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:65
~ObjectSlot()
Definition: tpm_resource_manager.cpp:39
ObjectSlot(TpmResourceManager *resource_manager)
Definition: tpm_resource_manager.cpp:29
Definition: tpm_resource_manager.h:51
TpmResourceManager(ESYS_CONTEXT *esys)
Definition: tpm_resource_manager.cpp:61
std::atomic< uint32_t > used_slots_
Definition: tpm_resource_manager.h:82
ESYS_CONTEXT * esys_
Definition: tpm_resource_manager.h:80
~TpmResourceManager()
Definition: tpm_resource_manager.cpp:67
const uint32_t maximum_object_slots_
Definition: tpm_resource_manager.h:81
EsysLock Esys()
Definition: tpm_resource_manager.cpp:74
std::mutex mu_
Definition: tpm_resource_manager.h:79
std::shared_ptr< ObjectSlot > ReserveSlot()
Definition: tpm_resource_manager.cpp:78
Definition: alloc_driver.h:20
std::shared_ptr< TpmResourceManager::ObjectSlot > TpmObjectSlot
Definition: tpm_resource_manager.h:85