source: XMLIO_V2/dev/dev_rv/src/xmlio/server.hpp @ 214

Last change on this file since 214 was 214, checked in by hozdoba, 13 years ago
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(MPIComm 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(MPIComm 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.