Scorum
development_committee.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include <vector>
4 #include <set>
5 #include <functional>
6 
8 
10 
11 namespace scorum {
12 namespace chain {
13 
14 class dev_committee_member_object;
15 
17 {
18  using committee_member_object_cref_type = std::reference_wrapper<const dev_committee_member_object>;
19  using committee_members_cref_type = std::vector<committee_member_object_cref_type>;
20 
22 
23  virtual const dev_committee_member_object& get_member(const account_name_type&) const = 0;
24 
25  virtual const dev_committee_object& get() const = 0;
26 };
27 
29 {
30  void add_member(const account_name_type& account_name) override;
31  void exclude_member(const account_name_type& account_name) override;
32 
33  void change_add_member_quorum(const percent_type quorum) override;
34  void change_exclude_member_quorum(const percent_type quorum) override;
35  void change_base_quorum(const percent_type quorum) override;
36  void change_transfer_quorum(const percent_type quorum) override;
37  void change_advertising_moderator_quorum(const percent_type quorum) override;
38  void change_betting_moderator_quorum(const percent_type quorum) override;
39  void change_betting_resolve_delay_quorum(const percent_type quorum) override;
40  void change_budgets_auction_properties_quorum(const percent_type quorum) override;
41 
44  percent_type get_base_quorum() override;
50 
51  bool is_exists(const account_name_type& account_name) const override;
52 
53  size_t get_members_count() const override;
54 
56 
57  const dev_committee_member_object& get_member(const account_name_type& account) const override;
58 
59  const dev_committee_object& get() const override;
60 
61 private:
62  friend class dbservice_dbs_factory;
63 
64 protected:
65  explicit dbs_development_committee(database& db);
66 };
67 
68 } // namespace chain
69 } // namespace scorum
tracks the blockchain state in an extensible manner
Definition: database.hpp:52
fc::fixed_string_16 account_name_type
Definition: types.hpp:62
uint16_t percent_type
Definition: types.hpp:69
Definition: asset.cpp:15
committee_members_cref_type get_committee() const override
bool is_exists(const account_name_type &account_name) const override
void change_advertising_moderator_quorum(const percent_type quorum) override
void change_betting_moderator_quorum(const percent_type quorum) override
void change_base_quorum(const percent_type quorum) override
const dev_committee_member_object & get_member(const account_name_type &account) const override
void change_budgets_auction_properties_quorum(const percent_type quorum) override
void change_transfer_quorum(const percent_type quorum) override
percent_type get_budgets_auction_properties_quorum() override
void change_exclude_member_quorum(const percent_type quorum) override
void change_betting_resolve_delay_quorum(const percent_type quorum) override
void add_member(const account_name_type &account_name) override
percent_type get_advertising_moderator_quorum() override
const dev_committee_object & get() const override
void change_add_member_quorum(const percent_type quorum) override
void exclude_member(const account_name_type &account_name) override
virtual const dev_committee_object & get() const =0
virtual committee_members_cref_type get_committee() const =0
virtual const dev_committee_member_object & get_member(const account_name_type &) const =0
std::vector< committee_member_object_cref_type > committee_members_cref_type
std::reference_wrapper< const dev_committee_member_object > committee_member_object_cref_type