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

SymbolManager.h

Go to the documentation of this file.
00001 // Emacs -*- C++ -*-
00002 #ifndef ANAPHE_SYMBOL_MANAGER
00003 #define ANAPHE_SYMBOL_MANAGER 1
00004 
00005 #include <string>
00006 #include <set>
00007 #include <map>
00008 
00009 namespace Anaphe {
00010   namespace AIDA_Tuple_native {
00011     class IEvaluatorExpressionBaseFactory;
00012     class IFilterExpressionBaseFactory;
00013 
00014 class SymbolManager {
00015 public:
00017   SymbolManager();
00019   ~SymbolManager();
00021   bool setIncludePaths( const std::set<std::string>& includes );
00023    const std::set<std::string>& includePaths() const;
00025   IEvaluatorExpressionBaseFactory* makeAndLoadEvaluator( const std::string& fileName,
00026                                                          const std::string& symbolName );
00028   IFilterExpressionBaseFactory* makeAndLoadFilter( const std::string& fileName,
00029                                                    const std::string& symbolName );
00031   bool destroyAndUnload( IEvaluatorExpressionBaseFactory* factory );
00033   bool destroyAndUnload( IFilterExpressionBaseFactory* factory );
00034 
00035 private:
00037   std::set< std::string >                             m_includePaths;
00039   std::map< IEvaluatorExpressionBaseFactory*, void*>  m_evaluatorHandles;
00040   std::map< IFilterExpressionBaseFactory*, void*>     m_filterHandles;
00041 };
00042 
00043   }
00044 }
00045 
00046 #endif /* ifndef ANAPHE_SYMBOL_GENERATOR */

Generated on Tue Feb 18 17:51:19 2003 for AIDA_Tuple_native by doxygen1.2.16