* Template of Module [#a8bfd1e8] ** Configuration Class [#g992213e] #codeh(cpp){{ //=========================================================================================== class TXxConfigurations //=========================================================================================== { public: TReal TestC; TXxConfigurations (var_space::TVariableMap &mmap) : TestC (0.0l) { Register(mmap); } void Register (var_space::TVariableMap &mmap) { #define ADD(x_member) AddToVarMap(mmap, #x_member, x_member) ADD( TestC ); #undef ADD } }; //------------------------------------------------------------------------------------------- }} ** Memory Class [#pea337e4] #codeh(cpp){{ //=========================================================================================== class TXxMemory //=========================================================================================== { public: TReal TestM; TXxMemory (var_space::TVariableMap &mmap) : TestM (0.0l) { Register(mmap); } void Register (var_space::TVariableMap &mmap) { #define ADD(x_member) AddToVarMap(mmap, #x_member, x_member) ADD( TestM ); #undef ADD } }; //------------------------------------------------------------------------------------------- }} ** Module Class [#vbc9c468] #codeh(cpp){{ //=========================================================================================== //!\brief XX module class MXxModule : public MParentModule //=========================================================================================== { public: typedef MParentModule TParent; // optional typedef MXxModule TThis; // optional SKYAI_MODULE_NAMES(MXxModule) // mandatory MXxModule (const std::string &v_instance_name) : TParent (v_instance_name), // mandatory conf_ (TParent::param_box_config_map()), mem_ (TParent::param_box_memory_map()), slot_slot1 (*this), // optional signal_signal1 (*this), // optional out_out1 (*this), // optional in_in1 (*this) // optional { add_slot_port (slot_slot1); // optional add_signal_port (signal_signal1); // optional add_out_port (out_out1); // optional add_in_port (in_in1); // optional } protected: TXxConfigurations conf_; // optional TXxMemory mem_; // optional MAKE_SLOT_PORT(slot_slot1, TOutType, (const TInType &x), (x), TThis); // optional MAKE_SIGNAL_PORT(signal_signal1, const TOutType& (const TInType &), TThis); // optional MAKE_OUT_PORT(out_out1, const TOutType&, (const TInType &x), (x), TThis); // optional MAKE_IN_PORT(in_in1, const TOutType& (const TInType &), TThis); // optional virtual TOutType slot_slot1_exec (const TInType &x) // optional { ... } virtual const TOutType& out_out1_get (const TInType &x) const // optional { ... } }; // end of MXxModule //------------------------------------------------------------------------------------------- }} ** Adding Module [#x94c6787] #codeh(cpp){{ SKYAI_ADD_MODULE(MXxModule) }}