00001 #ifndef REBECCA_AIMLFACADE_H
00002 #define REBECCA_AIMLFACADE_H
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 #include <rebecca/exports.h>
00027 #include <rebecca/Exceptions.h>
00028 
00029 
00030 
00031 
00032 #ifdef _WIN32
00033 #    pragma warning ( push )
00034 #    pragma warning( disable : 4290 )
00035 #endif
00036 
00049 namespace rebecca
00050 {
00051 
00070 namespace impl
00071 {
00072 
00073 
00074 class GraphBuilder;
00075 
00102 class REBECCA_EXPORT AimlFacade
00103 {
00104     public:
00105 
00119         AimlFacade() throw(Exception &);
00120 
00137         GraphBuilder &getGraphBuilder() throw();
00138     
00145         virtual ~AimlFacade();
00146         
00169         void operator delete(void* p);
00170 
00171 
00196         void *operator new(unsigned int size);
00197 
00198 
00199     private:
00200 
00210         AimlFacade &operator=(const AimlFacade &aimlFacade);
00211 
00221         AimlFacade(const AimlFacade& aimlFacade);
00222 
00232         GraphBuilder *m_graphBuilder;
00233 };
00234 
00235 
00236 
00237 } 
00238 
00239 
00240 using rebecca::impl::AimlFacade;
00241 
00242 } 
00243 
00244 #ifdef _WIN32
00245 #    pragma warning ( pop )
00246 #endif
00247 
00248 
00249 #endif