#include <Store.h>
Public Member Functions | |
EntryGuard (Entry *entry, const char *context) | |
~EntryGuard () | |
EntryGuard (EntryGuard &&)=delete | |
Entry * | get () |
void | unlockAndReset (const char *resetContext=nullptr) |
Private Member Functions | |
void | onException () noexcept |
Private Attributes | |
Entry * | entry_ |
the guarded Entry or nil More... | |
const char * | context_ |
default unlock() message More... | |
Detailed Description
a smart pointer similar to std::unique_ptr<> that automatically release()s and unlock()s the guarded Entry on stack-unwinding failures
Constructor & Destructor Documentation
◆ EntryGuard() [1/2]
|
inline |
◆ ~EntryGuard()
|
inline |
Definition at line 362 of file Store.h.
References entry_, and onException().
◆ EntryGuard() [2/2]
|
delete |
Member Function Documentation
◆ get()
|
inline |
◆ onException()
|
privatenoexcept |
Definition at line 2087 of file store.cc.
References context_, entry_, StoreEntry::releaseRequest(), SWALLOW_EXCEPTIONS, and StoreEntry::unlock().
Referenced by ~EntryGuard().
◆ unlockAndReset()
|
inline |
like std::unique_ptr::reset() stops guarding the entry unlocks the entry (which may destroy it)
Definition at line 380 of file Store.h.
References context_, entry_, and StoreEntry::unlock().
Referenced by StoreEntry::setPublicKey().
Member Data Documentation
◆ context_
|
private |
Definition at line 391 of file Store.h.
Referenced by onException(), and unlockAndReset().
◆ entry_
|
private |
Definition at line 390 of file Store.h.
Referenced by EntryGuard(), ~EntryGuard(), get(), onException(), and unlockAndReset().
The documentation for this class was generated from the following files: