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

Last change on this file since 532 was 532, checked in by rlacroix, 10 years ago

Add a new attribute type for dates and use it for the context's start_date and time_origin.

The "xios_date" type should now be used to get/set date attributes through the Fortran interface. This avoids using strings to manipulate dates.

  • 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: 15.3 KB
RevLine 
[325]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"
[352]8#include "attribute_template.hpp"
9#include "object_template.hpp"
10#include "group_template.hpp"
[325]11#include "icutil.hpp"
[532]12#include "icdate.hpp"
[347]13#include "timer.hpp"
[369]14#include "node_type.hpp"
[325]15
16extern "C"
17{
[345]18  typedef xios::CField*  field_Ptr;
[325]19 
[464]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    *add_offset = field_hdl->add_offset.getInheritedValue();
30  }
31 
32  bool cxios_is_defined_field_add_offset(field_Ptr field_hdl )
33  {
34     CTimer::get("XIOS").resume();
35    return field_hdl->add_offset.hasInheritedValue();
36     CTimer::get("XIOS").suspend();
37  }
38 
39 
40 
[325]41  void cxios_set_field_axis_ref(field_Ptr field_hdl, const char * axis_ref, int axis_ref_size)
42  {
43    std::string axis_ref_str;
44    if(!cstr2string(axis_ref, axis_ref_size, axis_ref_str)) return;
[347]45     CTimer::get("XIOS").resume();
[325]46    field_hdl->axis_ref.setValue(axis_ref_str);
[347]47     CTimer::get("XIOS").suspend();
[325]48  }
49 
50  void cxios_get_field_axis_ref(field_Ptr field_hdl, char * axis_ref, int axis_ref_size)
51  {
[347]52     CTimer::get("XIOS").resume();
[445]53    if(!string_copy(field_hdl->axis_ref.getInheritedValue(),axis_ref , axis_ref_size))
[325]54      ERROR("void cxios_get_field_axis_ref(field_Ptr field_hdl, char * axis_ref, int axis_ref_size)", <<"Input string is to short");
[347]55     CTimer::get("XIOS").suspend();
[325]56  }
57 
[432]58  bool cxios_is_defined_field_axis_ref(field_Ptr field_hdl )
59  {
60     CTimer::get("XIOS").resume();
[445]61    return field_hdl->axis_ref.hasInheritedValue();
[432]62     CTimer::get("XIOS").suspend();
63  }
[325]64 
[432]65 
66 
[325]67  void cxios_set_field_default_value(field_Ptr field_hdl, double default_value)
68  {
[347]69     CTimer::get("XIOS").resume();
[325]70    field_hdl->default_value.setValue(default_value);
[347]71     CTimer::get("XIOS").suspend();
[325]72  }
73 
74  void cxios_get_field_default_value(field_Ptr field_hdl, double* default_value)
75  {
[445]76    *default_value = field_hdl->default_value.getInheritedValue();
[325]77  }
78 
[432]79  bool cxios_is_defined_field_default_value(field_Ptr field_hdl )
80  {
81     CTimer::get("XIOS").resume();
[445]82    return field_hdl->default_value.hasInheritedValue();
[432]83     CTimer::get("XIOS").suspend();
84  }
[325]85 
[432]86 
87 
[472]88  void cxios_set_field_detect_missing_value(field_Ptr field_hdl, bool detect_missing_value)
89  {
90     CTimer::get("XIOS").resume();
91    field_hdl->detect_missing_value.setValue(detect_missing_value);
92     CTimer::get("XIOS").suspend();
93  }
94 
95  void cxios_get_field_detect_missing_value(field_Ptr field_hdl, bool* detect_missing_value)
96  {
97    *detect_missing_value = field_hdl->detect_missing_value.getInheritedValue();
98  }
99 
100  bool cxios_is_defined_field_detect_missing_value(field_Ptr field_hdl )
101  {
102     CTimer::get("XIOS").resume();
103    return field_hdl->detect_missing_value.hasInheritedValue();
104     CTimer::get("XIOS").suspend();
105  }
106 
107 
108 
[325]109  void cxios_set_field_domain_ref(field_Ptr field_hdl, const char * domain_ref, int domain_ref_size)
110  {
111    std::string domain_ref_str;
112    if(!cstr2string(domain_ref, domain_ref_size, domain_ref_str)) return;
[347]113     CTimer::get("XIOS").resume();
[325]114    field_hdl->domain_ref.setValue(domain_ref_str);
[347]115     CTimer::get("XIOS").suspend();
[325]116  }
117 
118  void cxios_get_field_domain_ref(field_Ptr field_hdl, char * domain_ref, int domain_ref_size)
119  {
[347]120     CTimer::get("XIOS").resume();
[445]121    if(!string_copy(field_hdl->domain_ref.getInheritedValue(),domain_ref , domain_ref_size))
[325]122      ERROR("void cxios_get_field_domain_ref(field_Ptr field_hdl, char * domain_ref, int domain_ref_size)", <<"Input string is to short");
[347]123     CTimer::get("XIOS").suspend();
[325]124  }
125 
[432]126  bool cxios_is_defined_field_domain_ref(field_Ptr field_hdl )
127  {
128     CTimer::get("XIOS").resume();
[445]129    return field_hdl->domain_ref.hasInheritedValue();
[432]130     CTimer::get("XIOS").suspend();
131  }
[325]132 
[432]133 
134 
[325]135  void cxios_set_field_enabled(field_Ptr field_hdl, bool enabled)
136  {
[347]137     CTimer::get("XIOS").resume();
[325]138    field_hdl->enabled.setValue(enabled);
[347]139     CTimer::get("XIOS").suspend();
[325]140  }
141 
142  void cxios_get_field_enabled(field_Ptr field_hdl, bool* enabled)
143  {
[445]144    *enabled = field_hdl->enabled.getInheritedValue();
[325]145  }
146 
[432]147  bool cxios_is_defined_field_enabled(field_Ptr field_hdl )
148  {
149     CTimer::get("XIOS").resume();
[445]150    return field_hdl->enabled.hasInheritedValue();
[432]151     CTimer::get("XIOS").suspend();
152  }
[325]153 
[432]154 
155 
[325]156  void cxios_set_field_field_ref(field_Ptr field_hdl, const char * field_ref, int field_ref_size)
157  {
158    std::string field_ref_str;
159    if(!cstr2string(field_ref, field_ref_size, field_ref_str)) return;
[347]160     CTimer::get("XIOS").resume();
[325]161    field_hdl->field_ref.setValue(field_ref_str);
[347]162     CTimer::get("XIOS").suspend();
[325]163  }
164 
165  void cxios_get_field_field_ref(field_Ptr field_hdl, char * field_ref, int field_ref_size)
166  {
[347]167     CTimer::get("XIOS").resume();
[445]168    if(!string_copy(field_hdl->field_ref.getInheritedValue(),field_ref , field_ref_size))
[325]169      ERROR("void cxios_get_field_field_ref(field_Ptr field_hdl, char * field_ref, int field_ref_size)", <<"Input string is to short");
[347]170     CTimer::get("XIOS").suspend();
[325]171  }
172 
[432]173  bool cxios_is_defined_field_field_ref(field_Ptr field_hdl )
174  {
175     CTimer::get("XIOS").resume();
[445]176    return field_hdl->field_ref.hasInheritedValue();
[432]177     CTimer::get("XIOS").suspend();
178  }
[325]179 
[432]180 
181 
[325]182  void cxios_set_field_freq_offset(field_Ptr field_hdl, const char * freq_offset, int freq_offset_size)
183  {
184    std::string freq_offset_str;
185    if(!cstr2string(freq_offset, freq_offset_size, freq_offset_str)) return;
[347]186     CTimer::get("XIOS").resume();
[325]187    field_hdl->freq_offset.setValue(freq_offset_str);
[347]188     CTimer::get("XIOS").suspend();
[325]189  }
190 
191  void cxios_get_field_freq_offset(field_Ptr field_hdl, char * freq_offset, int freq_offset_size)
192  {
[347]193     CTimer::get("XIOS").resume();
[445]194    if(!string_copy(field_hdl->freq_offset.getInheritedValue(),freq_offset , freq_offset_size))
[325]195      ERROR("void cxios_get_field_freq_offset(field_Ptr field_hdl, char * freq_offset, int freq_offset_size)", <<"Input string is to short");
[347]196     CTimer::get("XIOS").suspend();
[325]197  }
198 
[432]199  bool cxios_is_defined_field_freq_offset(field_Ptr field_hdl )
200  {
201     CTimer::get("XIOS").resume();
[445]202    return field_hdl->freq_offset.hasInheritedValue();
[432]203     CTimer::get("XIOS").suspend();
204  }
[325]205 
[432]206 
207 
[325]208  void cxios_set_field_freq_op(field_Ptr field_hdl, const char * freq_op, int freq_op_size)
209  {
210    std::string freq_op_str;
211    if(!cstr2string(freq_op, freq_op_size, freq_op_str)) return;
[347]212     CTimer::get("XIOS").resume();
[325]213    field_hdl->freq_op.setValue(freq_op_str);
[347]214     CTimer::get("XIOS").suspend();
[325]215  }
216 
217  void cxios_get_field_freq_op(field_Ptr field_hdl, char * freq_op, int freq_op_size)
218  {
[347]219     CTimer::get("XIOS").resume();
[445]220    if(!string_copy(field_hdl->freq_op.getInheritedValue(),freq_op , freq_op_size))
[325]221      ERROR("void cxios_get_field_freq_op(field_Ptr field_hdl, char * freq_op, int freq_op_size)", <<"Input string is to short");
[347]222     CTimer::get("XIOS").suspend();
[325]223  }
224 
[432]225  bool cxios_is_defined_field_freq_op(field_Ptr field_hdl )
226  {
227     CTimer::get("XIOS").resume();
[445]228    return field_hdl->freq_op.hasInheritedValue();
[432]229     CTimer::get("XIOS").suspend();
230  }
[325]231 
[432]232 
233 
[325]234  void cxios_set_field_grid_ref(field_Ptr field_hdl, const char * grid_ref, int grid_ref_size)
235  {
236    std::string grid_ref_str;
237    if(!cstr2string(grid_ref, grid_ref_size, grid_ref_str)) return;
[347]238     CTimer::get("XIOS").resume();
[325]239    field_hdl->grid_ref.setValue(grid_ref_str);
[347]240     CTimer::get("XIOS").suspend();
[325]241  }
242 
243  void cxios_get_field_grid_ref(field_Ptr field_hdl, char * grid_ref, int grid_ref_size)
244  {
[347]245     CTimer::get("XIOS").resume();
[445]246    if(!string_copy(field_hdl->grid_ref.getInheritedValue(),grid_ref , grid_ref_size))
[325]247      ERROR("void cxios_get_field_grid_ref(field_Ptr field_hdl, char * grid_ref, int grid_ref_size)", <<"Input string is to short");
[347]248     CTimer::get("XIOS").suspend();
[325]249  }
250 
[432]251  bool cxios_is_defined_field_grid_ref(field_Ptr field_hdl )
252  {
253     CTimer::get("XIOS").resume();
[445]254    return field_hdl->grid_ref.hasInheritedValue();
[432]255     CTimer::get("XIOS").suspend();
256  }
[325]257 
[432]258 
259 
[325]260  void cxios_set_field_level(field_Ptr field_hdl, int level)
261  {
[347]262     CTimer::get("XIOS").resume();
[325]263    field_hdl->level.setValue(level);
[347]264     CTimer::get("XIOS").suspend();
[325]265  }
266 
267  void cxios_get_field_level(field_Ptr field_hdl, int* level)
268  {
[445]269    *level = field_hdl->level.getInheritedValue();
[325]270  }
271 
[432]272  bool cxios_is_defined_field_level(field_Ptr field_hdl )
273  {
274     CTimer::get("XIOS").resume();
[445]275    return field_hdl->level.hasInheritedValue();
[432]276     CTimer::get("XIOS").suspend();
277  }
[325]278 
[432]279 
280 
[325]281  void cxios_set_field_long_name(field_Ptr field_hdl, const char * long_name, int long_name_size)
282  {
283    std::string long_name_str;
284    if(!cstr2string(long_name, long_name_size, long_name_str)) return;
[347]285     CTimer::get("XIOS").resume();
[325]286    field_hdl->long_name.setValue(long_name_str);
[347]287     CTimer::get("XIOS").suspend();
[325]288  }
289 
290  void cxios_get_field_long_name(field_Ptr field_hdl, char * long_name, int long_name_size)
291  {
[347]292     CTimer::get("XIOS").resume();
[445]293    if(!string_copy(field_hdl->long_name.getInheritedValue(),long_name , long_name_size))
[325]294      ERROR("void cxios_get_field_long_name(field_Ptr field_hdl, char * long_name, int long_name_size)", <<"Input string is to short");
[347]295     CTimer::get("XIOS").suspend();
[325]296  }
297 
[432]298  bool cxios_is_defined_field_long_name(field_Ptr field_hdl )
299  {
300     CTimer::get("XIOS").resume();
[445]301    return field_hdl->long_name.hasInheritedValue();
[432]302     CTimer::get("XIOS").suspend();
303  }
[325]304 
[432]305 
306 
[325]307  void cxios_set_field_name(field_Ptr field_hdl, const char * name, int name_size)
308  {
309    std::string name_str;
310    if(!cstr2string(name, name_size, name_str)) return;
[347]311     CTimer::get("XIOS").resume();
[325]312    field_hdl->name.setValue(name_str);
[347]313     CTimer::get("XIOS").suspend();
[325]314  }
315 
316  void cxios_get_field_name(field_Ptr field_hdl, char * name, int name_size)
317  {
[347]318     CTimer::get("XIOS").resume();
[445]319    if(!string_copy(field_hdl->name.getInheritedValue(),name , name_size))
[325]320      ERROR("void cxios_get_field_name(field_Ptr field_hdl, char * name, int name_size)", <<"Input string is to short");
[347]321     CTimer::get("XIOS").suspend();
[325]322  }
323 
[432]324  bool cxios_is_defined_field_name(field_Ptr field_hdl )
325  {
326     CTimer::get("XIOS").resume();
[445]327    return field_hdl->name.hasInheritedValue();
[432]328     CTimer::get("XIOS").suspend();
329  }
[325]330 
[432]331 
332 
[325]333  void cxios_set_field_operation(field_Ptr field_hdl, const char * operation, int operation_size)
334  {
335    std::string operation_str;
336    if(!cstr2string(operation, operation_size, operation_str)) return;
[347]337     CTimer::get("XIOS").resume();
[325]338    field_hdl->operation.setValue(operation_str);
[347]339     CTimer::get("XIOS").suspend();
[325]340  }
341 
342  void cxios_get_field_operation(field_Ptr field_hdl, char * operation, int operation_size)
343  {
[347]344     CTimer::get("XIOS").resume();
[445]345    if(!string_copy(field_hdl->operation.getInheritedValue(),operation , operation_size))
[325]346      ERROR("void cxios_get_field_operation(field_Ptr field_hdl, char * operation, int operation_size)", <<"Input string is to short");
[347]347     CTimer::get("XIOS").suspend();
[325]348  }
349 
[432]350  bool cxios_is_defined_field_operation(field_Ptr field_hdl )
351  {
352     CTimer::get("XIOS").resume();
[445]353    return field_hdl->operation.hasInheritedValue();
[432]354     CTimer::get("XIOS").suspend();
355  }
[325]356 
[432]357 
358 
[325]359  void cxios_set_field_prec(field_Ptr field_hdl, int prec)
360  {
[347]361     CTimer::get("XIOS").resume();
[325]362    field_hdl->prec.setValue(prec);
[347]363     CTimer::get("XIOS").suspend();
[325]364  }
365 
366  void cxios_get_field_prec(field_Ptr field_hdl, int* prec)
367  {
[445]368    *prec = field_hdl->prec.getInheritedValue();
[325]369  }
370 
[432]371  bool cxios_is_defined_field_prec(field_Ptr field_hdl )
372  {
373     CTimer::get("XIOS").resume();
[445]374    return field_hdl->prec.hasInheritedValue();
[432]375     CTimer::get("XIOS").suspend();
376  }
[325]377 
[432]378 
379 
[464]380  void cxios_set_field_scale_factor(field_Ptr field_hdl, double scale_factor)
381  {
382     CTimer::get("XIOS").resume();
383    field_hdl->scale_factor.setValue(scale_factor);
384     CTimer::get("XIOS").suspend();
385  }
386 
387  void cxios_get_field_scale_factor(field_Ptr field_hdl, double* scale_factor)
388  {
389    *scale_factor = field_hdl->scale_factor.getInheritedValue();
390  }
391 
392  bool cxios_is_defined_field_scale_factor(field_Ptr field_hdl )
393  {
394     CTimer::get("XIOS").resume();
395    return field_hdl->scale_factor.hasInheritedValue();
396     CTimer::get("XIOS").suspend();
397  }
398 
399 
400 
[325]401  void cxios_set_field_standard_name(field_Ptr field_hdl, const char * standard_name, int standard_name_size)
402  {
403    std::string standard_name_str;
404    if(!cstr2string(standard_name, standard_name_size, standard_name_str)) return;
[347]405     CTimer::get("XIOS").resume();
[325]406    field_hdl->standard_name.setValue(standard_name_str);
[347]407     CTimer::get("XIOS").suspend();
[325]408  }
409 
410  void cxios_get_field_standard_name(field_Ptr field_hdl, char * standard_name, int standard_name_size)
411  {
[347]412     CTimer::get("XIOS").resume();
[445]413    if(!string_copy(field_hdl->standard_name.getInheritedValue(),standard_name , standard_name_size))
[325]414      ERROR("void cxios_get_field_standard_name(field_Ptr field_hdl, char * standard_name, int standard_name_size)", <<"Input string is to short");
[347]415     CTimer::get("XIOS").suspend();
[325]416  }
417 
[432]418  bool cxios_is_defined_field_standard_name(field_Ptr field_hdl )
419  {
420     CTimer::get("XIOS").resume();
[445]421    return field_hdl->standard_name.hasInheritedValue();
[432]422     CTimer::get("XIOS").suspend();
423  }
[325]424 
[432]425 
426 
[325]427  void cxios_set_field_unit(field_Ptr field_hdl, const char * unit, int unit_size)
428  {
429    std::string unit_str;
430    if(!cstr2string(unit, unit_size, unit_str)) return;
[347]431     CTimer::get("XIOS").resume();
[325]432    field_hdl->unit.setValue(unit_str);
[347]433     CTimer::get("XIOS").suspend();
[325]434  }
435 
436  void cxios_get_field_unit(field_Ptr field_hdl, char * unit, int unit_size)
437  {
[347]438     CTimer::get("XIOS").resume();
[445]439    if(!string_copy(field_hdl->unit.getInheritedValue(),unit , unit_size))
[325]440      ERROR("void cxios_get_field_unit(field_Ptr field_hdl, char * unit, int unit_size)", <<"Input string is to short");
[347]441     CTimer::get("XIOS").suspend();
[325]442  }
443 
[432]444  bool cxios_is_defined_field_unit(field_Ptr field_hdl )
445  {
446     CTimer::get("XIOS").resume();
[445]447    return field_hdl->unit.hasInheritedValue();
[432]448     CTimer::get("XIOS").suspend();
449  }
[325]450 
451 
[432]452 
[463]453  void cxios_set_field_valid_max(field_Ptr field_hdl, double valid_max)
454  {
455     CTimer::get("XIOS").resume();
456    field_hdl->valid_max.setValue(valid_max);
457     CTimer::get("XIOS").suspend();
458  }
[432]459 
[463]460  void cxios_get_field_valid_max(field_Ptr field_hdl, double* valid_max)
461  {
462    *valid_max = field_hdl->valid_max.getInheritedValue();
463  }
464 
465  bool cxios_is_defined_field_valid_max(field_Ptr field_hdl )
466  {
467     CTimer::get("XIOS").resume();
468    return field_hdl->valid_max.hasInheritedValue();
469     CTimer::get("XIOS").suspend();
470  }
471 
472 
473 
474  void cxios_set_field_valid_min(field_Ptr field_hdl, double valid_min)
475  {
476     CTimer::get("XIOS").resume();
477    field_hdl->valid_min.setValue(valid_min);
478     CTimer::get("XIOS").suspend();
479  }
480 
481  void cxios_get_field_valid_min(field_Ptr field_hdl, double* valid_min)
482  {
483    *valid_min = field_hdl->valid_min.getInheritedValue();
484  }
485 
486  bool cxios_is_defined_field_valid_min(field_Ptr field_hdl )
487  {
488     CTimer::get("XIOS").resume();
489    return field_hdl->valid_min.hasInheritedValue();
490     CTimer::get("XIOS").suspend();
491  }
492 
493 
494 
495 
[325]496}
Note: See TracBrowser for help on using the repository browser.