CYCAMORE
Loading...
Searching...
No Matches
src/manager_inst.h
Go to the documentation of this file.
1#ifndef CYCAMORE_SRC_MANAGER_INST_H_
2#define CYCAMORE_SRC_MANAGER_INST_H_
3
4#include "cyclus.h"
5#include "cycamore_version.h"
6
7namespace cycamore {
8
13class ManagerInst
14 : public cyclus::Institution,
15 public cyclus::toolkit::CommodityProducerManager,
16 public cyclus::toolkit::Builder,
17 public cyclus::toolkit::Position {
18 public:
20 ManagerInst(cyclus::Context* ctx);
21
23 virtual ~ManagerInst();
24
25 virtual std::string version() { return CYCAMORE_VERSION; }
26
27 #pragma cyclus
28
29 #pragma cyclus note {"doc": "An institution that owns and operates a " \
30 "manually entered list of facilities in " \
31 "the input file"}
32
34 virtual void EnterNotify();
35
37 virtual void BuildNotify(Agent* m);
38
40 virtual void DecomNotify(Agent* m);
41
44 void WriteProducerInformation(cyclus::toolkit::CommodityProducer*
45 producer);
46
47 private:
48 // Code Injection:
49 #include "toolkit/position.cycpp.h"
50
52 void Register_(cyclus::Agent* agent);
53
55 void Unregister_(cyclus::Agent* agent);
56
57 #pragma cyclus var { \
58 "tooltip": "producer facility prototypes", \
59 "uilabel": "Producer Prototype List", \
60 "uitype": ["oneormore", "prototype"], \
61 "doc": "A set of facility prototypes that this institution can build. " \
62 "All prototypes in this list must be based on an archetype that " \
63 "implements the cyclus::toolkit::CommodityProducer interface", \
64 }
65 std::vector<std::string> prototypes;
66
67};
68
69} // namespace cycamore
70
71#endif // CYCAMORE_SRC_MANAGER_INST_H_
#define CYCAMORE_VERSION
void Register_(cyclus::Agent *agent)
register a child
void WriteProducerInformation(cyclus::toolkit::CommodityProducer *producer)
write information about a commodity producer to a stream
virtual void DecomNotify(Agent *m)
unregister a child
void Unregister_(cyclus::Agent *agent)
unregister a child
virtual void EnterNotify()
enter the simulation and register any children present
std::vector< std::string > prototypes
virtual ~ManagerInst()
Default destructor.
virtual std::string version()
ManagerInst(cyclus::Context *ctx)
Default constructor.
virtual void BuildNotify(Agent *m)
register a new child