source: XIOS/trunk/src/generate_fortran_interface.cpp @ 313

Last change on this file since 313 was 313, checked in by ymipsl, 12 years ago

Fortran attribut interface are now automaticaly generated.
Add get attribut fonctionnality from fortran.

YM

  • Property svn:eol-style set to native
File size: 4.4 KB
Line 
1#include "xmlioserver.hpp"
2#include "generate_interface_impl.hpp"
3#include "indent.hpp"
4#include "attribute_template_impl.hpp"
5#include "object_template_impl.hpp"
6#include "group_template_impl.hpp"
7
8int main (int argc, char ** argv, char ** UNUSED (env))
9{
10//  string path="./src/attr_interface/" ;
11  string path="./interface/" ;
12 
13  CContext* context=tree::CTreeManager::CreateContext("interface").get();
14  CAxis axis ;
15  CAxisGroup axisgroup ;
16  CField field;
17  CFieldGroup fieldgroup ;
18  CDomain domain ;
19  CDomainGroup domaingroup ;
20  CGrid grid ;
21  CGridGroup gridgroup ;
22 
23  CFile afile;
24  CFileGroup filegroup;
25 
26  ostringstream oss ;
27  ofstream file;
28 
29  file.open((path+"axis_interface_attr.f90").c_str()); 
30  axis.generateFortran2003Interface(file) ;
31  file.close();
32 
33  file.open((path+"icaxis_attr.cpp").c_str()); 
34  axis.generateCInterface(file) ;
35  file.close();
36 
37  file.open((path+"iaxis_attr.F90").c_str()); 
38  axis.generateFortranInterface(file) ;
39  file.close();
40 
41  file.open((path+"axisgroup_interface_attr.f90").c_str()); 
42  axisgroup.generateFortran2003Interface(file) ;
43  file.close();
44 
45  file.open((path+"icaxisgroup_attr.cpp").c_str()); 
46  axisgroup.generateCInterface(file) ;
47  file.close();
48 
49  file.open((path+"iaxisgroup_attr.F90").c_str()); 
50  axisgroup.generateFortranInterface(file) ;
51  file.close();
52 
53  file.open((path+"domain_interface_attr.f90").c_str()); 
54  domain.generateFortran2003Interface(file) ;
55  file.close();
56 
57  file.open((path+"icdomain_attr.cpp").c_str()); 
58  domain.generateCInterface(file) ;
59  file.close();
60 
61  file.open((path+"idomain_attr.F90").c_str()); 
62  domain.generateFortranInterface(file) ;
63  file.close();
64 
65  file.open((path+"domaingroup_interface_attr.f90").c_str()); 
66  domaingroup.generateFortran2003Interface(file) ;
67  file.close();
68 
69  file.open((path+"icdomaingroup_attr.cpp").c_str()); 
70  domaingroup.generateCInterface(file) ;
71  file.close();
72 
73  file.open((path+"idomaingroup_attr.F90").c_str()); 
74  domaingroup.generateFortranInterface(file) ;
75  file.close();
76 
77 
78  file.open((path+"grid_interface_attr.f90").c_str()); 
79  grid.generateFortran2003Interface(file) ;
80  file.close();
81 
82  file.open((path+"icgrid_attr.cpp").c_str()); 
83  grid.generateCInterface(file) ;
84  file.close();
85 
86  file.open((path+"igrid_attr.F90").c_str()); 
87  grid.generateFortranInterface(file) ;
88  file.close();
89 
90  file.open((path+"gridgroup_interface_attr.f90").c_str()); 
91  gridgroup.generateFortran2003Interface(file) ;
92  file.close();
93 
94  file.open((path+"icgridgroup_attr.cpp").c_str()); 
95  gridgroup.generateCInterface(file) ;
96  file.close();
97 
98  file.open((path+"igridgroup_attr.F90").c_str()); 
99  gridgroup.generateFortranInterface(file) ;
100  file.close();
101 
102 
103  file.open((path+"field_interface_attr.f90").c_str()); 
104  field.generateFortran2003Interface(file) ;
105  file.close();
106 
107  file.open((path+"icfield_attr.cpp").c_str()); 
108  field.generateCInterface(file) ;
109  file.close();
110 
111  file.open((path+"ifield_attr.F90").c_str()); 
112  field.generateFortranInterface(file) ;
113  file.close();
114 
115  file.open((path+"fieldgroup_interface_attr.f90").c_str()); 
116  fieldgroup.generateFortran2003Interface(file) ;
117  file.close();
118 
119  file.open((path+"icfieldgroup_attr.cpp").c_str()); 
120  fieldgroup.generateCInterface(file) ;
121  file.close();
122 
123  file.open((path+"ifieldgroup_attr.F90").c_str()); 
124  fieldgroup.generateFortranInterface(file) ;
125  file.close();
126 
127
128
129  file.open((path+"file_interface_attr.f90").c_str()); 
130  afile.generateFortran2003Interface(file) ;
131  file.close();
132 
133  file.open((path+"icfile_attr.cpp").c_str()); 
134  afile.generateCInterface(file) ;
135  file.close();
136 
137  file.open((path+"ifile_attr.F90").c_str()); 
138  afile.generateFortranInterface(file) ;
139  file.close();
140 
141  file.open((path+"filegroup_interface_attr.f90").c_str()); 
142  filegroup.generateFortran2003Interface(file) ;
143  file.close();
144 
145  file.open((path+"icfilegroup_attr.cpp").c_str()); 
146  filegroup.generateCInterface(file) ;
147  file.close();
148 
149  file.open((path+"ifilegroup_attr.F90").c_str()); 
150  filegroup.generateFortranInterface(file) ;
151  file.close();
152 
153 
154  file.open((path+"context_interface_attr.f90").c_str()); 
155  context->generateFortran2003Interface(file) ;
156  file.close();
157 
158  file.open((path+"iccontext_attr.cpp").c_str()); 
159  context->generateCInterface(file) ;
160  file.close();
161 
162  file.open((path+"icontext_attr.F90").c_str()); 
163  context->generateFortranInterface(file) ;
164  file.close();
165 
166}
Note: See TracBrowser for help on using the repository browser.