PRCYCoin  2.0.0.7rc1
P2P Digital Currency
masternodeconfig.h
Go to the documentation of this file.
1 // Copyright (c) 2014-2015 The Dash developers
2 // Copyright (c) 2015-2018 The PIVX developers
3 // Copyright (c) 2018-2020 The DAPS Project developers
4 // Distributed under the MIT/X11 software license, see the accompanying
5 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
6 
7 #ifndef SRC_MASTERNODECONFIG_H_
8 #define SRC_MASTERNODECONFIG_H_
9 
10 #include "fs.h"
11 
12 #include <string>
13 #include <vector>
14 
15 
16 class CMasternodeConfig;
18 
20 {
21 public:
23  {
24  private:
25  std::string alias;
26  std::string ip;
27  std::string privKey;
28  std::string txHash;
29  std::string outputIndex;
30 
31  public:
32  CMasternodeEntry(std::string alias, std::string ip, std::string privKey, std::string txHash, std::string outputIndex)
33  {
34  this->alias = alias;
35  this->ip = ip;
36  this->privKey = privKey;
37  this->txHash = txHash;
38  this->outputIndex = outputIndex;
39  }
40 
41  const std::string& getAlias() const
42  {
43  return alias;
44  }
45 
46  void setAlias(const std::string& alias)
47  {
48  this->alias = alias;
49  }
50 
51  const std::string& getOutputIndex() const
52  {
53  return outputIndex;
54  }
55 
56  bool castOutputIndex(int& n) const;
57 
58  void setOutputIndex(const std::string& outputIndex)
59  {
60  this->outputIndex = outputIndex;
61  }
62 
63  const std::string& getPrivKey() const
64  {
65  return privKey;
66  }
67 
68  void setPrivKey(const std::string& privKey)
69  {
70  this->privKey = privKey;
71  }
72 
73  const std::string& getTxHash() const
74  {
75  return txHash;
76  }
77 
78  void setTxHash(const std::string& txHash)
79  {
80  this->txHash = txHash;
81  }
82 
83  const std::string& getIp() const
84  {
85  return ip;
86  }
87 
88  void setIp(const std::string& ip)
89  {
90  this->ip = ip;
91  }
92  };
93 
95  {
96  entries = std::vector<CMasternodeEntry>();
97  }
98 
99  void clear();
100  bool read(std::string& strErr);
101  void add(std::string alias, std::string ip, std::string privKey, std::string txHash, std::string outputIndex);
102 
103  std::vector<CMasternodeEntry>& getEntries()
104  {
105  return entries;
106  }
107 
108  int getCount()
109  {
110  int c = -1;
111  for (CMasternodeEntry e : entries) {
112  if (e.getAlias() != "") c++;
113  }
114  return c;
115  }
116 
117 private:
118  std::vector<CMasternodeEntry> entries;
119 };
120 
121 
122 #endif /* SRC_MASTERNODECONFIG_H_ */
CMasternodeConfig::CMasternodeEntry::getAlias
const std::string & getAlias() const
Definition: masternodeconfig.h:41
CMasternodeConfig::CMasternodeEntry::txHash
std::string txHash
Definition: masternodeconfig.h:28
fs.h
CMasternodeConfig::CMasternodeEntry::setAlias
void setAlias(const std::string &alias)
Definition: masternodeconfig.h:46
CMasternodeConfig::CMasternodeEntry::setPrivKey
void setPrivKey(const std::string &privKey)
Definition: masternodeconfig.h:68
CMasternodeConfig::clear
void clear()
CMasternodeConfig::CMasternodeEntry::privKey
std::string privKey
Definition: masternodeconfig.h:27
CMasternodeConfig::CMasternodeEntry::getTxHash
const std::string & getTxHash() const
Definition: masternodeconfig.h:73
CMasternodeConfig::CMasternodeEntry::getPrivKey
const std::string & getPrivKey() const
Definition: masternodeconfig.h:63
CMasternodeConfig::read
bool read(std::string &strErr)
Definition: masternodeconfig.cpp:21
CMasternodeConfig::add
void add(std::string alias, std::string ip, std::string privKey, std::string txHash, std::string outputIndex)
Definition: masternodeconfig.cpp:15
CMasternodeConfig::getCount
int getCount()
Definition: masternodeconfig.h:108
CMasternodeConfig::CMasternodeEntry::castOutputIndex
bool castOutputIndex(int &n) const
Definition: masternodeconfig.cpp:89
CMasternodeConfig::CMasternodeEntry::setIp
void setIp(const std::string &ip)
Definition: masternodeconfig.h:88
CMasternodeConfig::CMasternodeEntry::getIp
const std::string & getIp() const
Definition: masternodeconfig.h:83
CMasternodeConfig::CMasternodeEntry::ip
std::string ip
Definition: masternodeconfig.h:26
CMasternodeConfig::CMasternodeEntry::CMasternodeEntry
CMasternodeEntry(std::string alias, std::string ip, std::string privKey, std::string txHash, std::string outputIndex)
Definition: masternodeconfig.h:32
CMasternodeConfig::CMasternodeEntry::setTxHash
void setTxHash(const std::string &txHash)
Definition: masternodeconfig.h:78
CMasternodeConfig::CMasternodeEntry
Definition: masternodeconfig.h:22
masternodeConfig
CMasternodeConfig masternodeConfig
Definition: masternodeconfig.cpp:13
CMasternodeConfig::CMasternodeEntry::outputIndex
std::string outputIndex
Definition: masternodeconfig.h:29
CMasternodeConfig::CMasternodeEntry::setOutputIndex
void setOutputIndex(const std::string &outputIndex)
Definition: masternodeconfig.h:58
CMasternodeConfig::CMasternodeEntry::getOutputIndex
const std::string & getOutputIndex() const
Definition: masternodeconfig.h:51
CMasternodeConfig::entries
std::vector< CMasternodeEntry > entries
Definition: masternodeconfig.h:118
CMasternodeConfig::CMasternodeConfig
CMasternodeConfig()
Definition: masternodeconfig.h:94
CMasternodeConfig
Definition: masternodeconfig.h:19
CMasternodeConfig::getEntries
std::vector< CMasternodeEntry > & getEntries()
Definition: masternodeconfig.h:103
CMasternodeConfig::CMasternodeEntry::alias
std::string alias
Definition: masternodeconfig.h:25