LAMA
|
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_