32 #include <boost/enable_shared_from_this.hpp>
34 #ifndef BOOST_FILESYSTEM_VERSION
35 #define BOOST_FILESYSTEM_VERSION 2
37 #include <boost/filesystem.hpp>
38 #include <boost/function.hpp>
39 #include <boost/shared_ptr.hpp>
40 #include <boost/signals2/signal.hpp>
41 #include <boost/thread.hpp>
43 #include "../common/WConditionSet.h"
44 #include "../common/WLogger.h"
45 #include "../common/WProgress.h"
46 #include "../common/WProgressCombiner.h"
47 #include "../common/WProperties.h"
48 #include "../common/WPrototyped.h"
49 #include "../common/WRequirement.h"
50 #include "../common/WThreadedRunner.h"
51 #include "../dataHandler/WDataSet.h"
52 #include "../dataHandler/WDataSetSingle.h"
53 #include "../dataHandler/WValueSet.h"
54 #include "WExportKernel.h"
55 #include "WModuleCombinerTypes.h"
56 #include "WModuleConnectorSignals.h"
57 #include "WModuleSignals.h"
58 #include "WModuleTypes.h"
75 public boost::enable_shared_from_this< WModule >
110 typedef boost::shared_ptr< WModule >
SPtr;
132 boost::shared_ptr< WModuleInputConnector >
getInputConnector( std::string name );
179 boost::shared_ptr< WModuleConnector >
getConnector( std::string name );
189 boost::shared_ptr< WModuleConnector >
findConnector( std::string name );
268 virtual boost::shared_ptr< WModule >
factory()
const = 0;
280 virtual boost::signals2::connection
subscribeSignal( MODULE_SIGNAL signal, t_ModuleGenericSignalHandlerType notifier );
292 virtual boost::signals2::connection
subscribeSignal( MODULE_SIGNAL signal, t_ModuleErrorSignalHandlerType notifier );
313 virtual MODULE_TYPE
getType()
const;
427 void addConnector( boost::shared_ptr<WModuleInputConnector> con );
434 void addConnector( boost::shared_ptr<WModuleOutputConnector> con );
462 virtual const t_GenericSignalHandlerType
getSignalHandler( MODULE_CONNECTOR_SIGNAL signal );
471 boost::shared_ptr<WModuleConnector> there );
478 virtual void notifyConnectionClosed( boost::shared_ptr<WModuleConnector> here, boost::shared_ptr<WModuleConnector> there );
487 boost::shared_ptr<WModuleConnector> output );
664 typedef std::vector< boost::shared_ptr< WModule > > WModuleList;
669 typedef void ( *W_LOADABLE_MODULE_SIGNATURE )( WModuleList& );
679 #define W_LOADABLE_MODULE( MODULECLASS ) \
680 extern "C" __declspec(dllexport) void WLoadModule( WModuleList& m ) { m.push_back( boost::shared_ptr< WModule >( new MODULECLASS ) ); } // NOLINT
682 #define W_LOADABLE_MODULE( MODULECLASS ) \
683 extern "C" void WLoadModule( WModuleList& m ) { m.push_back( boost::shared_ptr< WModule >( new MODULECLASS ) ); } // NOLINT
689 #define W_LOADABLE_MODULE_SYMBOL "WLoadModule"