source: XMLIO_V2/dev/dev_rv/src/XMLIO/c_interface.cpp @ 122

Last change on this file since 122 was 122, checked in by hozdoba, 14 years ago

Plusieurs modifications en attendant une version propre et stable.

File size: 3.4 KB
Line 
1#include "xmlio.hpp"
2
3using namespace XMLIOSERVER;
4using namespace XMLIOSERVER::XML;
5
6using namespace std;
7
8extern "C" void main_c_(void) ;
9
10void main_c_ (void)
11{
12   try
13   {
14      //string file("/local/XMLIOSERVER_DEV/dev_rv/test/iodef_test.xml");
15      //string file("/local/XMLIOSERVER_DEV/dev_rv/iodef_test.xml");
16      string file("/local/XMLIOSERVER_DEV/dev_rv/test/iodef_simple_test.xml");
17
18      ifstream istr( file.c_str() , ifstream::in );
19
20      // On commence la lecture du flux de donnée xml qui doit posséder pour racine un unique noeud nommé "simulation".
21      XMLNode node = XMLNode::CreateNode(istr, Context::GetRootName());
22      // On parse le fichier xml noeud par noeud (ie on construit dynamiquement notre arbre d'objets).
23      XMLParser::Parse(node);
24
25      // On résoud les héritages descendants ainsi que les héritages par référence.
26      //Context::ResolveInheritance(); // Plus nécessaire!!
27
28      // On se place dans le contexte 'context1'.
29      Context::SetCurrentContext("context1") ;
30
31      std::cout << " * ----------- <<<TOP>>> Début du traitement ----------- * " << std::endl;
32      // On crée une instance de traitement de données dans le format NetCDF4.
33      AbstractDataTreatment *dtreat = new NetCDF4DataTreatment(Context::GetObject("context1"));
34
35      // Affichage de la liste des fichiers à sortir (par id).
36      //dtreat->printEnabledFilesId();
37
38      NetCDF4DataOutput dop(CFile::GetObject("fichier1"));
39      dop.createFileAndHeader();
40
41      // On écrit l'arborescence résultante du traitement sur la sortie.
42      //Context::ShowTree(std::clog);
43
44      delete dtreat;
45
46   }
47   catch(const Exception &exc)
48   {  // Pour tout type d'exceptions, on note les informations sur la sortie paramétrée.
49      ERROR(exc.displayText());
50      // On retourne le code d'erreur en fin d'application pour traitements éventuels.
51      // return (exc.code());
52   }
53
54// return (0);
55}
56
57
58      /* CODE TEST POUR CALENDRIER
59      AbstractCalendar* calendar = new GregorianCalendar();
60
61      Date dd (*calendar, 2000, 05, 03, 00, 00, 00) ;
62      Date ddd(*calendar, 2030, 11, 02, 10, 33, 40) ;
63
64      Date d1 (*calendar, 2007, 11, 12, 00, 00, 00) ;
65      Date d2 (*calendar, 2008, 11, 12, 00, 00, 00) ;
66
67      string sttr("12/07/2005 - 10:11:30");
68      string stttr("111s 14.36 mi 7y 3.9y 3.4 mg");
69      Date d3 = Date::FromString(sttr, *calendar);
70
71      // Les mois sont considérés comme des entiers mais stockés comme des flottants.
72      Duration sc0 = Second * -65.3 + Minute * 117.5   + Hour * 65.9  + Day * 417.8 + Month * 16.0  - Year * 17.5;
73      Duration sc1 = Second * 175.3 - Minute * 13109.6 + Hour * 135.1 - Day * 616.4 + Month * 236.0 + Year * 33.9;
74      Duration sc2 = 60 * Day;
75
76      Duration sc3 = Duration::FromString(stttr);
77
78      std::cout << calendar->getInitDate()    << std::endl;
79      std::cout << calendar->getCurrentDate() << std::endl;
80
81      std::cout << boolalpha << (calendar->getInitDate() != calendar->getCurrentDate()) << std::endl;
82
83      std::cout << (Time)d2 - (Time)(d1 + 365 * Day) << std::endl;
84      std::cout << sc0 << std::endl << sc1 << std::endl << sc1 - sc0 << std::endl;
85      std::cout << ddd - dd << std::endl;
86      std::cout << dd << std::endl;
87      std::cout << (Time)dd << std::endl;
88      std::cout << calendar->getNbSecond(dd) << std::endl;
89
90      std::cout << (dd+sc2) << std::endl;
91      std::cout << (d3)  << std::endl;
92
93      std::cout << (sc3) << std::endl;
94
95      delete calendar;
96      */
97
Note: See TracBrowser for help on using the repository browser.