25 #ifndef WMODULEFACTORY_H
26 #define WMODULEFACTORY_H
34 #include <boost/shared_ptr.hpp>
35 #include <boost/weak_ptr.hpp>
37 #include "../common/WSharedAssociativeContainer.h"
38 #include "WModuleCombinerTypes.h"
40 #include "WModuleLoader.h"
47 friend class WModuleFactoryTest;
52 typedef boost::shared_ptr< WModuleFactory >
SPtr;
57 typedef boost::shared_ptr< const WModuleFactory >
ConstSPtr;
98 boost::shared_ptr< WModule >
create( boost::shared_ptr< WModule > prototype, std::string uuid =
"" );
167 template <
typename T>
168 static bool isA( boost::shared_ptr< WModule > module );
182 boost::shared_ptr< WModule > module = boost::shared_ptr< WModule >()
207 static bool isPrototype( boost::shared_ptr< WModule > module );
261 template <
typename T>
265 return ( dynamic_cast< T* >( module.get() ) );
268 #endif // WMODULEFACTORY_H