source: XIOS/dev/dev_ym/XIOS_COUPLING/src/manager/registry_manager.hpp @ 2338

Last change on this file since 2338 was 2209, checked in by ymipsl, 3 years ago

Revisiting registry management and make it working.
YM

  • Property svn:executable set to *
File size: 890 bytes
Line 
1#ifndef __REGISTRY_MANAGER_HPP__
2#define __REGISTRY_MANAGER_HPP__
3
4#include "xios_spl.hpp"
5#include "registry.hpp"
6#include "mpi.hpp"
7
8namespace xios
9{
10  class CRegistryManager
11  {
12   
13    public:
14     
15    CRegistryManager(bool isXiosServer) ;
16    ~CRegistryManager() { finalize() ;}
17    const CRegistry& getRegistryIn(void)  {return *registryIn_ ;}
18    const CRegistry& getRegistryOut(void) {return *registryOut_ ;}
19
20    void merge(const CRegistry& inRegistry) { registryOut_->mergeRegistry(inRegistry) ;}
21   
22    private:
23      void finalize(void) ;
24
25      const std::string registryInFileName {"registry.bin"} ;
26      const std::string registryOutFileName {"registry.bin"} ;
27      MPI_Comm xiosComm_ ;
28      int managerGlobalLeader_ ;
29      bool isManagerGlobalLeader_ ;
30      CRegistry* registryIn_ ;
31      CRegistry* registryOut_ ;
32  } ;
33}
34
35#endif
Note: See TracBrowser for help on using the repository browser.