00001 #include "AIDA_TreeFactoryProvider.h" 00002 #include "AIDA_TreeFactory.h" 00003 #include "AIDA_Dev/IDevAnalysisFactory.h" 00004 00005 static Anaphe::AIDA_Tree_native::AIDA_TreeFactoryProvider provider; 00006 00007 namespace Anaphe { 00008 namespace AIDA_Tree_native { 00009 class Initializer { 00010 public: 00011 Initializer() { 00012 AIDA::Dev::IDevAnalysisFactory* af = dynamic_cast<AIDA::Dev::IDevAnalysisFactory*>( AIDA_createAnalysisFactory() ); 00013 if ( af ) { 00014 af->registerTreeFactoryProvider( static_cast< AIDA::Dev::ITreeFactoryProvider* >( &provider ) ); 00015 delete af; 00016 } 00017 } 00018 ~Initializer() {} 00019 }; 00020 } 00021 } 00022 00023 static Anaphe::AIDA_Tree_native::Initializer myInitializer; 00024 00025 Anaphe::AIDA_Tree_native::AIDA_TreeFactoryProvider::AIDA_TreeFactoryProvider() 00026 {} 00027 00028 00029 Anaphe::AIDA_Tree_native::AIDA_TreeFactoryProvider::~AIDA_TreeFactoryProvider() 00030 {} 00031 00032 00033 AIDA::ITreeFactory* 00034 Anaphe::AIDA_Tree_native::AIDA_TreeFactoryProvider::createFactory() 00035 { 00036 return new Anaphe::AIDA_Tree_native::AIDA_TreeFactory; 00037 }