25 #ifndef WMODULEOUTPUTFORWARDDATA_H
26 #define WMODULEOUTPUTFORWARDDATA_H
30 #include <boost/shared_ptr.hpp>
32 #include "WModuleInputData.h"
33 #include "WModuleOutputData.h"
39 template<
typename T >
46 typedef boost::shared_ptr< WModuleOutputForwardData< T > >
SPtr;
51 typedef boost::shared_ptr< const WModuleOutputForwardData< T > >
ConstSPtr;
82 static PtrType create( boost::shared_ptr< WModule > module, std::string name =
"", std::string description =
"" );
94 static PtrType createAndAdd( boost::shared_ptr< WModule > module, std::string name =
"", std::string description =
"" );
126 virtual void forward( boost::shared_ptr< WModuleConnector > from )
128 m_in->connect( from );
136 virtual void unforward( boost::shared_ptr< WModuleConnector > from )
138 m_in->disconnect( from );
145 boost::shared_ptr< WModuleInputData< T > >
m_in;
160 template <
typename T >
162 std::string description )
166 return PTR(
new TYPE( module, name, description ) );
169 template <
typename T >
171 std::string description )
174 module->addConnector( c );
178 #endif // WMODULEOUTPUTFORWARDDATA_H