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
00027 #include <rebecca/exports.h>
00028 #include <rebecca/Exceptions.h>
00029
00030
00031 #include <cstddef>
00032
00033
00034
00035
00036 #ifdef _WIN32
00037 # pragma warning ( push )
00038 # pragma warning( disable : 4290 )
00039 #endif
00040
00053 namespace rebecca
00054 {
00055
00074 namespace impl
00075 {
00076
00077
00078 class GraphBuilder;
00079 class Factory;
00080
00107 class REBECCA_EXPORT AimlFacade
00108 {
00109 public:
00110
00124 AimlFacade()
00125 throw(Exception &);
00126
00145 GraphBuilder &getGraphBuilder()
00146 throw(Exception &);
00147
00154 virtual ~AimlFacade();
00155
00178 void operator delete(void* p);
00179
00180
00205 void *operator new(size_t size);
00206
00207 private:
00208
00218 AimlFacade &operator=(const AimlFacade &aimlFacade);
00219
00229 AimlFacade(const AimlFacade& aimlFacade);
00230
00240 GraphBuilder *m_graphBuilder;
00241
00246 Factory *m_factory;
00247 };
00248
00249
00250
00251 }
00252
00253
00254 using rebecca::impl::AimlFacade;
00255
00256 }
00257
00258 #ifdef _WIN32
00259 # pragma warning ( pop )
00260 #endif
00261
00262
00263 #endif