source: XIOS/trunk/src/interface/c_attr/iccontext_attr.cpp @ 432

Last change on this file since 432 was 432, checked in by ymipsl, 11 years ago

Enhancement : Add fortran interface to know if an attribute is set or not
ex : CALL xios_is_defined_field_attr("field_A",enabled=ok)

YM

  • Property svn:eol-style set to native
File size: 5.6 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 "timer.hpp"
13#include "node_type.hpp"
14
15extern "C"
16{
17  typedef xios::CContext*  context_Ptr;
18 
19  void cxios_set_context_calendar_type(context_Ptr context_hdl, const char * calendar_type, int calendar_type_size)
20  {
21    std::string calendar_type_str;
22    if(!cstr2string(calendar_type, calendar_type_size, calendar_type_str)) return;
23     CTimer::get("XIOS").resume();
24    context_hdl->calendar_type.setValue(calendar_type_str);
25    context_hdl->sendAttributToServer(context_hdl->calendar_type);
26     CTimer::get("XIOS").suspend();
27  }
28 
29  void cxios_get_context_calendar_type(context_Ptr context_hdl, char * calendar_type, int calendar_type_size)
30  {
31     CTimer::get("XIOS").resume();
32    if(!string_copy(context_hdl->calendar_type.getValue(),calendar_type , calendar_type_size))
33      ERROR("void cxios_get_context_calendar_type(context_Ptr context_hdl, char * calendar_type, int calendar_type_size)", <<"Input string is to short");
34     CTimer::get("XIOS").suspend();
35  }
36 
37  bool cxios_is_defined_context_calendar_type(context_Ptr context_hdl )
38  {
39     CTimer::get("XIOS").resume();
40    return !context_hdl->calendar_type.isEmpty();
41     CTimer::get("XIOS").suspend();
42  }
43 
44 
45 
46  void cxios_set_context_output_dir(context_Ptr context_hdl, const char * output_dir, int output_dir_size)
47  {
48    std::string output_dir_str;
49    if(!cstr2string(output_dir, output_dir_size, output_dir_str)) return;
50     CTimer::get("XIOS").resume();
51    context_hdl->output_dir.setValue(output_dir_str);
52    context_hdl->sendAttributToServer(context_hdl->output_dir);
53     CTimer::get("XIOS").suspend();
54  }
55 
56  void cxios_get_context_output_dir(context_Ptr context_hdl, char * output_dir, int output_dir_size)
57  {
58     CTimer::get("XIOS").resume();
59    if(!string_copy(context_hdl->output_dir.getValue(),output_dir , output_dir_size))
60      ERROR("void cxios_get_context_output_dir(context_Ptr context_hdl, char * output_dir, int output_dir_size)", <<"Input string is to short");
61     CTimer::get("XIOS").suspend();
62  }
63 
64  bool cxios_is_defined_context_output_dir(context_Ptr context_hdl )
65  {
66     CTimer::get("XIOS").resume();
67    return !context_hdl->output_dir.isEmpty();
68     CTimer::get("XIOS").suspend();
69  }
70 
71 
72 
73  void cxios_set_context_start_date(context_Ptr context_hdl, const char * start_date, int start_date_size)
74  {
75    std::string start_date_str;
76    if(!cstr2string(start_date, start_date_size, start_date_str)) return;
77     CTimer::get("XIOS").resume();
78    context_hdl->start_date.setValue(start_date_str);
79    context_hdl->sendAttributToServer(context_hdl->start_date);
80     CTimer::get("XIOS").suspend();
81  }
82 
83  void cxios_get_context_start_date(context_Ptr context_hdl, char * start_date, int start_date_size)
84  {
85     CTimer::get("XIOS").resume();
86    if(!string_copy(context_hdl->start_date.getValue(),start_date , start_date_size))
87      ERROR("void cxios_get_context_start_date(context_Ptr context_hdl, char * start_date, int start_date_size)", <<"Input string is to short");
88     CTimer::get("XIOS").suspend();
89  }
90 
91  bool cxios_is_defined_context_start_date(context_Ptr context_hdl )
92  {
93     CTimer::get("XIOS").resume();
94    return !context_hdl->start_date.isEmpty();
95     CTimer::get("XIOS").suspend();
96  }
97 
98 
99 
100  void cxios_set_context_time_origin(context_Ptr context_hdl, const char * time_origin, int time_origin_size)
101  {
102    std::string time_origin_str;
103    if(!cstr2string(time_origin, time_origin_size, time_origin_str)) return;
104     CTimer::get("XIOS").resume();
105    context_hdl->time_origin.setValue(time_origin_str);
106    context_hdl->sendAttributToServer(context_hdl->time_origin);
107     CTimer::get("XIOS").suspend();
108  }
109 
110  void cxios_get_context_time_origin(context_Ptr context_hdl, char * time_origin, int time_origin_size)
111  {
112     CTimer::get("XIOS").resume();
113    if(!string_copy(context_hdl->time_origin.getValue(),time_origin , time_origin_size))
114      ERROR("void cxios_get_context_time_origin(context_Ptr context_hdl, char * time_origin, int time_origin_size)", <<"Input string is to short");
115     CTimer::get("XIOS").suspend();
116  }
117 
118  bool cxios_is_defined_context_time_origin(context_Ptr context_hdl )
119  {
120     CTimer::get("XIOS").resume();
121    return !context_hdl->time_origin.isEmpty();
122     CTimer::get("XIOS").suspend();
123  }
124 
125 
126 
127  void cxios_set_context_timestep(context_Ptr context_hdl, const char * timestep, int timestep_size)
128  {
129    std::string timestep_str;
130    if(!cstr2string(timestep, timestep_size, timestep_str)) return;
131     CTimer::get("XIOS").resume();
132    context_hdl->timestep.setValue(timestep_str);
133    context_hdl->sendAttributToServer(context_hdl->timestep);
134     CTimer::get("XIOS").suspend();
135  }
136 
137  void cxios_get_context_timestep(context_Ptr context_hdl, char * timestep, int timestep_size)
138  {
139     CTimer::get("XIOS").resume();
140    if(!string_copy(context_hdl->timestep.getValue(),timestep , timestep_size))
141      ERROR("void cxios_get_context_timestep(context_Ptr context_hdl, char * timestep, int timestep_size)", <<"Input string is to short");
142     CTimer::get("XIOS").suspend();
143  }
144 
145  bool cxios_is_defined_context_timestep(context_Ptr context_hdl )
146  {
147     CTimer::get("XIOS").resume();
148    return !context_hdl->timestep.isEmpty();
149     CTimer::get("XIOS").suspend();
150  }
151 
152 
153 
154 
155}
Note: See TracBrowser for help on using the repository browser.