AusweisApp
Lade ...
Suche ...
Keine Treffer
Chat.h
gehe zur Dokumentation dieser Datei
1
9#pragma once
10
11#include "ASN1TemplateUtil.h"
12#include "AccessRoleAndRight.h"
13#include "Oid.h"
14
15#include <openssl/asn1t.h>
16
17#include <QByteArray>
18#include <QSharedPointer>
19
20namespace governikus
21{
22
68using CHAT = struct chat_st
69{
70 ASN1_OBJECT* mType;
71 ASN1_OCTET_STRING* mTemplate;
72
73 static QSharedPointer<chat_st> fromHex(const QByteArray& pHexValue);
74 static QSharedPointer<chat_st> decode(const QByteArray& pBytes);
75
76 chat_st(const chat_st& pCopy);
77 chat_st& operator=(const chat_st&) = delete;
78 ~chat_st();
79
80 [[nodiscard]] Oid getType() const;
81 [[nodiscard]] QByteArray getTemplate() const;
82 [[nodiscard]] AccessRole getAccessRole() const;
83
84 [[nodiscard]] QSet<AccessRight> getAccessRights() const;
85 void setAccessRights(const QSet<AccessRight>& pAccessRights);
86 [[nodiscard]] bool hasAccessRight(AccessRight pAccessRight) const;
88 void removeAccessRight(AccessRight pAccessRight);
89
90 private:
91 void setTemplateBit(uint pBitIndex, bool pOn);
92
93 public:
94 static int decodeCallback(int pOperation, ASN1_VALUE** pVal, const ASN1_ITEM* pIt, void* pExarg);
95};
96
97DECLARE_ASN1_FUNCTIONS(CHAT)
99
100} // namespace governikus
#define DECLARE_ASN1_OBJECT(name)
Definition ASN1TemplateUtil.h:178
Implementation of GeneralAuthenticate response APDUs.
Definition CommandApdu.h:16
bool hasAccessRight(AccessRight pAccessRight) const
Definition Chat.cpp:169
ASN1_OCTET_STRING * mTemplate
Definition Chat.h:71
chat_st { ASN1_OBJECT *mType CHAT
According to.
Definition Chat.h:70
QByteArray getTemplate() const
Definition Chat.cpp:122
chat_st(const chat_st &pCopy)
Definition Chat.cpp:93
Oid getType() const
AccessRole getAccessRole() const
Definition Chat.cpp:128
~chat_st()
Definition Chat.cpp:100
application_template_st & operator=(const application_template_st &)=delete
QSet< AccessRight > getAccessRights() const
void removeAllAccessRights()
Definition Chat.cpp:175
void setAccessRights(const QSet< AccessRight > &pAccessRights)
Definition Chat.cpp:160
void removeAccessRight(AccessRight pAccessRight)
Definition Chat.cpp:185