LAMA
/home/brandes/workspace/LAMA/src/lama/ContextManager.hpp
Go to the documentation of this file.
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_