AusweisApp2
Lade ...
Suche ...
Keine Treffer
Chat.h
gehe zur Dokumentation dieser Datei
1
7#pragma once
8
10#include "ASN1TemplateUtil.h"
11
12#include <openssl/asn1t.h>
13
14#include <QByteArray>
15#include <QSharedPointer>
16
17namespace governikus
18{
19
65using CHAT = struct chat_st
66{
67 ASN1_OBJECT* mType;
68 ASN1_OCTET_STRING* mTemplate;
69
70 static QSharedPointer<chat_st> fromHex(const QByteArray& pHexValue);
71 static QSharedPointer<chat_st> decode(const QByteArray& pBytes);
72 [[nodiscard]] QByteArray encode() const;
73
74 chat_st(const chat_st& pCopy);
75 chat_st& operator=(const chat_st&) = delete;
76 ~chat_st();
77
78 void setType(const QByteArray& pOidAsText);
79 [[nodiscard]] QByteArray getType() const;
80
81 void setTemplate(const QByteArray& pValue);
82 [[nodiscard]] QByteArray getTemplate() const;
83
84 void setAccessRole(AccessRole pRole);
85 [[nodiscard]] AccessRole getAccessRole() const;
86
87 [[nodiscard]] QSet<AccessRight> getAccessRights() const;
88 void setAccessRights(const QSet<AccessRight>& pAccessRights);
89 [[nodiscard]] bool hasAccessRight(AccessRight pAccessRight) const;
91 void removeAccessRight(AccessRight pAccessRight);
92
93 private:
94 void setTemplateBit(uint pBitIndex, bool pOn);
95
96 public:
97 static int decodeCallback(int pOperation, ASN1_VALUE** pVal, const ASN1_ITEM* pIt, void* pExarg);
98};
99
100DECLARE_ASN1_FUNCTIONS(CHAT)
102
103} // namespace governikus
#define DECLARE_ASN1_OBJECT(name)
Definition: ASN1TemplateUtil.h:164
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15
bool hasAccessRight(AccessRight pAccessRight) const
Definition: Chat.cpp:201
ASN1_OCTET_STRING * mTemplate
Definition: Chat.h:68
chat_st { ASN1_OBJECT *mType CHAT
According to.
Definition: Chat.h:67
void setAccessRole(AccessRole pRole)
Definition: Chat.cpp:144
QByteArray getTemplate() const
Definition: Chat.cpp:138
chat_st(const chat_st &pCopy)
Definition: Chat.cpp:88
QByteArray getType() const
AccessRole getAccessRole() const
Definition: Chat.cpp:160
~chat_st()
Definition: Chat.cpp:97
void setType(const QByteArray &pOidAsText)
Definition: Chat.cpp:119
chat_st & operator=(const chat_st &)=delete
QByteArray encode() const
QSet< AccessRight > getAccessRights() const
void removeAllAccessRights()
Definition: Chat.cpp:207
void setAccessRights(const QSet< AccessRight > &pAccessRights)
Definition: Chat.cpp:192
void setTemplate(const QByteArray &pValue)
Definition: Chat.cpp:132
void removeAccessRight(AccessRight pAccessRight)
Definition: Chat.cpp:217