QtIotaBlock 0.4.1
Library with block types on IOTA
qsignatures.hpp
1 #pragma once
2 
3 #include "block/carray.hpp"
4 #include "block/qaddresses.hpp"
5 #include <QByteArray>
6 #include <QDataStream>
7 #include <QJsonValue>
8 namespace qiota
9 {
10 namespace qblocks
11 {
12 class Signature
13 {
14  public:
15  enum types : quint8
16  {
17  Ed25519_typ = 0
18  };
19  Signature(types typ);
20  template <class from_type> static std::shared_ptr<const Signature> from_(from_type &val);
21 
22  static std::shared_ptr<const Signature> Ed25519(const public_key &public_key_m, const signature &signature_m);
23  virtual void serialize(QDataStream &out) const;
24  virtual QJsonObject get_Json(void) const;
25 
26  types type(void) const
27  {
28  return type_m;
29  }
30 
31  private:
32  const types type_m;
33 };
34 
36 {
37  public:
38  Ed25519_Signature(const public_key &public_key_m, const signature &signature_m);
39  Ed25519_Signature(const QJsonValue &val);
41  void serialize(QDataStream &out) const;
42  QJsonObject get_Json(void) const;
43 
44  private:
45  public_key public_key_;
46  signature signature_;
47 };
48 
49 }; // namespace qblocks
50 
51 }; // namespace qiota
Definition: qsignatures.hpp:36
void serialize(QDataStream &out) const
Definition: qsignatures.cpp:44
QJsonObject get_Json(void) const
Definition: qsignatures.cpp:50
Ed25519_Signature(const public_key &public_key_m, const signature &signature_m)
Definition: qsignatures.cpp:33
Definition: qsignatures.hpp:13
virtual void serialize(QDataStream &out) const
Definition: qsignatures.cpp:7
Signature(types typ)
Definition: qsignatures.cpp:12
static std::shared_ptr< const Signature > Ed25519(const public_key &public_key_m, const signature &signature_m)
Definition: qsignatures.cpp:28
virtual QJsonObject get_Json(void) const
Definition: qsignatures.cpp:8
static std::shared_ptr< const Signature > from_(from_type &val)
Definition: qsignatures.cpp:13
types
Definition: qsignatures.hpp:16
@ Ed25519_typ
Definition: qsignatures.hpp:17
types type(void) const
Definition: qsignatures.hpp:26
Byte Array that takes care of storing the objects in serialized form.
Definition: carray.hpp:30
Definition: carray.hpp:22