AusweisApp
 
Lade ...
Suche ...
Keine Treffer
Chat.h
gehe zur Dokumentation dieser Datei
1
4
5#pragma once
6
7#include "ASN1TemplateUtil.h"
9#include "Oid.h"
10
11#include <openssl/asn1t.h>
12
13#include <QByteArray>
14#include <QSharedPointer>
15
16
17namespace governikus
18{
19
63
64
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
73 chat_st(const chat_st& pCopy);
74 chat_st& operator=(const chat_st&) = delete;
75 ~chat_st();
76
77 [[nodiscard]] Oid getType() const;
78 [[nodiscard]] QByteArray getTemplate() const;
79 [[nodiscard]] AccessRole getAccessRole() const;
80
81 [[nodiscard]] QSet<AccessRight> getAccessRights() const;
82 void setAccessRights(const QSet<AccessRight>& pAccessRights);
83 [[nodiscard]] bool hasAccessRight(AccessRight pAccessRight) const;
84 void removeAllAccessRights();
85 void removeAccessRight(AccessRight pAccessRight);
86
87 private:
88 void setTemplateBit(uint pBitIndex, bool pOn);
89
90 public:
91 static int decodeCallback(int pOperation, ASN1_VALUE** pVal, const ASN1_ITEM* pIt, void* pExarg);
92};
93
94DECLARE_ASN1_FUNCTIONS(CHAT)
96
97} // namespace governikus
#define DECLARE_ASN1_OBJECT(name)
Definition ASN1TemplateUtil.h:173
QByteArray fromHex(const std::string &pString)
Definition SmartManager.cpp:40
Defines the AccessRight and AccessRole enum.
Definition CommandApdu.h:17
struct chat_st { ASN1_OBJECT *mType; ASN1_OCTET_STRING *mTemplate; static QSharedPointer< chat_st > fromHex(const QByteArray &pHexValue); static QSharedPointer< chat_st > decode(const QByteArray &pBytes); chat_st(const chat_st &pCopy); chat_st &operator=(const chat_st &)=delete; ~chat_st();[[nodiscard]] Oid getType() const ;[[nodiscard]] QByteArray getTemplate() const ;[[nodiscard]] AccessRole getAccessRole() const ;[[nodiscard]] QSet< AccessRight > getAccessRights() const ; void setAccessRights(const QSet< AccessRight > &pAccessRights);[[nodiscard]] bool hasAccessRight(AccessRight pAccessRight) const ; void removeAllAccessRights(); void removeAccessRight(AccessRight pAccessRight); private: void setTemplateBit(uint pBitIndex, bool pOn); public: static int decodeCallback(int pOperation, ASN1_VALUE **pVal, const ASN1_ITEM *pIt, void *pExarg);} CHAT
According to.
Definition Chat.h:65