00001 #ifdef _CCAMPI
00002 #ifndef DefaultMPIBorrow_h_seen
00003 #define DefaultMPIBorrow_h_seen
00004 #include "util/noSeekMPI.h"
00005 #include <mpi.h>
00006 #include "dc/export/config.hh"
00007 class DefaultMPIBorrow
00008 #if (defined(HAVE_NEO) || defined(HAVE_CLASSIC))
00009 :
00010 #endif
00011 #ifdef HAVE_CLASSIC
00012 public virtual classic::gov::cca::MPIBorrow
00013 #endif
00014 #ifdef HAVE_NEO
00016 #ifdef HAVE_CLASSIC
00017 ,
00018 #endif
00019 public virtual neo::cca::Port
00020 , public virtual neo::cca::ports::MPIBorrow
00021 #endif
00022
00023 {
00024
00025 private:
00026
00028 int maxTag;
00029
00031 int maxKey;
00032
00033
00034 int64_t fortranMPIComm;
00035 public:
00036
00040 DefaultMPIBorrow(int64_t fComm);
00041
00042 virtual ~DefaultMPIBorrow();
00043
00048 virtual MPI_Comm borrowComm(int, int*, int&);
00049
00051 virtual void returnComm(MPI_Comm, int, int*, int);
00052
00053 };
00054 #endif //DefaultMPIBorrow_h_seen
00055 #endif // _CCAMPI