source: XIOS/trunk/src/interface/c_attr/icfield_attr.cpp @ 581

Last change on this file since 581 was 581, checked in by rlacroix, 9 years ago

Fix the Fortran interface generation to avoid generating dead code that caused a timer not to be stopped.

  • Property copyright set to
    Software name : XIOS (Xml I/O Server)
    http://forge.ipsl.jussieu.fr/ioserver
    Creation date : January 2009
    Licence : CeCCIL version2
    see license file in root directory : Licence_CeCILL_V2-en.txt
    or http://www.cecill.info/licences/Licence_CeCILL_V2-en.html
    Holder : CEA/LSCE (Laboratoire des Sciences du CLimat et de l'Environnement)
    CNRS/IPSL (Institut Pierre Simon Laplace)
    Project Manager : Yann Meurdesoif
    yann.meurdesoif@cea.fr
  • Property svn:eol-style set to native
File size: 17.0 KB
Line 
1/* ************************************************************************** *
2 *               Interface auto generated - do not modify                     *
3 * ************************************************************************** */
4
5#include <boost/multi_array.hpp>
6#include <boost/shared_ptr.hpp>
7#include "xmlioserver.hpp"
8#include "attribute_template.hpp"
9#include "object_template.hpp"
10#include "group_template.hpp"
11#include "icutil.hpp"
12#include "icdate.hpp"
13#include "timer.hpp"
14#include "node_type.hpp"
15
16extern "C"
17{
18  typedef xios::CField* field_Ptr;
19
20  void cxios_set_field_add_offset(field_Ptr field_hdl, double add_offset)
21  {
22    CTimer::get("XIOS").resume();
23    field_hdl->add_offset.setValue(add_offset);
24    CTimer::get("XIOS").suspend();
25  }
26
27  void cxios_get_field_add_offset(field_Ptr field_hdl, double* add_offset)
28  {
29    CTimer::get("XIOS").resume();
30    *add_offset = field_hdl->add_offset.getInheritedValue();
31    CTimer::get("XIOS").suspend();
32  }
33
34  bool cxios_is_defined_field_add_offset(field_Ptr field_hdl)
35  {
36     CTimer::get("XIOS").resume();
37     bool isDefined = field_hdl->add_offset.hasInheritedValue();
38     CTimer::get("XIOS").suspend();
39     return isDefined;
40  }
41
42
43  void cxios_set_field_axis_ref(field_Ptr field_hdl, const char * axis_ref, int axis_ref_size)
44  {
45    std::string axis_ref_str;
46    if (!cstr2string(axis_ref, axis_ref_size, axis_ref_str)) return;
47    CTimer::get("XIOS").resume();
48    field_hdl->axis_ref.setValue(axis_ref_str);
49    CTimer::get("XIOS").suspend();
50  }
51
52  void cxios_get_field_axis_ref(field_Ptr field_hdl, char * axis_ref, int axis_ref_size)
53  {
54    CTimer::get("XIOS").resume();
55    if (!string_copy(field_hdl->axis_ref.getInheritedValue(), axis_ref, axis_ref_size))
56      ERROR("void cxios_get_field_axis_ref(field_Ptr field_hdl, char * axis_ref, int axis_ref_size)", << "Input string is too short");
57    CTimer::get("XIOS").suspend();
58  }
59
60  bool cxios_is_defined_field_axis_ref(field_Ptr field_hdl)
61  {
62     CTimer::get("XIOS").resume();
63     bool isDefined = field_hdl->axis_ref.hasInheritedValue();
64     CTimer::get("XIOS").suspend();
65     return isDefined;
66  }
67
68
69  void cxios_set_field_default_value(field_Ptr field_hdl, double default_value)
70  {
71    CTimer::get("XIOS").resume();
72    field_hdl->default_value.setValue(default_value);
73    CTimer::get("XIOS").suspend();
74  }
75
76  void cxios_get_field_default_value(field_Ptr field_hdl, double* default_value)
77  {
78    CTimer::get("XIOS").resume();
79    *default_value = field_hdl->default_value.getInheritedValue();
80    CTimer::get("XIOS").suspend();
81  }
82
83  bool cxios_is_defined_field_default_value(field_Ptr field_hdl)
84  {
85     CTimer::get("XIOS").resume();
86     bool isDefined = field_hdl->default_value.hasInheritedValue();
87     CTimer::get("XIOS").suspend();
88     return isDefined;
89  }
90
91
92  void cxios_set_field_detect_missing_value(field_Ptr field_hdl, bool detect_missing_value)
93  {
94    CTimer::get("XIOS").resume();
95    field_hdl->detect_missing_value.setValue(detect_missing_value);
96    CTimer::get("XIOS").suspend();
97  }
98
99  void cxios_get_field_detect_missing_value(field_Ptr field_hdl, bool* detect_missing_value)
100  {
101    CTimer::get("XIOS").resume();
102    *detect_missing_value = field_hdl->detect_missing_value.getInheritedValue();
103    CTimer::get("XIOS").suspend();
104  }
105
106  bool cxios_is_defined_field_detect_missing_value(field_Ptr field_hdl)
107  {
108     CTimer::get("XIOS").resume();
109     bool isDefined = field_hdl->detect_missing_value.hasInheritedValue();
110     CTimer::get("XIOS").suspend();
111     return isDefined;
112  }
113
114
115  void cxios_set_field_domain_ref(field_Ptr field_hdl, const char * domain_ref, int domain_ref_size)
116  {
117    std::string domain_ref_str;
118    if (!cstr2string(domain_ref, domain_ref_size, domain_ref_str)) return;
119    CTimer::get("XIOS").resume();
120    field_hdl->domain_ref.setValue(domain_ref_str);
121    CTimer::get("XIOS").suspend();
122  }
123
124  void cxios_get_field_domain_ref(field_Ptr field_hdl, char * domain_ref, int domain_ref_size)
125  {
126    CTimer::get("XIOS").resume();
127    if (!string_copy(field_hdl->domain_ref.getInheritedValue(), domain_ref, domain_ref_size))
128      ERROR("void cxios_get_field_domain_ref(field_Ptr field_hdl, char * domain_ref, int domain_ref_size)", << "Input string is too short");
129    CTimer::get("XIOS").suspend();
130  }
131
132  bool cxios_is_defined_field_domain_ref(field_Ptr field_hdl)
133  {
134     CTimer::get("XIOS").resume();
135     bool isDefined = field_hdl->domain_ref.hasInheritedValue();
136     CTimer::get("XIOS").suspend();
137     return isDefined;
138  }
139
140
141  void cxios_set_field_enabled(field_Ptr field_hdl, bool enabled)
142  {
143    CTimer::get("XIOS").resume();
144    field_hdl->enabled.setValue(enabled);
145    CTimer::get("XIOS").suspend();
146  }
147
148  void cxios_get_field_enabled(field_Ptr field_hdl, bool* enabled)
149  {
150    CTimer::get("XIOS").resume();
151    *enabled = field_hdl->enabled.getInheritedValue();
152    CTimer::get("XIOS").suspend();
153  }
154
155  bool cxios_is_defined_field_enabled(field_Ptr field_hdl)
156  {
157     CTimer::get("XIOS").resume();
158     bool isDefined = field_hdl->enabled.hasInheritedValue();
159     CTimer::get("XIOS").suspend();
160     return isDefined;
161  }
162
163
164  void cxios_set_field_field_ref(field_Ptr field_hdl, const char * field_ref, int field_ref_size)
165  {
166    std::string field_ref_str;
167    if (!cstr2string(field_ref, field_ref_size, field_ref_str)) return;
168    CTimer::get("XIOS").resume();
169    field_hdl->field_ref.setValue(field_ref_str);
170    CTimer::get("XIOS").suspend();
171  }
172
173  void cxios_get_field_field_ref(field_Ptr field_hdl, char * field_ref, int field_ref_size)
174  {
175    CTimer::get("XIOS").resume();
176    if (!string_copy(field_hdl->field_ref.getInheritedValue(), field_ref, field_ref_size))
177      ERROR("void cxios_get_field_field_ref(field_Ptr field_hdl, char * field_ref, int field_ref_size)", << "Input string is too short");
178    CTimer::get("XIOS").suspend();
179  }
180
181  bool cxios_is_defined_field_field_ref(field_Ptr field_hdl)
182  {
183     CTimer::get("XIOS").resume();
184     bool isDefined = field_hdl->field_ref.hasInheritedValue();
185     CTimer::get("XIOS").suspend();
186     return isDefined;
187  }
188
189
190  void cxios_set_field_freq_offset(field_Ptr field_hdl, cxios_duration freq_offset_c)
191  {
192    CTimer::get("XIOS").resume();
193    field_hdl->freq_offset.allocate();
194    CDuration& freq_offset = field_hdl->freq_offset.get();
195    freq_offset.year = freq_offset_c.year;
196    freq_offset.month = freq_offset_c.month;
197    freq_offset.day = freq_offset_c.day;
198    freq_offset.hour = freq_offset_c.hour;
199    freq_offset.minute = freq_offset_c.minute;
200    freq_offset.second = freq_offset_c.second;
201    freq_offset.timestep = freq_offset_c.timestep;
202    CTimer::get("XIOS").suspend();
203  }
204
205  void cxios_get_field_freq_offset(field_Ptr field_hdl, cxios_duration* freq_offset_c)
206  {
207    CTimer::get("XIOS").resume();
208    CDuration freq_offset = field_hdl->freq_offset.getInheritedValue();
209    freq_offset_c->year = freq_offset.year;
210    freq_offset_c->month = freq_offset.month;
211    freq_offset_c->day = freq_offset.day;
212    freq_offset_c->hour = freq_offset.hour;
213    freq_offset_c->minute = freq_offset.minute;
214    freq_offset_c->second = freq_offset.second;
215    freq_offset_c->timestep = freq_offset.timestep;
216    CTimer::get("XIOS").suspend();
217  }
218
219  bool cxios_is_defined_field_freq_offset(field_Ptr field_hdl)
220  {
221     CTimer::get("XIOS").resume();
222     bool isDefined = field_hdl->freq_offset.hasInheritedValue();
223     CTimer::get("XIOS").suspend();
224     return isDefined;
225  }
226
227
228  void cxios_set_field_freq_op(field_Ptr field_hdl, cxios_duration freq_op_c)
229  {
230    CTimer::get("XIOS").resume();
231    field_hdl->freq_op.allocate();
232    CDuration& freq_op = field_hdl->freq_op.get();
233    freq_op.year = freq_op_c.year;
234    freq_op.month = freq_op_c.month;
235    freq_op.day = freq_op_c.day;
236    freq_op.hour = freq_op_c.hour;
237    freq_op.minute = freq_op_c.minute;
238    freq_op.second = freq_op_c.second;
239    freq_op.timestep = freq_op_c.timestep;
240    CTimer::get("XIOS").suspend();
241  }
242
243  void cxios_get_field_freq_op(field_Ptr field_hdl, cxios_duration* freq_op_c)
244  {
245    CTimer::get("XIOS").resume();
246    CDuration freq_op = field_hdl->freq_op.getInheritedValue();
247    freq_op_c->year = freq_op.year;
248    freq_op_c->month = freq_op.month;
249    freq_op_c->day = freq_op.day;
250    freq_op_c->hour = freq_op.hour;
251    freq_op_c->minute = freq_op.minute;
252    freq_op_c->second = freq_op.second;
253    freq_op_c->timestep = freq_op.timestep;
254    CTimer::get("XIOS").suspend();
255  }
256
257  bool cxios_is_defined_field_freq_op(field_Ptr field_hdl)
258  {
259     CTimer::get("XIOS").resume();
260     bool isDefined = field_hdl->freq_op.hasInheritedValue();
261     CTimer::get("XIOS").suspend();
262     return isDefined;
263  }
264
265
266  void cxios_set_field_grid_ref(field_Ptr field_hdl, const char * grid_ref, int grid_ref_size)
267  {
268    std::string grid_ref_str;
269    if (!cstr2string(grid_ref, grid_ref_size, grid_ref_str)) return;
270    CTimer::get("XIOS").resume();
271    field_hdl->grid_ref.setValue(grid_ref_str);
272    CTimer::get("XIOS").suspend();
273  }
274
275  void cxios_get_field_grid_ref(field_Ptr field_hdl, char * grid_ref, int grid_ref_size)
276  {
277    CTimer::get("XIOS").resume();
278    if (!string_copy(field_hdl->grid_ref.getInheritedValue(), grid_ref, grid_ref_size))
279      ERROR("void cxios_get_field_grid_ref(field_Ptr field_hdl, char * grid_ref, int grid_ref_size)", << "Input string is too short");
280    CTimer::get("XIOS").suspend();
281  }
282
283  bool cxios_is_defined_field_grid_ref(field_Ptr field_hdl)
284  {
285     CTimer::get("XIOS").resume();
286     bool isDefined = field_hdl->grid_ref.hasInheritedValue();
287     CTimer::get("XIOS").suspend();
288     return isDefined;
289  }
290
291
292  void cxios_set_field_level(field_Ptr field_hdl, int level)
293  {
294    CTimer::get("XIOS").resume();
295    field_hdl->level.setValue(level);
296    CTimer::get("XIOS").suspend();
297  }
298
299  void cxios_get_field_level(field_Ptr field_hdl, int* level)
300  {
301    CTimer::get("XIOS").resume();
302    *level = field_hdl->level.getInheritedValue();
303    CTimer::get("XIOS").suspend();
304  }
305
306  bool cxios_is_defined_field_level(field_Ptr field_hdl)
307  {
308     CTimer::get("XIOS").resume();
309     bool isDefined = field_hdl->level.hasInheritedValue();
310     CTimer::get("XIOS").suspend();
311     return isDefined;
312  }
313
314
315  void cxios_set_field_long_name(field_Ptr field_hdl, const char * long_name, int long_name_size)
316  {
317    std::string long_name_str;
318    if (!cstr2string(long_name, long_name_size, long_name_str)) return;
319    CTimer::get("XIOS").resume();
320    field_hdl->long_name.setValue(long_name_str);
321    CTimer::get("XIOS").suspend();
322  }
323
324  void cxios_get_field_long_name(field_Ptr field_hdl, char * long_name, int long_name_size)
325  {
326    CTimer::get("XIOS").resume();
327    if (!string_copy(field_hdl->long_name.getInheritedValue(), long_name, long_name_size))
328      ERROR("void cxios_get_field_long_name(field_Ptr field_hdl, char * long_name, int long_name_size)", << "Input string is too short");
329    CTimer::get("XIOS").suspend();
330  }
331
332  bool cxios_is_defined_field_long_name(field_Ptr field_hdl)
333  {
334     CTimer::get("XIOS").resume();
335     bool isDefined = field_hdl->long_name.hasInheritedValue();
336     CTimer::get("XIOS").suspend();
337     return isDefined;
338  }
339
340
341  void cxios_set_field_name(field_Ptr field_hdl, const char * name, int name_size)
342  {
343    std::string name_str;
344    if (!cstr2string(name, name_size, name_str)) return;
345    CTimer::get("XIOS").resume();
346    field_hdl->name.setValue(name_str);
347    CTimer::get("XIOS").suspend();
348  }
349
350  void cxios_get_field_name(field_Ptr field_hdl, char * name, int name_size)
351  {
352    CTimer::get("XIOS").resume();
353    if (!string_copy(field_hdl->name.getInheritedValue(), name, name_size))
354      ERROR("void cxios_get_field_name(field_Ptr field_hdl, char * name, int name_size)", << "Input string is too short");
355    CTimer::get("XIOS").suspend();
356  }
357
358  bool cxios_is_defined_field_name(field_Ptr field_hdl)
359  {
360     CTimer::get("XIOS").resume();
361     bool isDefined = field_hdl->name.hasInheritedValue();
362     CTimer::get("XIOS").suspend();
363     return isDefined;
364  }
365
366
367  void cxios_set_field_operation(field_Ptr field_hdl, const char * operation, int operation_size)
368  {
369    std::string operation_str;
370    if (!cstr2string(operation, operation_size, operation_str)) return;
371    CTimer::get("XIOS").resume();
372    field_hdl->operation.setValue(operation_str);
373    CTimer::get("XIOS").suspend();
374  }
375
376  void cxios_get_field_operation(field_Ptr field_hdl, char * operation, int operation_size)
377  {
378    CTimer::get("XIOS").resume();
379    if (!string_copy(field_hdl->operation.getInheritedValue(), operation, operation_size))
380      ERROR("void cxios_get_field_operation(field_Ptr field_hdl, char * operation, int operation_size)", << "Input string is too short");
381    CTimer::get("XIOS").suspend();
382  }
383
384  bool cxios_is_defined_field_operation(field_Ptr field_hdl)
385  {
386     CTimer::get("XIOS").resume();
387     bool isDefined = field_hdl->operation.hasInheritedValue();
388     CTimer::get("XIOS").suspend();
389     return isDefined;
390  }
391
392
393  void cxios_set_field_prec(field_Ptr field_hdl, int prec)
394  {
395    CTimer::get("XIOS").resume();
396    field_hdl->prec.setValue(prec);
397    CTimer::get("XIOS").suspend();
398  }
399
400  void cxios_get_field_prec(field_Ptr field_hdl, int* prec)
401  {
402    CTimer::get("XIOS").resume();
403    *prec = field_hdl->prec.getInheritedValue();
404    CTimer::get("XIOS").suspend();
405  }
406
407  bool cxios_is_defined_field_prec(field_Ptr field_hdl)
408  {
409     CTimer::get("XIOS").resume();
410     bool isDefined = field_hdl->prec.hasInheritedValue();
411     CTimer::get("XIOS").suspend();
412     return isDefined;
413  }
414
415
416  void cxios_set_field_scale_factor(field_Ptr field_hdl, double scale_factor)
417  {
418    CTimer::get("XIOS").resume();
419    field_hdl->scale_factor.setValue(scale_factor);
420    CTimer::get("XIOS").suspend();
421  }
422
423  void cxios_get_field_scale_factor(field_Ptr field_hdl, double* scale_factor)
424  {
425    CTimer::get("XIOS").resume();
426    *scale_factor = field_hdl->scale_factor.getInheritedValue();
427    CTimer::get("XIOS").suspend();
428  }
429
430  bool cxios_is_defined_field_scale_factor(field_Ptr field_hdl)
431  {
432     CTimer::get("XIOS").resume();
433     bool isDefined = field_hdl->scale_factor.hasInheritedValue();
434     CTimer::get("XIOS").suspend();
435     return isDefined;
436  }
437
438
439  void cxios_set_field_standard_name(field_Ptr field_hdl, const char * standard_name, int standard_name_size)
440  {
441    std::string standard_name_str;
442    if (!cstr2string(standard_name, standard_name_size, standard_name_str)) return;
443    CTimer::get("XIOS").resume();
444    field_hdl->standard_name.setValue(standard_name_str);
445    CTimer::get("XIOS").suspend();
446  }
447
448  void cxios_get_field_standard_name(field_Ptr field_hdl, char * standard_name, int standard_name_size)
449  {
450    CTimer::get("XIOS").resume();
451    if (!string_copy(field_hdl->standard_name.getInheritedValue(), standard_name, standard_name_size))
452      ERROR("void cxios_get_field_standard_name(field_Ptr field_hdl, char * standard_name, int standard_name_size)", << "Input string is too short");
453    CTimer::get("XIOS").suspend();
454  }
455
456  bool cxios_is_defined_field_standard_name(field_Ptr field_hdl)
457  {
458     CTimer::get("XIOS").resume();
459     bool isDefined = field_hdl->standard_name.hasInheritedValue();
460     CTimer::get("XIOS").suspend();
461     return isDefined;
462  }
463
464
465  void cxios_set_field_unit(field_Ptr field_hdl, const char * unit, int unit_size)
466  {
467    std::string unit_str;
468    if (!cstr2string(unit, unit_size, unit_str)) return;
469    CTimer::get("XIOS").resume();
470    field_hdl->unit.setValue(unit_str);
471    CTimer::get("XIOS").suspend();
472  }
473
474  void cxios_get_field_unit(field_Ptr field_hdl, char * unit, int unit_size)
475  {
476    CTimer::get("XIOS").resume();
477    if (!string_copy(field_hdl->unit.getInheritedValue(), unit, unit_size))
478      ERROR("void cxios_get_field_unit(field_Ptr field_hdl, char * unit, int unit_size)", << "Input string is too short");
479    CTimer::get("XIOS").suspend();
480  }
481
482  bool cxios_is_defined_field_unit(field_Ptr field_hdl)
483  {
484     CTimer::get("XIOS").resume();
485     bool isDefined = field_hdl->unit.hasInheritedValue();
486     CTimer::get("XIOS").suspend();
487     return isDefined;
488  }
489
490
491  void cxios_set_field_valid_max(field_Ptr field_hdl, double valid_max)
492  {
493    CTimer::get("XIOS").resume();
494    field_hdl->valid_max.setValue(valid_max);
495    CTimer::get("XIOS").suspend();
496  }
497
498  void cxios_get_field_valid_max(field_Ptr field_hdl, double* valid_max)
499  {
500    CTimer::get("XIOS").resume();
501    *valid_max = field_hdl->valid_max.getInheritedValue();
502    CTimer::get("XIOS").suspend();
503  }
504
505  bool cxios_is_defined_field_valid_max(field_Ptr field_hdl)
506  {
507     CTimer::get("XIOS").resume();
508     bool isDefined = field_hdl->valid_max.hasInheritedValue();
509     CTimer::get("XIOS").suspend();
510     return isDefined;
511  }
512
513
514  void cxios_set_field_valid_min(field_Ptr field_hdl, double valid_min)
515  {
516    CTimer::get("XIOS").resume();
517    field_hdl->valid_min.setValue(valid_min);
518    CTimer::get("XIOS").suspend();
519  }
520
521  void cxios_get_field_valid_min(field_Ptr field_hdl, double* valid_min)
522  {
523    CTimer::get("XIOS").resume();
524    *valid_min = field_hdl->valid_min.getInheritedValue();
525    CTimer::get("XIOS").suspend();
526  }
527
528  bool cxios_is_defined_field_valid_min(field_Ptr field_hdl)
529  {
530     CTimer::get("XIOS").resume();
531     bool isDefined = field_hdl->valid_min.hasInheritedValue();
532     CTimer::get("XIOS").suspend();
533     return isDefined;
534  }
535}
Note: See TracBrowser for help on using the repository browser.