Template of Module †
//===========================================================================================
//!\brief XX module
class MXxModule
: public MParentModule
//===========================================================================================
{
public:
typedef MParentModule TParent; // optional
typedef MXxModule TThis; // optional
HMRL_MODULE_NAMES(MXxModule) // mandatory
MXxModule (const std::string &v_instance_name)
: TParent (v_instance_name), // mandatory
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:
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
//-------------------------------------------------------------------------------------------