MidlePayQml 0.0.4
MiddlePay QML module
qinputs.hpp
1 #pragma once
2 
3 #include <QByteArray>
4 #include <QDataStream>
5 #include <QJsonValue>
6 #include<QJsonObject>
7 #include"block/carray.hpp"
8 namespace qiota{
9 namespace qblocks{
10 class Input
11 {
12 public:
13  enum types : quint8 { UTXO_typ=0};
14  Input(types typ);
15  template<class from_type> static std::shared_ptr<const Input> from_(from_type& val);
16 
17  static std::shared_ptr<const Input> UTXO(const Transaction_ID& transaction_id_m,const quint16& transaction_output_index_m);
18  virtual void serialize(QDataStream &out)const;
19  virtual QJsonObject get_Json(void) const;
20 
21  types type(void)const{return type_m;}
22 private:
23  const types type_m;
24 
25 };
26 
27 /*
28  * @brief Describes an input which references an unspent transaction output to consume.
29  *
30  */
31 class UTXO_Input : public Input
32 {
33 public:
34  UTXO_Input(const Transaction_ID& transaction_id_m,const quint16& transaction_output_index_m);
35  UTXO_Input(const QJsonValue& val);
37  void serialize(QDataStream &out)const;
38  QJsonObject get_Json(void) const;
39 
40 
41 private:
42  quint16 transaction_output_index_;
43  Transaction_ID transaction_id_;
44 
45 };
46 
47 };
48 
49 };
Definition: qinputs.hpp:11
static std::shared_ptr< const Input > UTXO(const Transaction_ID &transaction_id_m, const quint16 &transaction_output_index_m)
static std::shared_ptr< const Input > from_(from_type &val)
virtual void serialize(QDataStream &out) const
virtual QJsonObject get_Json(void) const
types
Definition: qinputs.hpp:13
@ UTXO_typ
Definition: qinputs.hpp:13
types type(void) const
Definition: qinputs.hpp:21
Definition: qinputs.hpp:32
UTXO_Input(const Transaction_ID &transaction_id_m, const quint16 &transaction_output_index_m)
void serialize(QDataStream &out) const
QJsonObject get_Json(void) const
UTXO_Input(const QJsonValue &val)
UTXO_Input(QDataStream &in)
Byte Array that takes care of storing the objects in serialized form.
Definition: carray.hpp:28
Definition: qbigint.hpp:7