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

Last change on this file since 532 was 532, checked in by rlacroix, 9 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
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    *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 
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;
45     CTimer::get("XIOS").resume();
46    field_hdl->axis_ref.setValue(axis_ref_str);
47     CTimer::get("XIOS").suspend();
48  }
49 
50  void cxios_get_field_axis_ref(field_Ptr field_hdl, char * axis_ref, int axis_ref_size)
51  {
52     CTimer::get("XIOS").resume();
53    if(!string_copy(field_hdl->axis_ref.getInheritedValue(),axis_ref , axis_ref_size))
54      ERROR("void cxios_get_field_axis_ref(field_Ptr field_hdl, char * axis_ref, int axis_ref_size)", <<"Input string is to short");
55     CTimer::get("XIOS").suspend();
56  }
57 
58  bool cxios_is_defined_field_axis_ref(field_Ptr field_hdl )
59  {
60     CTimer::get("XIOS").resume();
61    return field_hdl->axis_ref.hasInheritedValue();
62     CTimer::get("XIOS").suspend();
63  }
64 
65 
66 
67  void cxios_set_field_default_value(field_Ptr field_hdl, double default_value)
68  {
69     CTimer::get("XIOS").resume();
70    field_hdl->default_value.setValue(default_value);
71     CTimer::get("XIOS").suspend();
72  }
73 
74  void cxios_get_field_default_value(field_Ptr field_hdl, double* default_value)
75  {
76    *default_value = field_hdl->default_value.getInheritedValue();
77  }
78 
79  bool cxios_is_defined_field_default_value(field_Ptr field_hdl )
80  {
81     CTimer::get("XIOS").resume();
82    return field_hdl->default_value.hasInheritedValue();
83     CTimer::get("XIOS").suspend();
84  }
85 
86 
87 
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 
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;
113     CTimer::get("XIOS").resume();
114    field_hdl->domain_ref.setValue(domain_ref_str);
115     CTimer::get("XIOS").suspend();
116  }
117 
118  void cxios_get_field_domain_ref(field_Ptr field_hdl, char * domain_ref, int domain_ref_size)
119  {
120     CTimer::get("XIOS").resume();
121    if(!string_copy(field_hdl->domain_ref.getInheritedValue(),domain_ref , domain_ref_size))
122      ERROR("void cxios_get_field_domain_ref(field_Ptr field_hdl, char * domain_ref, int domain_ref_size)", <<"Input string is to short");
123     CTimer::get("XIOS").suspend();
124  }
125 
126  bool cxios_is_defined_field_domain_ref(field_Ptr field_hdl )
127  {
128     CTimer::get("XIOS").resume();
129    return field_hdl->domain_ref.hasInheritedValue();
130     CTimer::get("XIOS").suspend();
131  }
132 
133 
134 
135  void cxios_set_field_enabled(field_Ptr field_hdl, bool enabled)
136  {
137     CTimer::get("XIOS").resume();
138    field_hdl->enabled.setValue(enabled);
139     CTimer::get("XIOS").suspend();
140  }
141 
142  void cxios_get_field_enabled(field_Ptr field_hdl, bool* enabled)
143  {
144    *enabled = field_hdl->enabled.getInheritedValue();
145  }
146 
147  bool cxios_is_defined_field_enabled(field_Ptr field_hdl )
148  {
149     CTimer::get("XIOS").resume();
150    return field_hdl->enabled.hasInheritedValue();
151     CTimer::get("XIOS").suspend();
152  }
153 
154 
155 
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;
160     CTimer::get("XIOS").resume();
161    field_hdl->field_ref.setValue(field_ref_str);
162     CTimer::get("XIOS").suspend();
163  }
164 
165  void cxios_get_field_field_ref(field_Ptr field_hdl, char * field_ref, int field_ref_size)
166  {
167     CTimer::get("XIOS").resume();
168    if(!string_copy(field_hdl->field_ref.getInheritedValue(),field_ref , field_ref_size))
169      ERROR("void cxios_get_field_field_ref(field_Ptr field_hdl, char * field_ref, int field_ref_size)", <<"Input string is to short");
170     CTimer::get("XIOS").suspend();
171  }
172 
173  bool cxios_is_defined_field_field_ref(field_Ptr field_hdl )
174  {
175     CTimer::get("XIOS").resume();
176    return field_hdl->field_ref.hasInheritedValue();
177     CTimer::get("XIOS").suspend();
178  }
179 
180 
181 
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;
186     CTimer::get("XIOS").resume();
187    field_hdl->freq_offset.setValue(freq_offset_str);
188     CTimer::get("XIOS").suspend();
189  }
190 
191  void cxios_get_field_freq_offset(field_Ptr field_hdl, char * freq_offset, int freq_offset_size)
192  {
193     CTimer::get("XIOS").resume();
194    if(!string_copy(field_hdl->freq_offset.getInheritedValue(),freq_offset , freq_offset_size))
195      ERROR("void cxios_get_field_freq_offset(field_Ptr field_hdl, char * freq_offset, int freq_offset_size)", <<"Input string is to short");
196     CTimer::get("XIOS").suspend();
197  }
198 
199  bool cxios_is_defined_field_freq_offset(field_Ptr field_hdl )
200  {
201     CTimer::get("XIOS").resume();
202    return field_hdl->freq_offset.hasInheritedValue();
203     CTimer::get("XIOS").suspend();
204  }
205 
206 
207 
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;
212     CTimer::get("XIOS").resume();
213    field_hdl->freq_op.setValue(freq_op_str);
214     CTimer::get("XIOS").suspend();
215  }
216 
217  void cxios_get_field_freq_op(field_Ptr field_hdl, char * freq_op, int freq_op_size)
218  {
219     CTimer::get("XIOS").resume();
220    if(!string_copy(field_hdl->freq_op.getInheritedValue(),freq_op , freq_op_size))
221      ERROR("void cxios_get_field_freq_op(field_Ptr field_hdl, char * freq_op, int freq_op_size)", <<"Input string is to short");
222     CTimer::get("XIOS").suspend();
223  }
224 
225  bool cxios_is_defined_field_freq_op(field_Ptr field_hdl )
226  {
227     CTimer::get("XIOS").resume();
228    return field_hdl->freq_op.hasInheritedValue();
229     CTimer::get("XIOS").suspend();
230  }
231 
232 
233 
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;
238     CTimer::get("XIOS").resume();
239    field_hdl->grid_ref.setValue(grid_ref_str);
240     CTimer::get("XIOS").suspend();
241  }
242 
243  void cxios_get_field_grid_ref(field_Ptr field_hdl, char * grid_ref, int grid_ref_size)
244  {
245     CTimer::get("XIOS").resume();
246    if(!string_copy(field_hdl->grid_ref.getInheritedValue(),grid_ref , grid_ref_size))
247      ERROR("void cxios_get_field_grid_ref(field_Ptr field_hdl, char * grid_ref, int grid_ref_size)", <<"Input string is to short");
248     CTimer::get("XIOS").suspend();
249  }
250 
251  bool cxios_is_defined_field_grid_ref(field_Ptr field_hdl )
252  {
253     CTimer::get("XIOS").resume();
254    return field_hdl->grid_ref.hasInheritedValue();
255     CTimer::get("XIOS").suspend();
256  }
257 
258 
259 
260  void cxios_set_field_level(field_Ptr field_hdl, int level)
261  {
262     CTimer::get("XIOS").resume();
263    field_hdl->level.setValue(level);
264     CTimer::get("XIOS").suspend();
265  }
266 
267  void cxios_get_field_level(field_Ptr field_hdl, int* level)
268  {
269    *level = field_hdl->level.getInheritedValue();
270  }
271 
272  bool cxios_is_defined_field_level(field_Ptr field_hdl )
273  {
274     CTimer::get("XIOS").resume();
275    return field_hdl->level.hasInheritedValue();
276     CTimer::get("XIOS").suspend();
277  }
278 
279 
280 
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;
285     CTimer::get("XIOS").resume();
286    field_hdl->long_name.setValue(long_name_str);
287     CTimer::get("XIOS").suspend();
288  }
289 
290  void cxios_get_field_long_name(field_Ptr field_hdl, char * long_name, int long_name_size)
291  {
292     CTimer::get("XIOS").resume();
293    if(!string_copy(field_hdl->long_name.getInheritedValue(),long_name , long_name_size))
294      ERROR("void cxios_get_field_long_name(field_Ptr field_hdl, char * long_name, int long_name_size)", <<"Input string is to short");
295     CTimer::get("XIOS").suspend();
296  }
297 
298  bool cxios_is_defined_field_long_name(field_Ptr field_hdl )
299  {
300     CTimer::get("XIOS").resume();
301    return field_hdl->long_name.hasInheritedValue();
302     CTimer::get("XIOS").suspend();
303  }
304 
305 
306 
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;
311     CTimer::get("XIOS").resume();
312    field_hdl->name.setValue(name_str);
313     CTimer::get("XIOS").suspend();
314  }
315 
316  void cxios_get_field_name(field_Ptr field_hdl, char * name, int name_size)
317  {
318     CTimer::get("XIOS").resume();
319    if(!string_copy(field_hdl->name.getInheritedValue(),name , name_size))
320      ERROR("void cxios_get_field_name(field_Ptr field_hdl, char * name, int name_size)", <<"Input string is to short");
321     CTimer::get("XIOS").suspend();
322  }
323 
324  bool cxios_is_defined_field_name(field_Ptr field_hdl )
325  {
326     CTimer::get("XIOS").resume();
327    return field_hdl->name.hasInheritedValue();
328     CTimer::get("XIOS").suspend();
329  }
330 
331 
332 
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;
337     CTimer::get("XIOS").resume();
338    field_hdl->operation.setValue(operation_str);
339     CTimer::get("XIOS").suspend();
340  }
341 
342  void cxios_get_field_operation(field_Ptr field_hdl, char * operation, int operation_size)
343  {
344     CTimer::get("XIOS").resume();
345    if(!string_copy(field_hdl->operation.getInheritedValue(),operation , operation_size))
346      ERROR("void cxios_get_field_operation(field_Ptr field_hdl, char * operation, int operation_size)", <<"Input string is to short");
347     CTimer::get("XIOS").suspend();
348  }
349 
350  bool cxios_is_defined_field_operation(field_Ptr field_hdl )
351  {
352     CTimer::get("XIOS").resume();
353    return field_hdl->operation.hasInheritedValue();
354     CTimer::get("XIOS").suspend();
355  }
356 
357 
358 
359  void cxios_set_field_prec(field_Ptr field_hdl, int prec)
360  {
361     CTimer::get("XIOS").resume();
362    field_hdl->prec.setValue(prec);
363     CTimer::get("XIOS").suspend();
364  }
365 
366  void cxios_get_field_prec(field_Ptr field_hdl, int* prec)
367  {
368    *prec = field_hdl->prec.getInheritedValue();
369  }
370 
371  bool cxios_is_defined_field_prec(field_Ptr field_hdl )
372  {
373     CTimer::get("XIOS").resume();
374    return field_hdl->prec.hasInheritedValue();
375     CTimer::get("XIOS").suspend();
376  }
377 
378 
379 
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 
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;
405     CTimer::get("XIOS").resume();
406    field_hdl->standard_name.setValue(standard_name_str);
407     CTimer::get("XIOS").suspend();
408  }
409 
410  void cxios_get_field_standard_name(field_Ptr field_hdl, char * standard_name, int standard_name_size)
411  {
412     CTimer::get("XIOS").resume();
413    if(!string_copy(field_hdl->standard_name.getInheritedValue(),standard_name , standard_name_size))
414      ERROR("void cxios_get_field_standard_name(field_Ptr field_hdl, char * standard_name, int standard_name_size)", <<"Input string is to short");
415     CTimer::get("XIOS").suspend();
416  }
417 
418  bool cxios_is_defined_field_standard_name(field_Ptr field_hdl )
419  {
420     CTimer::get("XIOS").resume();
421    return field_hdl->standard_name.hasInheritedValue();
422     CTimer::get("XIOS").suspend();
423  }
424 
425 
426 
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;
431     CTimer::get("XIOS").resume();
432    field_hdl->unit.setValue(unit_str);
433     CTimer::get("XIOS").suspend();
434  }
435 
436  void cxios_get_field_unit(field_Ptr field_hdl, char * unit, int unit_size)
437  {
438     CTimer::get("XIOS").resume();
439    if(!string_copy(field_hdl->unit.getInheritedValue(),unit , unit_size))
440      ERROR("void cxios_get_field_unit(field_Ptr field_hdl, char * unit, int unit_size)", <<"Input string is to short");
441     CTimer::get("XIOS").suspend();
442  }
443 
444  bool cxios_is_defined_field_unit(field_Ptr field_hdl )
445  {
446     CTimer::get("XIOS").resume();
447    return field_hdl->unit.hasInheritedValue();
448     CTimer::get("XIOS").suspend();
449  }
450 
451 
452 
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  }
459 
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 
496}
Note: See TracBrowser for help on using the repository browser.