source: XIOS/dev/common/src/server.hpp @ 1512

Last change on this file since 1512 was 286, checked in by ymipsl, 13 years ago

reprise en main de la version de H. Ozdoba. Correction de différentes erreurs de conception et bug.
Version NEMO operationnel en client/server, interoperabilita avec OASIS, reconstition de fichiers via netcdf4/HDF5

YM

File size: 1.6 KB
Line 
1#ifndef __XMLIO_Server__
2#define __XMLIO_Server__
3
4/// xmlioserver headers ///
5#include "xmlioserver_spl.hpp"
6#include "mpi_manager.hpp"
7#include "buffer_list.hpp"
8#include "array.hpp"
9
10namespace xmlioserver {
11namespace comm {
12
13   /// ////////////////////// Déclarations ////////////////////// ///
14   
15   class CServer
16   {
17      public :
18
19         static boost::shared_ptr<CServer> CreateServer(MPI_Comm comm_client_server);
20         static boost::shared_ptr<CServer> GetServer(void);
21
22         /// Destructeur ///
23         ~CServer(void);
24         
25         void run(void);
26         
27      protected : 
28     
29         /// Accesseur ///
30         const CBufferList & getBufferList(void) const;
31         
32      public :
33     
34         /// Appels distants///   
35         void initialize(void); // manager 0, method 0
36         void finalize(void);   // manager 0, method 1
37             
38         void setContext    (const std::vector<CLinearBuffer> & buffer); // manager 1, method 0
39         void updateCalendar(const std::vector<CLinearBuffer> & buffer); // manager 1, method 1
40         void setTimestep   (const std::vector<CLinearBuffer> & buffer); // manager 1, method 2
41         
42         void writeData(const std::vector<CLinearBuffer> & buffer, int prec); // manager 2, method 0 - 1
43     
44      private :
45
46         /// Constructeurs ///
47         CServer(MPI_Comm comm_client_server);
48     
49         /// Propriété privée ///
50         CBufferList blist;
51
52         static boost::shared_ptr<CServer> Server;
53     
54   }; // class CServer 
55
56} // namespace comm
57} // namespace xmlioserver
58
59#endif //__XMLIO_Server__
Note: See TracBrowser for help on using the repository browser.