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

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

Add possibility to make inheritance of attributes and reference before closing the context definition.
New fortran fonction : xios_solve inheritance()
After this call, the value of attribute have the inherited value of their parent.

YM

  • Property svn:eol-style set to native
File size: 5.7 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.getInheritedValue(),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.hasInheritedValue();
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.getInheritedValue(),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.hasInheritedValue();
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.getInheritedValue(),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.hasInheritedValue();
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.getInheritedValue(),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.hasInheritedValue();
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.getInheritedValue(),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.hasInheritedValue();
149     CTimer::get("XIOS").suspend();
150  }
151 
152 
153 
154 
155}
Note: See TracBrowser for help on using the repository browser.