LAMA
/home/brandes/workspace/LAMA/src/lama/CommunicatorManager.hpp
Go to the documentation of this file.
00001 
00034 #ifndef LAMA_COMMUNICATOR_MANAGER_HPP_
00035 #define LAMA_COMMUNICATOR_MANAGER_HPP_
00036 
00037 // for dll_import
00038 #include <lama/config.hpp>
00039 
00040 // base classes
00041 #include <lama/NonCopyable.hpp>
00042 
00043 // others
00044 #include <lama/Communicator.hpp>
00045 
00046 // logging
00047 #include <logging/logging.hpp>
00048 
00049 namespace lama
00050 {
00051 
00060 class CommunicatorManager : private NonCopyable
00061 {
00062 public:
00063 
00064     virtual ~CommunicatorManager();
00065 
00072     virtual CommunicatorPtr getCommunicator( int& argc, char** & argv ) = 0;
00073 
00074 protected:
00075 
00078     CommunicatorManager( const char* type );
00079 
00080     std::string mCommunicatorType;  
00081 
00082     LAMA_LOG_DECL_STATIC_LOGGER(logger);
00083 };
00084 
00085 }  // namespace lama
00086 
00087 #endif // LAMA_COMMUNICATOR_MANAGER_HPP_