25 #ifndef WMODULEFACTORY_H
26 #define WMODULEFACTORY_H
33 #include <boost/shared_ptr.hpp>
34 #include <boost/thread.hpp>
36 #include "../common/WSharedAssociativeContainer.h"
37 #include "WModuleCombinerTypes.h"
39 #include "WModuleLoader.h"
48 friend class WModuleFactoryTest;
87 boost::shared_ptr< WModule >
create( boost::shared_ptr< WModule > prototype );
149 template <
typename T>
150 static bool isA( boost::shared_ptr< WModule > module );
164 boost::shared_ptr< WModule > module = boost::shared_ptr< WModule >()
189 static bool isPrototype( boost::shared_ptr< WModule > module );
224 template <
typename T>
228 return ( dynamic_cast< T* >( module.get() ) );
231 #endif // WMODULEFACTORY_H