GpgFrontend Project
A Free, Powerful, Easy-to-Use, Compact, Cross-Platform, and Installation-Free OpenPGP(pgp) Crypto Tool.
SingletonStorageCollection.h
1
29
#pragma once
30
31
#include "core/function/SecureMemoryAllocator.h"
32
33
namespace
GpgFrontend
{
34
class
SingletonStorage;
35
36
using
SingletonStoragePtr =
37
std::unique_ptr<SingletonStorage, SecureObjectDeleter<SingletonStorage>>;
38
39
class
GPGFRONTEND_CORE_EXPORT
SingletonStorageCollection
{
40
public
:
45
SingletonStorageCollection
() noexcept;
46
51
~
SingletonStorageCollection
();
52
58
static
auto
GetInstance(
bool
force_refresh) ->
SingletonStorageCollection
*;
59
64
static
void
Destroy();
65
72
auto
GetSingletonStorage(
const
std::type_info&) ->
SingletonStorage
*;
73
74
private
:
75
class
Impl
;
76
SecureUniquePtr<Impl> p_;
77
};
78
79
}
// namespace GpgFrontend
GpgFrontend::SingletonStorageCollection::Impl
Definition:
SingletonStorageCollection.cpp:42
GpgFrontend::SingletonStorageCollection
Definition:
SingletonStorageCollection.h:39
GpgFrontend::SingletonStorage
Definition:
SingletonStorage.h:39
GpgFrontend
Definition:
app.cpp:38
src
core
function
basic
SingletonStorageCollection.h
Generated by
1.9.1