AusweisApp
 
Lade ...
Suche ...
Keine Treffer
StateBuilder.h
gehe zur Dokumentation dieser Datei
1
4
5#pragma once
6
7
8#include <QSharedPointer>
9#include <QString>
10
11namespace governikus
12{
13
14class StateBuilder
15{
16 Q_DISABLE_COPY(StateBuilder)
17
18 private:
19 StateBuilder() = delete;
20 ~StateBuilder() = delete;
21
22 static QString getUnqualifiedClassName(const char* const pName);
23
24 public:
25 template<typename T>
26 [[nodiscard]] static QString generateStateName()
27 {
28 return getUnqualifiedClassName(T::staticMetaObject.className());
29 }
30
31
32 template<typename T>
33 [[nodiscard]] static bool isState(const QString& pState)
34 {
35 return pState == generateStateName<T>();
36 }
37
38
39 template<typename T, typename C>
40 static T* createState(const QSharedPointer<C>& pContext)
41 {
42 auto* state = new T(pContext);
43 state->setObjectName(getUnqualifiedClassName(state->metaObject()->className()));
44 return state;
45 }
46
47
48};
49
50} // namespace governikus
static QString generateStateName()
Definition StateBuilder.h:26
static T * createState(const QSharedPointer< C > &pContext)
Definition StateBuilder.h:40
static bool isState(const QString &pState)
Definition StateBuilder.h:33
#define T(v)
Definition http_parser.cpp:237
state
Definition http_parser.cpp:280
Defines the AccessRight and AccessRole enum.
Definition CommandApdu.h:17