Scorum
withdraw_scorumpower_evaluator.hpp
Go to the documentation of this file.
1 #pragma once
2 
4 
6 
8 
9 #include <memory>
10 
11 namespace scorum {
12 namespace chain {
13 
14 struct account_service_i;
15 struct dynamic_global_property_service_i;
16 struct withdraw_scorumpower_service_i;
17 
18 struct data_service_factory_i;
19 
20 class account_object;
21 
22 class withdraw_scorumpower_impl;
23 
24 // This evaluator initiates withdraw scorumpower for account by operation withdraw_scorumpower_operation.
25 //
26 class withdraw_scorumpower_evaluator : public evaluator_impl<data_service_factory_i, withdraw_scorumpower_evaluator>
27 {
28 public:
30 
31  withdraw_scorumpower_evaluator(data_service_factory_i& services);
33 
34  void do_apply(const operation_type& op);
35 
36 private:
37  std::unique_ptr<withdraw_scorumpower_impl> _impl;
38 
39  account_service_i& _account_service;
40  dynamic_global_property_service_i& _dprops_service;
41 };
42 
44 
46 {
47 public:
48  explicit withdraw_scorumpower_context(data_service_factory_i& services, const asset& scorumpower);
49 
50  data_service_factory_i& services() const
51  {
52  return _services;
53  }
54 
55  const asset& scorumpower() const
56  {
57  return _scorumpower;
58  }
59 
60 private:
61  data_service_factory_i& _services;
62  asset _scorumpower;
63 };
64 
65 // This task initiates withdraw scorumpower for development pool withount any operation
66 // (for development commitee purpose).
67 class withdraw_scorumpower_dev_pool_task : public task<withdraw_scorumpower_context>
68 {
69 public:
71 };
72 
73 } // namespace chain
74 } // namespace scorum
withdraw_scorumpower_context(data_service_factory_i &services, const asset &scorumpower)
withdraw_scorumpower_evaluator(data_service_factory_i &services)
Definition: asset.cpp:15