QtIotaBlock 0.4.1
Library with block types on IOTA
qtoken_scheme.hpp
1 #pragma once
2 
3 #include "block/carray.hpp"
4 #include <QByteArray>
5 #include <QDataStream>
6 #include <QJsonObject>
7 #include <QJsonValue>
8 namespace qiota
9 {
10 namespace qblocks
11 {
13 {
14  public:
15  enum types : quint8
16  {
17  Simple_typ = 0
18  };
19  Token_Scheme(types typ);
20  template <class from_type> static std::shared_ptr<Token_Scheme> from_(from_type &val);
21 
22  static std::shared_ptr<Token_Scheme> Simple(const quint256 &minted_tokens_m, const quint256 &melted_tokens_m,
23  const quint256 &maximum_supply_m);
24  virtual void serialize(QDataStream &out) const;
25  virtual QJsonObject get_Json(void) const;
26 
27  types type(void) const
28  {
29  return type_m;
30  }
31 
32  private:
33  const types type_m;
34 };
35 
37 {
38  public:
39  Simple_Token_Scheme(const quint256 &minted_tokens_m, const quint256 &melted_tokens_m,
40  const quint256 &maximum_supply_m);
41  Simple_Token_Scheme(const QJsonValue &val);
43  void serialize(QDataStream &out) const;
44 
45  QJsonObject get_Json(void) const;
46 
47  private:
48  quint256 minted_tokens_, melted_tokens_, maximum_supply_;
49 };
50 
51 }; // namespace qblocks
52 
53 }; // namespace qiota
Definition: qtoken_scheme.hpp:37
QJsonObject get_Json(void) const
Definition: qtoken_scheme.cpp:60
void serialize(QDataStream &out) const
Definition: qtoken_scheme.cpp:53
Simple_Token_Scheme(const quint256 &minted_tokens_m, const quint256 &melted_tokens_m, const quint256 &maximum_supply_m)
Definition: qtoken_scheme.cpp:38
Definition: qtoken_scheme.hpp:13
virtual QJsonObject get_Json(void) const
Definition: qtoken_scheme.cpp:8
types
Definition: qtoken_scheme.hpp:16
@ Simple_typ
Definition: qtoken_scheme.hpp:17
Token_Scheme(types typ)
Definition: qtoken_scheme.cpp:12
virtual void serialize(QDataStream &out) const
Definition: qtoken_scheme.cpp:7
static std::shared_ptr< Token_Scheme > from_(from_type &val)
Definition: qtoken_scheme.cpp:14
static std::shared_ptr< Token_Scheme > Simple(const quint256 &minted_tokens_m, const quint256 &melted_tokens_m, const quint256 &maximum_supply_m)
Definition: qtoken_scheme.cpp:32
types type(void) const
Definition: qtoken_scheme.hpp:27
Definition: carray.hpp:22