MidlePayQml 0.0.4
MiddlePay QML module
qpayloads.hpp
1 #pragma once
2 
3 #include <QByteArray>
4 #include <QDataStream>
5 #include <QJsonValue>
6 #include<QJsonObject>
7 #include<QJsonArray>
8 #include"block/carray.hpp"
9 #include"block/qunlocks.hpp"
10 namespace qiota{
11 namespace qblocks{
12 class Essence;
13 class Payload
14 {
15 public:
16  enum types : quint32 { Tagged_Data_typ=5, Transaction_typ=6};
17  Payload(types type_);
18  template<class from_type> static std::shared_ptr<const Payload> from_(from_type& val);
19 
20  static std::shared_ptr<const Payload> Tagged_Data(const tagF& tag_m,const dataF& data_m);
22 
23  virtual void serialize(QDataStream &out)const;
24  virtual QJsonObject get_Json(void) const;
25  virtual c_array get_id(void)const{return c_array(32,0);};
26  types type(void)const{return type_m;}
27 
28 private:
29  const types type_m;
30 
31 };
32 
34 {
35 public:
36  Tagged_Data_Payload(const tagF& tag_m,const dataF& data_m);
39  void serialize(QDataStream &out)const;
40 
41  QJsonObject get_Json(void) const;
42 
43 private:
44  tagF tag_;
45  dataF data_;
46 
47 };
48 
49 
51 {
52 public:
53 
54 
58 
59  void serialize(QDataStream &out)const;
60 
61  QJsonObject get_Json(void) const;
62  c_array get_id(void)const;
63 private:
65  pvector<const Unlock> unlocks_;
66 };
67 };
68 };
Definition: qpayloads.hpp:14
virtual QJsonObject get_Json(void) const
virtual c_array get_id(void) const
Definition: qpayloads.hpp:25
static std::shared_ptr< const Payload > Tagged_Data(const tagF &tag_m, const dataF &data_m)
static std::shared_ptr< const Payload > from_(from_type &val)
static std::shared_ptr< const Payload > Transaction(const std::shared_ptr< const Essence > &essence_m, const pvector< const Unlock > &unlocks_m)
types
Definition: qpayloads.hpp:16
@ Transaction_typ
Definition: qpayloads.hpp:16
@ Tagged_Data_typ
Definition: qpayloads.hpp:16
virtual void serialize(QDataStream &out) const
types type(void) const
Definition: qpayloads.hpp:26
Definition: qpayloads.hpp:34
Tagged_Data_Payload(const tagF &tag_m, const dataF &data_m)
QJsonObject get_Json(void) const
void serialize(QDataStream &out) const
Tagged_Data_Payload(const QJsonValue &val)
Definition: qpayloads.hpp:51
QJsonObject get_Json(void) const
Transaction_Payload(const std::shared_ptr< const Essence > &essence_m, const pvector< const Unlock > &unlocks_m)
Transaction_Payload(const QJsonValue &val)
void serialize(QDataStream &out) const
Byte Array that takes care of storing the objects in serialized form.
Definition: carray.hpp:28
Definition: qbigint.hpp:7