Main Page   Namespace List   Alphabetical List   Compound List   File List   Compound Members   File Members  

AIDA_DataPointSetFactoryProvider.cpp

Go to the documentation of this file.
00001 #include "AIDA_DataPointSetFactoryProvider.h"
00002 #include "AIDA_DevDataPointSetFactory.h"
00003 #include "AIDA_DataPointSetFactory.h"
00004 #include "AIDA_Dev/IDevAnalysisFactory.h"
00005 
00006 static Anaphe::AIDA_DataPointSet_native::AIDA_DataPointSetFactoryProvider factory;
00007 
00008 namespace Anaphe {
00009   namespace AIDA_DataPointSet_native {
00010     class Initializer {
00011     public:
00012       Initializer() {
00013         AIDA::Dev::IDevAnalysisFactory* af = dynamic_cast<AIDA::Dev::IDevAnalysisFactory*>( AIDA_createAnalysisFactory() );
00014         if ( af ) {
00015           af->registerDataPointSetFactoryProvider( static_cast<AIDA::Dev::IDataPointSetFactoryProvider*>( &factory ) );
00016           delete af;
00017         }
00018       }
00019       ~Initializer() {}
00020     };
00021   }
00022 }
00023 
00024 static Anaphe::AIDA_DataPointSet_native::Initializer myInitializer;
00025 
00026 
00027 Anaphe::AIDA_DataPointSet_native::AIDA_DataPointSetFactoryProvider::AIDA_DataPointSetFactoryProvider():
00028   m_factory( 0 )
00029 {
00030   m_factory = new Anaphe::AIDA_DataPointSet_native::AIDA_DevDataPointSetFactory;
00031 }
00032 
00033 
00034 Anaphe::AIDA_DataPointSet_native::AIDA_DataPointSetFactoryProvider::~AIDA_DataPointSetFactoryProvider()
00035 {
00036   if ( m_factory ) delete m_factory;
00037 }
00038 
00039 
00040 AIDA::IDataPointSetFactory*
00041 Anaphe::AIDA_DataPointSet_native::AIDA_DataPointSetFactoryProvider::createFactory( AIDA::Dev::IDevTree & tree )
00042 {
00043   return new Anaphe::AIDA_DataPointSet_native::AIDA_DataPointSetFactory( tree, *m_factory );
00044 }
00045 
00046 
00047 AIDA::Dev::IDevDataPointSetFactory&
00048 Anaphe::AIDA_DataPointSet_native::AIDA_DataPointSetFactoryProvider::devDataPointSetFactory()
00049 {
00050   return *m_factory;
00051 }

Generated on Tue Feb 18 17:50:27 2003 for AIDA_DataPointSet_native by doxygen1.2.16