source: XIOS/dev/branch_yushan_merged/src/interface/c_attr/icfield_attr.cpp @ 1205

Last change on this file since 1205 was 1205, checked in by yushan, 7 years ago

branch merged with trunk @1200

  • 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: 26.5 KB
RevLine 
[325]1/* ************************************************************************** *
[581]2 *               Interface auto generated - do not modify                     *
[325]3 * ************************************************************************** */
4
5#include <boost/multi_array.hpp>
6#include <boost/shared_ptr.hpp>
[591]7#include "xios.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{
[581]18  typedef xios::CField* field_Ptr;
19
[464]20  void cxios_set_field_add_offset(field_Ptr field_hdl, double add_offset)
21  {
[581]22    CTimer::get("XIOS").resume();
[464]23    field_hdl->add_offset.setValue(add_offset);
[581]24    CTimer::get("XIOS").suspend();
[464]25  }
[581]26
[464]27  void cxios_get_field_add_offset(field_Ptr field_hdl, double* add_offset)
28  {
[581]29    CTimer::get("XIOS").resume();
[464]30    *add_offset = field_hdl->add_offset.getInheritedValue();
[581]31    CTimer::get("XIOS").suspend();
[464]32  }
[581]33
34  bool cxios_is_defined_field_add_offset(field_Ptr field_hdl)
[464]35  {
36     CTimer::get("XIOS").resume();
[581]37     bool isDefined = field_hdl->add_offset.hasInheritedValue();
[464]38     CTimer::get("XIOS").suspend();
[581]39     return isDefined;
[464]40  }
[581]41
42
[325]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;
[581]46    if (!cstr2string(axis_ref, axis_ref_size, axis_ref_str)) return;
47    CTimer::get("XIOS").resume();
[325]48    field_hdl->axis_ref.setValue(axis_ref_str);
[581]49    CTimer::get("XIOS").suspend();
[325]50  }
[581]51
[325]52  void cxios_get_field_axis_ref(field_Ptr field_hdl, char * axis_ref, int axis_ref_size)
53  {
[581]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();
[325]58  }
[581]59
60  bool cxios_is_defined_field_axis_ref(field_Ptr field_hdl)
[432]61  {
62     CTimer::get("XIOS").resume();
[581]63     bool isDefined = field_hdl->axis_ref.hasInheritedValue();
[432]64     CTimer::get("XIOS").suspend();
[581]65     return isDefined;
[432]66  }
[581]67
68
[991]69  void cxios_set_field_cell_methods(field_Ptr field_hdl, const char * cell_methods, int cell_methods_size)
70  {
71    std::string cell_methods_str;
72    if (!cstr2string(cell_methods, cell_methods_size, cell_methods_str)) return;
73    CTimer::get("XIOS").resume();
74    field_hdl->cell_methods.setValue(cell_methods_str);
75    CTimer::get("XIOS").suspend();
76  }
77
78  void cxios_get_field_cell_methods(field_Ptr field_hdl, char * cell_methods, int cell_methods_size)
79  {
80    CTimer::get("XIOS").resume();
81    if (!string_copy(field_hdl->cell_methods.getInheritedValue(), cell_methods, cell_methods_size))
82      ERROR("void cxios_get_field_cell_methods(field_Ptr field_hdl, char * cell_methods, int cell_methods_size)", << "Input string is too short");
83    CTimer::get("XIOS").suspend();
84  }
85
86  bool cxios_is_defined_field_cell_methods(field_Ptr field_hdl)
87  {
88     CTimer::get("XIOS").resume();
89     bool isDefined = field_hdl->cell_methods.hasInheritedValue();
90     CTimer::get("XIOS").suspend();
91     return isDefined;
92  }
93
94
95  void cxios_set_field_cell_methods_mode(field_Ptr field_hdl, const char * cell_methods_mode, int cell_methods_mode_size)
96  {
97    std::string cell_methods_mode_str;
98    if (!cstr2string(cell_methods_mode, cell_methods_mode_size, cell_methods_mode_str)) return;
99    CTimer::get("XIOS").resume();
100    field_hdl->cell_methods_mode.fromString(cell_methods_mode_str);
101    CTimer::get("XIOS").suspend();
102  }
103
104  void cxios_get_field_cell_methods_mode(field_Ptr field_hdl, char * cell_methods_mode, int cell_methods_mode_size)
105  {
106    CTimer::get("XIOS").resume();
107    if (!string_copy(field_hdl->cell_methods_mode.getInheritedStringValue(), cell_methods_mode, cell_methods_mode_size))
108      ERROR("void cxios_get_field_cell_methods_mode(field_Ptr field_hdl, char * cell_methods_mode, int cell_methods_mode_size)", << "Input string is too short");
109    CTimer::get("XIOS").suspend();
110  }
111
112  bool cxios_is_defined_field_cell_methods_mode(field_Ptr field_hdl)
113  {
114     CTimer::get("XIOS").resume();
115     bool isDefined = field_hdl->cell_methods_mode.hasInheritedValue();
116     CTimer::get("XIOS").suspend();
117     return isDefined;
118  }
119
120
[1205]121  void cxios_set_field_check_if_active(field_Ptr field_hdl, bool check_if_active)
122  {
123    CTimer::get("XIOS").resume();
124    field_hdl->check_if_active.setValue(check_if_active);
125    CTimer::get("XIOS").suspend();
126  }
127
128  void cxios_get_field_check_if_active(field_Ptr field_hdl, bool* check_if_active)
129  {
130    CTimer::get("XIOS").resume();
131    *check_if_active = field_hdl->check_if_active.getInheritedValue();
132    CTimer::get("XIOS").suspend();
133  }
134
135  bool cxios_is_defined_field_check_if_active(field_Ptr field_hdl)
136  {
137     CTimer::get("XIOS").resume();
138     bool isDefined = field_hdl->check_if_active.hasInheritedValue();
139     CTimer::get("XIOS").suspend();
140     return isDefined;
141  }
142
143
[608]144  void cxios_set_field_compression_level(field_Ptr field_hdl, int compression_level)
145  {
146    CTimer::get("XIOS").resume();
147    field_hdl->compression_level.setValue(compression_level);
148    CTimer::get("XIOS").suspend();
149  }
150
151  void cxios_get_field_compression_level(field_Ptr field_hdl, int* compression_level)
152  {
153    CTimer::get("XIOS").resume();
154    *compression_level = field_hdl->compression_level.getInheritedValue();
155    CTimer::get("XIOS").suspend();
156  }
157
158  bool cxios_is_defined_field_compression_level(field_Ptr field_hdl)
159  {
160     CTimer::get("XIOS").resume();
161     bool isDefined = field_hdl->compression_level.hasInheritedValue();
162     CTimer::get("XIOS").suspend();
163     return isDefined;
164  }
165
166
[325]167  void cxios_set_field_default_value(field_Ptr field_hdl, double default_value)
168  {
[581]169    CTimer::get("XIOS").resume();
[325]170    field_hdl->default_value.setValue(default_value);
[581]171    CTimer::get("XIOS").suspend();
[325]172  }
[581]173
[325]174  void cxios_get_field_default_value(field_Ptr field_hdl, double* default_value)
175  {
[581]176    CTimer::get("XIOS").resume();
[445]177    *default_value = field_hdl->default_value.getInheritedValue();
[581]178    CTimer::get("XIOS").suspend();
[325]179  }
[581]180
181  bool cxios_is_defined_field_default_value(field_Ptr field_hdl)
[432]182  {
183     CTimer::get("XIOS").resume();
[581]184     bool isDefined = field_hdl->default_value.hasInheritedValue();
[432]185     CTimer::get("XIOS").suspend();
[581]186     return isDefined;
[432]187  }
[581]188
189
[472]190  void cxios_set_field_detect_missing_value(field_Ptr field_hdl, bool detect_missing_value)
191  {
[581]192    CTimer::get("XIOS").resume();
[472]193    field_hdl->detect_missing_value.setValue(detect_missing_value);
[581]194    CTimer::get("XIOS").suspend();
[472]195  }
[581]196
[472]197  void cxios_get_field_detect_missing_value(field_Ptr field_hdl, bool* detect_missing_value)
198  {
[581]199    CTimer::get("XIOS").resume();
[472]200    *detect_missing_value = field_hdl->detect_missing_value.getInheritedValue();
[581]201    CTimer::get("XIOS").suspend();
[472]202  }
[581]203
204  bool cxios_is_defined_field_detect_missing_value(field_Ptr field_hdl)
[472]205  {
206     CTimer::get("XIOS").resume();
[581]207     bool isDefined = field_hdl->detect_missing_value.hasInheritedValue();
[472]208     CTimer::get("XIOS").suspend();
[581]209     return isDefined;
[472]210  }
[581]211
212
[325]213  void cxios_set_field_domain_ref(field_Ptr field_hdl, const char * domain_ref, int domain_ref_size)
214  {
215    std::string domain_ref_str;
[581]216    if (!cstr2string(domain_ref, domain_ref_size, domain_ref_str)) return;
217    CTimer::get("XIOS").resume();
[325]218    field_hdl->domain_ref.setValue(domain_ref_str);
[581]219    CTimer::get("XIOS").suspend();
[325]220  }
[581]221
[325]222  void cxios_get_field_domain_ref(field_Ptr field_hdl, char * domain_ref, int domain_ref_size)
223  {
[581]224    CTimer::get("XIOS").resume();
225    if (!string_copy(field_hdl->domain_ref.getInheritedValue(), domain_ref, domain_ref_size))
226      ERROR("void cxios_get_field_domain_ref(field_Ptr field_hdl, char * domain_ref, int domain_ref_size)", << "Input string is too short");
227    CTimer::get("XIOS").suspend();
[325]228  }
[581]229
230  bool cxios_is_defined_field_domain_ref(field_Ptr field_hdl)
[432]231  {
232     CTimer::get("XIOS").resume();
[581]233     bool isDefined = field_hdl->domain_ref.hasInheritedValue();
[432]234     CTimer::get("XIOS").suspend();
[581]235     return isDefined;
[432]236  }
[581]237
238
[325]239  void cxios_set_field_enabled(field_Ptr field_hdl, bool enabled)
240  {
[581]241    CTimer::get("XIOS").resume();
[325]242    field_hdl->enabled.setValue(enabled);
[581]243    CTimer::get("XIOS").suspend();
[325]244  }
[581]245
[325]246  void cxios_get_field_enabled(field_Ptr field_hdl, bool* enabled)
247  {
[581]248    CTimer::get("XIOS").resume();
[445]249    *enabled = field_hdl->enabled.getInheritedValue();
[581]250    CTimer::get("XIOS").suspend();
[325]251  }
[581]252
253  bool cxios_is_defined_field_enabled(field_Ptr field_hdl)
[432]254  {
255     CTimer::get("XIOS").resume();
[581]256     bool isDefined = field_hdl->enabled.hasInheritedValue();
[432]257     CTimer::get("XIOS").suspend();
[581]258     return isDefined;
[432]259  }
[581]260
261
[1005]262  void cxios_set_field_expr(field_Ptr field_hdl, const char * expr, int expr_size)
263  {
264    std::string expr_str;
265    if (!cstr2string(expr, expr_size, expr_str)) return;
266    CTimer::get("XIOS").resume();
267    field_hdl->expr.setValue(expr_str);
268    CTimer::get("XIOS").suspend();
269  }
270
271  void cxios_get_field_expr(field_Ptr field_hdl, char * expr, int expr_size)
272  {
273    CTimer::get("XIOS").resume();
274    if (!string_copy(field_hdl->expr.getInheritedValue(), expr, expr_size))
275      ERROR("void cxios_get_field_expr(field_Ptr field_hdl, char * expr, int expr_size)", << "Input string is too short");
276    CTimer::get("XIOS").suspend();
277  }
278
279  bool cxios_is_defined_field_expr(field_Ptr field_hdl)
280  {
281     CTimer::get("XIOS").resume();
282     bool isDefined = field_hdl->expr.hasInheritedValue();
283     CTimer::get("XIOS").suspend();
284     return isDefined;
285  }
286
287
[325]288  void cxios_set_field_field_ref(field_Ptr field_hdl, const char * field_ref, int field_ref_size)
289  {
290    std::string field_ref_str;
[581]291    if (!cstr2string(field_ref, field_ref_size, field_ref_str)) return;
292    CTimer::get("XIOS").resume();
[325]293    field_hdl->field_ref.setValue(field_ref_str);
[581]294    CTimer::get("XIOS").suspend();
[325]295  }
[581]296
[325]297  void cxios_get_field_field_ref(field_Ptr field_hdl, char * field_ref, int field_ref_size)
298  {
[581]299    CTimer::get("XIOS").resume();
300    if (!string_copy(field_hdl->field_ref.getInheritedValue(), field_ref, field_ref_size))
301      ERROR("void cxios_get_field_field_ref(field_Ptr field_hdl, char * field_ref, int field_ref_size)", << "Input string is too short");
302    CTimer::get("XIOS").suspend();
[325]303  }
[581]304
305  bool cxios_is_defined_field_field_ref(field_Ptr field_hdl)
[432]306  {
307     CTimer::get("XIOS").resume();
[581]308     bool isDefined = field_hdl->field_ref.hasInheritedValue();
[432]309     CTimer::get("XIOS").suspend();
[581]310     return isDefined;
[432]311  }
[581]312
313
[538]314  void cxios_set_field_freq_offset(field_Ptr field_hdl, cxios_duration freq_offset_c)
[325]315  {
[538]316    CTimer::get("XIOS").resume();
317    field_hdl->freq_offset.allocate();
318    CDuration& freq_offset = field_hdl->freq_offset.get();
319    freq_offset.year = freq_offset_c.year;
320    freq_offset.month = freq_offset_c.month;
321    freq_offset.day = freq_offset_c.day;
322    freq_offset.hour = freq_offset_c.hour;
323    freq_offset.minute = freq_offset_c.minute;
324    freq_offset.second = freq_offset_c.second;
325    freq_offset.timestep = freq_offset_c.timestep;
326    CTimer::get("XIOS").suspend();
[325]327  }
[581]328
[538]329  void cxios_get_field_freq_offset(field_Ptr field_hdl, cxios_duration* freq_offset_c)
[325]330  {
[538]331    CTimer::get("XIOS").resume();
332    CDuration freq_offset = field_hdl->freq_offset.getInheritedValue();
333    freq_offset_c->year = freq_offset.year;
334    freq_offset_c->month = freq_offset.month;
335    freq_offset_c->day = freq_offset.day;
336    freq_offset_c->hour = freq_offset.hour;
337    freq_offset_c->minute = freq_offset.minute;
338    freq_offset_c->second = freq_offset.second;
339    freq_offset_c->timestep = freq_offset.timestep;
340    CTimer::get("XIOS").suspend();
[325]341  }
[581]342
343  bool cxios_is_defined_field_freq_offset(field_Ptr field_hdl)
[432]344  {
345     CTimer::get("XIOS").resume();
[581]346     bool isDefined = field_hdl->freq_offset.hasInheritedValue();
[432]347     CTimer::get("XIOS").suspend();
[581]348     return isDefined;
[432]349  }
[581]350
351
[538]352  void cxios_set_field_freq_op(field_Ptr field_hdl, cxios_duration freq_op_c)
[325]353  {
[538]354    CTimer::get("XIOS").resume();
355    field_hdl->freq_op.allocate();
356    CDuration& freq_op = field_hdl->freq_op.get();
357    freq_op.year = freq_op_c.year;
358    freq_op.month = freq_op_c.month;
359    freq_op.day = freq_op_c.day;
360    freq_op.hour = freq_op_c.hour;
361    freq_op.minute = freq_op_c.minute;
362    freq_op.second = freq_op_c.second;
363    freq_op.timestep = freq_op_c.timestep;
364    CTimer::get("XIOS").suspend();
[325]365  }
[581]366
[538]367  void cxios_get_field_freq_op(field_Ptr field_hdl, cxios_duration* freq_op_c)
[325]368  {
[538]369    CTimer::get("XIOS").resume();
370    CDuration freq_op = field_hdl->freq_op.getInheritedValue();
371    freq_op_c->year = freq_op.year;
372    freq_op_c->month = freq_op.month;
373    freq_op_c->day = freq_op.day;
374    freq_op_c->hour = freq_op.hour;
375    freq_op_c->minute = freq_op.minute;
376    freq_op_c->second = freq_op.second;
377    freq_op_c->timestep = freq_op.timestep;
378    CTimer::get("XIOS").suspend();
[325]379  }
[581]380
381  bool cxios_is_defined_field_freq_op(field_Ptr field_hdl)
[432]382  {
383     CTimer::get("XIOS").resume();
[581]384     bool isDefined = field_hdl->freq_op.hasInheritedValue();
[432]385     CTimer::get("XIOS").suspend();
[581]386     return isDefined;
[432]387  }
[581]388
389
[790]390  void cxios_set_field_grid_path(field_Ptr field_hdl, const char * grid_path, int grid_path_size)
391  {
392    std::string grid_path_str;
393    if (!cstr2string(grid_path, grid_path_size, grid_path_str)) return;
394    CTimer::get("XIOS").resume();
395    field_hdl->grid_path.setValue(grid_path_str);
396    CTimer::get("XIOS").suspend();
397  }
398
399  void cxios_get_field_grid_path(field_Ptr field_hdl, char * grid_path, int grid_path_size)
400  {
401    CTimer::get("XIOS").resume();
402    if (!string_copy(field_hdl->grid_path.getInheritedValue(), grid_path, grid_path_size))
403      ERROR("void cxios_get_field_grid_path(field_Ptr field_hdl, char * grid_path, int grid_path_size)", << "Input string is too short");
404    CTimer::get("XIOS").suspend();
405  }
406
407  bool cxios_is_defined_field_grid_path(field_Ptr field_hdl)
408  {
409     CTimer::get("XIOS").resume();
410     bool isDefined = field_hdl->grid_path.hasInheritedValue();
411     CTimer::get("XIOS").suspend();
412     return isDefined;
413  }
414
415
[325]416  void cxios_set_field_grid_ref(field_Ptr field_hdl, const char * grid_ref, int grid_ref_size)
417  {
418    std::string grid_ref_str;
[581]419    if (!cstr2string(grid_ref, grid_ref_size, grid_ref_str)) return;
420    CTimer::get("XIOS").resume();
[325]421    field_hdl->grid_ref.setValue(grid_ref_str);
[581]422    CTimer::get("XIOS").suspend();
[325]423  }
[581]424
[325]425  void cxios_get_field_grid_ref(field_Ptr field_hdl, char * grid_ref, int grid_ref_size)
426  {
[581]427    CTimer::get("XIOS").resume();
428    if (!string_copy(field_hdl->grid_ref.getInheritedValue(), grid_ref, grid_ref_size))
429      ERROR("void cxios_get_field_grid_ref(field_Ptr field_hdl, char * grid_ref, int grid_ref_size)", << "Input string is too short");
430    CTimer::get("XIOS").suspend();
[325]431  }
[581]432
433  bool cxios_is_defined_field_grid_ref(field_Ptr field_hdl)
[432]434  {
435     CTimer::get("XIOS").resume();
[581]436     bool isDefined = field_hdl->grid_ref.hasInheritedValue();
[432]437     CTimer::get("XIOS").suspend();
[581]438     return isDefined;
[432]439  }
[581]440
441
[676]442  void cxios_set_field_indexed_output(field_Ptr field_hdl, bool indexed_output)
443  {
444    CTimer::get("XIOS").resume();
445    field_hdl->indexed_output.setValue(indexed_output);
446    CTimer::get("XIOS").suspend();
447  }
448
449  void cxios_get_field_indexed_output(field_Ptr field_hdl, bool* indexed_output)
450  {
451    CTimer::get("XIOS").resume();
452    *indexed_output = field_hdl->indexed_output.getInheritedValue();
453    CTimer::get("XIOS").suspend();
454  }
455
456  bool cxios_is_defined_field_indexed_output(field_Ptr field_hdl)
457  {
458     CTimer::get("XIOS").resume();
459     bool isDefined = field_hdl->indexed_output.hasInheritedValue();
460     CTimer::get("XIOS").suspend();
461     return isDefined;
462  }
463
464
[325]465  void cxios_set_field_level(field_Ptr field_hdl, int level)
466  {
[581]467    CTimer::get("XIOS").resume();
[325]468    field_hdl->level.setValue(level);
[581]469    CTimer::get("XIOS").suspend();
[325]470  }
[581]471
[325]472  void cxios_get_field_level(field_Ptr field_hdl, int* level)
473  {
[581]474    CTimer::get("XIOS").resume();
[445]475    *level = field_hdl->level.getInheritedValue();
[581]476    CTimer::get("XIOS").suspend();
[325]477  }
[581]478
479  bool cxios_is_defined_field_level(field_Ptr field_hdl)
[432]480  {
481     CTimer::get("XIOS").resume();
[581]482     bool isDefined = field_hdl->level.hasInheritedValue();
[432]483     CTimer::get("XIOS").suspend();
[581]484     return isDefined;
[432]485  }
[581]486
487
[325]488  void cxios_set_field_long_name(field_Ptr field_hdl, const char * long_name, int long_name_size)
489  {
490    std::string long_name_str;
[581]491    if (!cstr2string(long_name, long_name_size, long_name_str)) return;
492    CTimer::get("XIOS").resume();
[325]493    field_hdl->long_name.setValue(long_name_str);
[581]494    CTimer::get("XIOS").suspend();
[325]495  }
[581]496
[325]497  void cxios_get_field_long_name(field_Ptr field_hdl, char * long_name, int long_name_size)
498  {
[581]499    CTimer::get("XIOS").resume();
500    if (!string_copy(field_hdl->long_name.getInheritedValue(), long_name, long_name_size))
501      ERROR("void cxios_get_field_long_name(field_Ptr field_hdl, char * long_name, int long_name_size)", << "Input string is too short");
502    CTimer::get("XIOS").suspend();
[325]503  }
[581]504
505  bool cxios_is_defined_field_long_name(field_Ptr field_hdl)
[432]506  {
507     CTimer::get("XIOS").resume();
[581]508     bool isDefined = field_hdl->long_name.hasInheritedValue();
[432]509     CTimer::get("XIOS").suspend();
[581]510     return isDefined;
[432]511  }
[581]512
513
[325]514  void cxios_set_field_name(field_Ptr field_hdl, const char * name, int name_size)
515  {
516    std::string name_str;
[581]517    if (!cstr2string(name, name_size, name_str)) return;
518    CTimer::get("XIOS").resume();
[325]519    field_hdl->name.setValue(name_str);
[581]520    CTimer::get("XIOS").suspend();
[325]521  }
[581]522
[325]523  void cxios_get_field_name(field_Ptr field_hdl, char * name, int name_size)
524  {
[581]525    CTimer::get("XIOS").resume();
526    if (!string_copy(field_hdl->name.getInheritedValue(), name, name_size))
527      ERROR("void cxios_get_field_name(field_Ptr field_hdl, char * name, int name_size)", << "Input string is too short");
528    CTimer::get("XIOS").suspend();
[325]529  }
[581]530
531  bool cxios_is_defined_field_name(field_Ptr field_hdl)
[432]532  {
533     CTimer::get("XIOS").resume();
[581]534     bool isDefined = field_hdl->name.hasInheritedValue();
[432]535     CTimer::get("XIOS").suspend();
[581]536     return isDefined;
[432]537  }
[581]538
539
[325]540  void cxios_set_field_operation(field_Ptr field_hdl, const char * operation, int operation_size)
541  {
542    std::string operation_str;
[581]543    if (!cstr2string(operation, operation_size, operation_str)) return;
544    CTimer::get("XIOS").resume();
[325]545    field_hdl->operation.setValue(operation_str);
[581]546    CTimer::get("XIOS").suspend();
[325]547  }
[581]548
[325]549  void cxios_get_field_operation(field_Ptr field_hdl, char * operation, int operation_size)
550  {
[581]551    CTimer::get("XIOS").resume();
552    if (!string_copy(field_hdl->operation.getInheritedValue(), operation, operation_size))
553      ERROR("void cxios_get_field_operation(field_Ptr field_hdl, char * operation, int operation_size)", << "Input string is too short");
554    CTimer::get("XIOS").suspend();
[325]555  }
[581]556
557  bool cxios_is_defined_field_operation(field_Ptr field_hdl)
[432]558  {
559     CTimer::get("XIOS").resume();
[581]560     bool isDefined = field_hdl->operation.hasInheritedValue();
[432]561     CTimer::get("XIOS").suspend();
[581]562     return isDefined;
[432]563  }
[581]564
565
[325]566  void cxios_set_field_prec(field_Ptr field_hdl, int prec)
567  {
[581]568    CTimer::get("XIOS").resume();
[325]569    field_hdl->prec.setValue(prec);
[581]570    CTimer::get("XIOS").suspend();
[325]571  }
[581]572
[325]573  void cxios_get_field_prec(field_Ptr field_hdl, int* prec)
574  {
[581]575    CTimer::get("XIOS").resume();
[445]576    *prec = field_hdl->prec.getInheritedValue();
[581]577    CTimer::get("XIOS").suspend();
[325]578  }
[581]579
580  bool cxios_is_defined_field_prec(field_Ptr field_hdl)
[432]581  {
582     CTimer::get("XIOS").resume();
[581]583     bool isDefined = field_hdl->prec.hasInheritedValue();
[432]584     CTimer::get("XIOS").suspend();
[581]585     return isDefined;
[432]586  }
[581]587
588
[593]589  void cxios_set_field_read_access(field_Ptr field_hdl, bool read_access)
590  {
591    CTimer::get("XIOS").resume();
592    field_hdl->read_access.setValue(read_access);
593    CTimer::get("XIOS").suspend();
594  }
595
596  void cxios_get_field_read_access(field_Ptr field_hdl, bool* read_access)
597  {
598    CTimer::get("XIOS").resume();
599    *read_access = field_hdl->read_access.getInheritedValue();
600    CTimer::get("XIOS").suspend();
601  }
602
603  bool cxios_is_defined_field_read_access(field_Ptr field_hdl)
604  {
605     CTimer::get("XIOS").resume();
606     bool isDefined = field_hdl->read_access.hasInheritedValue();
607     CTimer::get("XIOS").suspend();
608     return isDefined;
609  }
610
611
[891]612  void cxios_set_field_scalar_ref(field_Ptr field_hdl, const char * scalar_ref, int scalar_ref_size)
613  {
614    std::string scalar_ref_str;
615    if (!cstr2string(scalar_ref, scalar_ref_size, scalar_ref_str)) return;
616    CTimer::get("XIOS").resume();
617    field_hdl->scalar_ref.setValue(scalar_ref_str);
618    CTimer::get("XIOS").suspend();
619  }
620
621  void cxios_get_field_scalar_ref(field_Ptr field_hdl, char * scalar_ref, int scalar_ref_size)
622  {
623    CTimer::get("XIOS").resume();
624    if (!string_copy(field_hdl->scalar_ref.getInheritedValue(), scalar_ref, scalar_ref_size))
625      ERROR("void cxios_get_field_scalar_ref(field_Ptr field_hdl, char * scalar_ref, int scalar_ref_size)", << "Input string is too short");
626    CTimer::get("XIOS").suspend();
627  }
628
629  bool cxios_is_defined_field_scalar_ref(field_Ptr field_hdl)
630  {
631     CTimer::get("XIOS").resume();
632     bool isDefined = field_hdl->scalar_ref.hasInheritedValue();
633     CTimer::get("XIOS").suspend();
634     return isDefined;
635  }
636
637
[464]638  void cxios_set_field_scale_factor(field_Ptr field_hdl, double scale_factor)
639  {
[581]640    CTimer::get("XIOS").resume();
[464]641    field_hdl->scale_factor.setValue(scale_factor);
[581]642    CTimer::get("XIOS").suspend();
[464]643  }
[581]644
[464]645  void cxios_get_field_scale_factor(field_Ptr field_hdl, double* scale_factor)
646  {
[581]647    CTimer::get("XIOS").resume();
[464]648    *scale_factor = field_hdl->scale_factor.getInheritedValue();
[581]649    CTimer::get("XIOS").suspend();
[464]650  }
[581]651
652  bool cxios_is_defined_field_scale_factor(field_Ptr field_hdl)
[464]653  {
654     CTimer::get("XIOS").resume();
[581]655     bool isDefined = field_hdl->scale_factor.hasInheritedValue();
[464]656     CTimer::get("XIOS").suspend();
[581]657     return isDefined;
[464]658  }
[581]659
660
[325]661  void cxios_set_field_standard_name(field_Ptr field_hdl, const char * standard_name, int standard_name_size)
662  {
663    std::string standard_name_str;
[581]664    if (!cstr2string(standard_name, standard_name_size, standard_name_str)) return;
665    CTimer::get("XIOS").resume();
[325]666    field_hdl->standard_name.setValue(standard_name_str);
[581]667    CTimer::get("XIOS").suspend();
[325]668  }
[581]669
[325]670  void cxios_get_field_standard_name(field_Ptr field_hdl, char * standard_name, int standard_name_size)
671  {
[581]672    CTimer::get("XIOS").resume();
673    if (!string_copy(field_hdl->standard_name.getInheritedValue(), standard_name, standard_name_size))
674      ERROR("void cxios_get_field_standard_name(field_Ptr field_hdl, char * standard_name, int standard_name_size)", << "Input string is too short");
675    CTimer::get("XIOS").suspend();
[325]676  }
[581]677
678  bool cxios_is_defined_field_standard_name(field_Ptr field_hdl)
[432]679  {
680     CTimer::get("XIOS").resume();
[581]681     bool isDefined = field_hdl->standard_name.hasInheritedValue();
[432]682     CTimer::get("XIOS").suspend();
[581]683     return isDefined;
[432]684  }
[581]685
686
[711]687  void cxios_set_field_ts_enabled(field_Ptr field_hdl, bool ts_enabled)
688  {
689    CTimer::get("XIOS").resume();
690    field_hdl->ts_enabled.setValue(ts_enabled);
691    CTimer::get("XIOS").suspend();
692  }
693
694  void cxios_get_field_ts_enabled(field_Ptr field_hdl, bool* ts_enabled)
695  {
696    CTimer::get("XIOS").resume();
697    *ts_enabled = field_hdl->ts_enabled.getInheritedValue();
698    CTimer::get("XIOS").suspend();
699  }
700
701  bool cxios_is_defined_field_ts_enabled(field_Ptr field_hdl)
702  {
703     CTimer::get("XIOS").resume();
704     bool isDefined = field_hdl->ts_enabled.hasInheritedValue();
705     CTimer::get("XIOS").suspend();
706     return isDefined;
707  }
708
709
710  void cxios_set_field_ts_split_freq(field_Ptr field_hdl, cxios_duration ts_split_freq_c)
711  {
712    CTimer::get("XIOS").resume();
713    field_hdl->ts_split_freq.allocate();
714    CDuration& ts_split_freq = field_hdl->ts_split_freq.get();
715    ts_split_freq.year = ts_split_freq_c.year;
716    ts_split_freq.month = ts_split_freq_c.month;
717    ts_split_freq.day = ts_split_freq_c.day;
718    ts_split_freq.hour = ts_split_freq_c.hour;
719    ts_split_freq.minute = ts_split_freq_c.minute;
720    ts_split_freq.second = ts_split_freq_c.second;
721    ts_split_freq.timestep = ts_split_freq_c.timestep;
722    CTimer::get("XIOS").suspend();
723  }
724
725  void cxios_get_field_ts_split_freq(field_Ptr field_hdl, cxios_duration* ts_split_freq_c)
726  {
727    CTimer::get("XIOS").resume();
728    CDuration ts_split_freq = field_hdl->ts_split_freq.getInheritedValue();
729    ts_split_freq_c->year = ts_split_freq.year;
730    ts_split_freq_c->month = ts_split_freq.month;
731    ts_split_freq_c->day = ts_split_freq.day;
732    ts_split_freq_c->hour = ts_split_freq.hour;
733    ts_split_freq_c->minute = ts_split_freq.minute;
734    ts_split_freq_c->second = ts_split_freq.second;
735    ts_split_freq_c->timestep = ts_split_freq.timestep;
736    CTimer::get("XIOS").suspend();
737  }
738
739  bool cxios_is_defined_field_ts_split_freq(field_Ptr field_hdl)
740  {
741     CTimer::get("XIOS").resume();
742     bool isDefined = field_hdl->ts_split_freq.hasInheritedValue();
743     CTimer::get("XIOS").suspend();
744     return isDefined;
745  }
746
747
[325]748  void cxios_set_field_unit(field_Ptr field_hdl, const char * unit, int unit_size)
749  {
750    std::string unit_str;
[581]751    if (!cstr2string(unit, unit_size, unit_str)) return;
752    CTimer::get("XIOS").resume();
[325]753    field_hdl->unit.setValue(unit_str);
[581]754    CTimer::get("XIOS").suspend();
[325]755  }
[581]756
[325]757  void cxios_get_field_unit(field_Ptr field_hdl, char * unit, int unit_size)
758  {
[581]759    CTimer::get("XIOS").resume();
760    if (!string_copy(field_hdl->unit.getInheritedValue(), unit, unit_size))
761      ERROR("void cxios_get_field_unit(field_Ptr field_hdl, char * unit, int unit_size)", << "Input string is too short");
762    CTimer::get("XIOS").suspend();
[325]763  }
[581]764
765  bool cxios_is_defined_field_unit(field_Ptr field_hdl)
[432]766  {
767     CTimer::get("XIOS").resume();
[581]768     bool isDefined = field_hdl->unit.hasInheritedValue();
[432]769     CTimer::get("XIOS").suspend();
[581]770     return isDefined;
[432]771  }
[581]772
773
[463]774  void cxios_set_field_valid_max(field_Ptr field_hdl, double valid_max)
775  {
[581]776    CTimer::get("XIOS").resume();
[463]777    field_hdl->valid_max.setValue(valid_max);
[581]778    CTimer::get("XIOS").suspend();
[463]779  }
[581]780
[463]781  void cxios_get_field_valid_max(field_Ptr field_hdl, double* valid_max)
782  {
[581]783    CTimer::get("XIOS").resume();
[463]784    *valid_max = field_hdl->valid_max.getInheritedValue();
[581]785    CTimer::get("XIOS").suspend();
[463]786  }
[581]787
788  bool cxios_is_defined_field_valid_max(field_Ptr field_hdl)
[463]789  {
790     CTimer::get("XIOS").resume();
[581]791     bool isDefined = field_hdl->valid_max.hasInheritedValue();
[463]792     CTimer::get("XIOS").suspend();
[581]793     return isDefined;
[463]794  }
[581]795
796
[463]797  void cxios_set_field_valid_min(field_Ptr field_hdl, double valid_min)
798  {
[581]799    CTimer::get("XIOS").resume();
[463]800    field_hdl->valid_min.setValue(valid_min);
[581]801    CTimer::get("XIOS").suspend();
[463]802  }
[581]803
[463]804  void cxios_get_field_valid_min(field_Ptr field_hdl, double* valid_min)
805  {
[581]806    CTimer::get("XIOS").resume();
[463]807    *valid_min = field_hdl->valid_min.getInheritedValue();
[581]808    CTimer::get("XIOS").suspend();
[463]809  }
[581]810
811  bool cxios_is_defined_field_valid_min(field_Ptr field_hdl)
[463]812  {
813     CTimer::get("XIOS").resume();
[581]814     bool isDefined = field_hdl->valid_min.hasInheritedValue();
[463]815     CTimer::get("XIOS").suspend();
[581]816     return isDefined;
[463]817  }
[325]818}
Note: See TracBrowser for help on using the repository browser.