LAMA
|
00001 00033 #ifndef LAMA_CONTEXT_MANAGER_HPP_ 00034 #define LAMA_CONTEXT_MANAGER_HPP_ 00035 00036 // for dll_import 00037 #include <lama/config.hpp> 00038 00039 // base classes 00040 #include <lama/NonCopyable.hpp> 00041 00042 // others 00043 #include <lama/Context.hpp> 00044 00045 // logging 00046 #include <logging/logging.hpp> 00047 00048 // boost 00049 #include <boost/shared_ptr.hpp> 00050 00051 namespace lama 00052 { 00053 00066 class LAMA_DLL_IMPORTEXPORT ContextManager : private NonCopyable 00067 { 00068 public: 00069 00072 virtual ~ContextManager(); 00073 00077 virtual ContextPtr getContext ( int deviceNr ) = 0; 00078 00079 protected: 00080 00087 ContextManager( ContextType type ); 00088 00089 LAMA_LOG_DECL_STATIC_LOGGER(logger); 00090 00094 void registerFactory(); 00095 00096 private: 00097 00098 ContextType mContextType; 00099 }; 00100 00101 } 00102 00103 #endif // LAMA_CONTEXT_MANAGER_HPP_