@@ -9,46 +9,40 @@ using namespace sdk;
99
1010class MainReactor : public Reactor {
1111public:
12-
13- struct DefaultParameters {
12+ struct Parameters {
1413 string alias = " Src-Sink-Example" ;
1514 int n_sinks = 2 ;
1615 };
17-
18- struct Parameters : public SystemParameterWithDefault <DefaultParameters , string, int > {
16+ private:
17+ struct PublishParameters : public SystemParameters <Parameters , string, int > {
1918 REACTOR_PARAMETER (string, alias, " Alternate name" , " another" , " another" , defaults.alias);
2019 REACTOR_PARAMETER (int , n_sinks, " Sink reactors bank width" , 1 , 10 , defaults.n_sinks);
2120
22- // Parameters(Reactor *container)
23- // : SystemParameter<string, int>(container) {
24- // register_parameters (alias, n_sinks);
25- // }
26-
27- Parameters (Reactor *container, DefaultParameters &¶m)
28- : SystemParameterWithDefault<DefaultParameters, string, int >(container, std::forward<DefaultParameters>(param)) {
21+ PublishParameters (Reactor *container, Parameters &¶m)
22+ : SystemParameters<Parameters, string, int >(container, std::forward<Parameters>(param)) {
2923 register_parameters (alias, n_sinks);
3024 }
3125 };
26+ PublishParameters parameters;
3227
33- private:
34- Parameters parameters;
28+ REACTION_SCOPE_START (MainReactor, PublishParameters)
29+ void add_reactions (MainReactor *reactor);
30+ REACTION_SCOPE_END (this , parameters)
3531
3632 std::unique_ptr<SourceReactor> src;
3733 ReactorBank<SinkReactor> snk{" Sink" , this };
3834
3935public:
4036 MainReactor (const std::string &name, Environment *env)
41- : Reactor(name, env), parameters{this , DefaultParameters {}} {}
37+ : Reactor(name, env), parameters{this , Parameters {}} {}
4238 MainReactor (const std::string &name, Reactor *container)
43- : Reactor(name, container), parameters{this , DefaultParameters {}} {}
39+ : Reactor(name, container), parameters{this , Parameters {}} {}
4440
45- MainReactor (const std::string &name, Environment *env, DefaultParameters && param)
46- : Reactor(name, env), parameters{this , std::forward<DefaultParameters >(param)} {}
47- MainReactor (const std::string &name, Reactor *container, DefaultParameters && param)
48- : Reactor(name, container), parameters{this , std::forward<DefaultParameters >(param)} {}
41+ MainReactor (const std::string &name, Environment *env, Parameters && param)
42+ : Reactor(name, env), parameters{this , std::forward<Parameters >(param)} {}
43+ MainReactor (const std::string &name, Reactor *container, Parameters && param)
44+ : Reactor(name, container), parameters{this , std::forward<Parameters >(param)} {}
4945
5046 void construction () override ;
51- void assembling () override ;
52- };
53-
54-
47+ void wiring () override ;
48+ };
0 commit comments