source: XMLIO_V2/dev/dev_rv/src/xmlio/main_server.cpp @ 168

Last change on this file since 168 was 168, checked in by hozdoba, 13 years ago
File size: 3.2 KB
Line 
1// XmlIOServer
2#include "xmlioserver.hpp"
3
4#include "attribute_template_impl.hpp"
5#include "group_template_impl.hpp"
6
7#include "fake.hpp"
8
9// Point d'entrée du programme principal
10int main(int argc, char ** argv, char ** UNUSED(env))
11{
12   try
13   {
14      comm::CMPIManager::Initialise(&argc, &argv); // < seulement en mode connecté
15     
16      // Création d'un contexte
17      boost::shared_ptr<CContext> contxt = CTreeManager::CreateContext("mon_context");
18     
19     
20      boost::shared_ptr<CGridGroup>   grid_def   = 
21         CObjectFactory::GetObject<CGridGroup>(StdString("grid_definition"));
22      boost::shared_ptr<CAxisGroup>   axis_def   = 
23         CObjectFactory::GetObject<CAxisGroup>(StdString("axis_definition"));
24      boost::shared_ptr<CDomainGroup> domain_def = 
25         CObjectFactory::GetObject<CDomainGroup>(StdString("domain_definition"));
26     
27      // Ajout d'une grille, d'un axe et d'un domaine.
28      boost::shared_ptr<CGrid>   grid   = 
29         CGroupFactory::CreateChild(grid_def  , StdString("ma_grille"));
30      boost::shared_ptr<CAxis>   axis   = 
31         CGroupFactory::CreateChild(axis_def  , StdString("mon_axe"));
32      boost::shared_ptr<CDomain> domain = 
33         CGroupFactory::CreateChild(domain_def, StdString("mon_domaine"));
34     
35      // Définition des attributs de la grille.
36      grid->domain_ref.setValue(StdString("mon_domaine"));
37      grid->axis_ref.setValue(StdString("mon_axe"));
38     
39      // Définition des attributs de l'axe.
40      ARRAY_CREATE(zvalue, double, 1, [100]);
41           
42      axis->size.setValue(zvalue->num_elements());
43      axis->zvalue.setValue(zvalue);
44     
45      // Définition des attributs du domaine l'axe.
46      ARRAY_CREATE(latvalue, double, 1, [200]);
47      ARRAY_CREATE(lonvalue, double, 1, [200]);
48     
49      domain->ni_glo.setValue(40);
50      domain->nj_glo.setValue(40);
51     
52      domain->ibegin.setValue(1);
53      domain->ni.setValue(20);     
54      domain->jbegin.setValue(1);
55      domain->nj.setValue(10);
56     
57      domain->data_dim.setValue(2);
58     
59      domain->lonvalue.setValue(lonvalue);
60      domain->latvalue.setValue(latvalue);
61     
62      // Résolution
63      grid->solveReference();
64     
65      // Sortie de l'arborescence xml sous forme de fichier.
66      CTreeManager::PrintTreeToFile("data/def/test.xml");
67     
68     
69     
70     
71     
72     
73     
74     
75     
76     
77     
78     
79     
80     
81     
82     
83     
84     
85      /*CXIOSManager::Initialise(CXIOSManager::CLIENT, &argc, &argv);
86      CXIOSManager::AddClient("nemo",
87                              CMPIManager::GetCommSize(CMPIManager::GetCommWorld()),
88                              CMPIManager::GetCommSize(CMPIManager::GetCommWorld()),
89                              &nemo_fake_entry);
90      CXIOSManager::RunClient();
91      CXIOSManager::Finalize();*/
92
93      comm::CMPIManager::Finalize(); // < seulement en mode connecté
94     
95      //CXIOSManager::AddClient("orchidee", 1, 1, &orchidee_fake_entry);
96      //CXIOSManager::AddClient("lmdz"    , 2, 2, &lmdz_fake_entry);
97      //CXIOSManager::RunClientServer();
98
99   }
100   catch (CException & exc)
101   {
102      std::cerr << exc.getMessage() << std::endl;
103      CMPIManager::Finalize();
104      return (EXIT_FAILURE);
105   }
106   return (EXIT_SUCCESS);
107}
108
Note: See TracBrowser for help on using the repository browser.