25 #ifndef WMODULEOUTPUTFORWARDDATA_H
26 #define WMODULEOUTPUTFORWARDDATA_H
31 #include <boost/shared_ptr.hpp>
33 #include "../common/WLogger.h"
35 #include "WModuleInputData.h"
36 #include "WModuleOutputData.h"
42 template<
typename T >
49 typedef boost::shared_ptr< WModuleOutputForwardData< T > >
SPtr;
54 typedef boost::shared_ptr< const WModuleOutputForwardData< T > >
ConstSPtr;
85 static PtrType create( boost::shared_ptr< WModule > module, std::string name =
"", std::string description =
"" );
97 static PtrType createAndAdd( boost::shared_ptr< WModule > module, std::string name =
"", std::string description =
"" );
129 virtual void forward( boost::shared_ptr< WModuleConnector > from )
131 m_in->connect( from );
139 virtual void unforward( boost::shared_ptr< WModuleConnector > from )
141 m_in->disconnect( from );
148 boost::shared_ptr< WModuleInputData< T > >
m_in;
163 template <
typename T >
165 std::string description )
169 return PTR(
new TYPE( module, name, description ) );
172 template <
typename T >
174 std::string description )
177 module->addConnector( c );
181 #endif // WMODULEOUTPUTFORWARDDATA_H