Botan 3.8.1
Crypto and TLS for C&
Botan::TPM2::ObjectSetter Class Reference

#include <tpm2_util.h>

Public Member Functions

 ObjectSetter (const ObjectSetter &)=delete
 
constexpr ObjectSetter (Object &object, bool persistent=false)
 
 ObjectSetter (ObjectSetter &&)=delete
 
constexpr operator uint32_t * () &&noexcept
 
ObjectSetteroperator= (const ObjectSetter &)=delete
 
ObjectSetteroperator= (ObjectSetter &&)=delete
 
constexpr ~ObjectSetter () noexcept
 

Detailed Description

Helper type setting a TPM2_HANDLE or ESYS_TR on a given instance of Object from a TSS2 library function's out parameter.

This is not used directly, but through the out_transient_handle() and out_persistent_handle() respectively.

Definition at line 183 of file tpm2_util.h.

Constructor & Destructor Documentation

◆ ObjectSetter() [1/3]

Botan::TPM2::ObjectSetter::ObjectSetter ( Object & object,
bool persistent = false )
inlineconstexpr

Definition at line 185 of file tpm2_util.h.

185 :
186 m_object(object), m_persistent(persistent), m_handle(persistent ? 0 : ESYS_TR_NONE) {}

Referenced by ObjectSetter(), ObjectSetter(), operator=(), and operator=().

◆ ~ObjectSetter()

Botan::TPM2::ObjectSetter::~ObjectSetter ( )
inlineconstexprnoexcept

Definition at line 188 of file tpm2_util.h.

188 {
189 if(!was_written()) {
190 return;
191 }
192
193 if(m_persistent) {
194 m_object.handles().persistent = m_handle;
195 } else {
196 m_object.handles().transient = m_handle;
197 }
198 }

◆ ObjectSetter() [2/3]

Botan::TPM2::ObjectSetter::ObjectSetter ( const ObjectSetter & )
delete

References ObjectSetter().

◆ ObjectSetter() [3/3]

Botan::TPM2::ObjectSetter::ObjectSetter ( ObjectSetter && )
delete

References ObjectSetter().

Member Function Documentation

◆ operator uint32_t *()

Botan::TPM2::ObjectSetter::operator uint32_t * ( ) &&
inlinenodiscardconstexprnoexcept

Definition at line 205 of file tpm2_util.h.

205{ return &m_handle; }

◆ operator=() [1/2]

ObjectSetter & Botan::TPM2::ObjectSetter::operator= ( const ObjectSetter & )
delete

References ObjectSetter().

◆ operator=() [2/2]

ObjectSetter & Botan::TPM2::ObjectSetter::operator= ( ObjectSetter && )
delete

References ObjectSetter().


The documentation for this class was generated from the following file: