Ignore:
Timestamp:
06/15/22 15:20:29 (2 years ago)
Author:
jderouillat
Message:

Introduced a new service (named defaultServicesId which contains all gatherers and all IO servers) to manage oasis_enddef through the different levels of servers. OASIS integration is moved in a dedicated virtual class CThirdPartyDriver whose an instance is owned by CServer.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/server.hpp

    r2333 r2335  
    77#include "mpi.hpp" 
    88#include "event_scheduler.hpp" 
     9#include "oasis_cinterface.hpp" 
    910 
    1011namespace xios 
     
    1213    class CServersRessource ; 
    1314 
     15    class CThirdPartyDriver 
     16    { 
     17      public: 
     18        CThirdPartyDriver() 
     19        { 
     20          oasis_init(CXios::xiosCodeId); 
     21        }; 
     22        virtual ~CThirdPartyDriver() 
     23        { 
     24          oasis_finalize(); 
     25        }; 
     26        virtual void endSynchronizedDefinition() 
     27        { 
     28          oasis_enddef(); 
     29        }; 
     30        virtual void getComponentCommunicator(MPI_Comm &intraComm) 
     31        { 
     32          oasis_get_localcomm(intraComm); 
     33        }; 
     34    }; 
     35   
    1436    class CServer 
    1537    { 
     
    80102        static StdOFStream m_errorStream; 
    81103        static CServersRessource* serversRessource_  ; 
     104 
     105        static CThirdPartyDriver* driver_; 
    82106    }; 
    83107} 
Note: See TracChangeset for help on using the changeset viewer.