New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
icaxisgroup_attr.cpp in vendors/XIOS/current/src/interface/c_attr – NEMO

source: vendors/XIOS/current/src/interface/c_attr/icaxisgroup_attr.cpp @ 3408

Last change on this file since 3408 was 3408, checked in by rblod, 12 years ago

importing initial XIOS vendor drop

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 5.6 KB
RevLine 
[3408]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_impl.hpp"
9#include "object_template_impl.hpp"
10#include "group_template_impl.hpp"
11#include "icutil.hpp"
12#include "timer.hpp"
13
14extern "C"
15{
16  typedef xios::CAxisGroup*  axisgroup_Ptr;
17 
18  void cxios_set_axisgroup_group_ref(axisgroup_Ptr axisgroup_hdl, const char * group_ref, int group_ref_size)
19  {
20    std::string group_ref_str;
21    if(!cstr2string(group_ref, group_ref_size, group_ref_str)) return;
22     CTimer::get("XIOS").resume();
23    axisgroup_hdl->group_ref.setValue(group_ref_str);
24    axisgroup_hdl->sendAttributToServer(axisgroup_hdl->group_ref);
25     CTimer::get("XIOS").suspend();
26  }
27 
28  void cxios_get_axisgroup_group_ref(axisgroup_Ptr axisgroup_hdl, char * group_ref, int group_ref_size)
29  {
30     CTimer::get("XIOS").resume();
31    if(!string_copy(axisgroup_hdl->group_ref.getValue(),group_ref , group_ref_size))
32      ERROR("void cxios_get_axisgroup_group_ref(axisgroup_Ptr axisgroup_hdl, char * group_ref, int group_ref_size)", <<"Input string is to short");
33     CTimer::get("XIOS").suspend();
34  }
35 
36 
37  void cxios_set_axisgroup_long_name(axisgroup_Ptr axisgroup_hdl, const char * long_name, int long_name_size)
38  {
39    std::string long_name_str;
40    if(!cstr2string(long_name, long_name_size, long_name_str)) return;
41     CTimer::get("XIOS").resume();
42    axisgroup_hdl->long_name.setValue(long_name_str);
43    axisgroup_hdl->sendAttributToServer(axisgroup_hdl->long_name);
44     CTimer::get("XIOS").suspend();
45  }
46 
47  void cxios_get_axisgroup_long_name(axisgroup_Ptr axisgroup_hdl, char * long_name, int long_name_size)
48  {
49     CTimer::get("XIOS").resume();
50    if(!string_copy(axisgroup_hdl->long_name.getValue(),long_name , long_name_size))
51      ERROR("void cxios_get_axisgroup_long_name(axisgroup_Ptr axisgroup_hdl, char * long_name, int long_name_size)", <<"Input string is to short");
52     CTimer::get("XIOS").suspend();
53  }
54 
55 
56  void cxios_set_axisgroup_name(axisgroup_Ptr axisgroup_hdl, const char * name, int name_size)
57  {
58    std::string name_str;
59    if(!cstr2string(name, name_size, name_str)) return;
60     CTimer::get("XIOS").resume();
61    axisgroup_hdl->name.setValue(name_str);
62    axisgroup_hdl->sendAttributToServer(axisgroup_hdl->name);
63     CTimer::get("XIOS").suspend();
64  }
65 
66  void cxios_get_axisgroup_name(axisgroup_Ptr axisgroup_hdl, char * name, int name_size)
67  {
68     CTimer::get("XIOS").resume();
69    if(!string_copy(axisgroup_hdl->name.getValue(),name , name_size))
70      ERROR("void cxios_get_axisgroup_name(axisgroup_Ptr axisgroup_hdl, char * name, int name_size)", <<"Input string is to short");
71     CTimer::get("XIOS").suspend();
72  }
73 
74 
75  void cxios_set_axisgroup_size(axisgroup_Ptr axisgroup_hdl, int size)
76  {
77     CTimer::get("XIOS").resume();
78    axisgroup_hdl->size.setValue(size);
79    axisgroup_hdl->sendAttributToServer(axisgroup_hdl->size);
80     CTimer::get("XIOS").suspend();
81  }
82 
83  void cxios_get_axisgroup_size(axisgroup_Ptr axisgroup_hdl, int* size)
84  {
85    *size = axisgroup_hdl->size.getValue();
86  }
87 
88 
89  void cxios_set_axisgroup_standard_name(axisgroup_Ptr axisgroup_hdl, const char * standard_name, int standard_name_size)
90  {
91    std::string standard_name_str;
92    if(!cstr2string(standard_name, standard_name_size, standard_name_str)) return;
93     CTimer::get("XIOS").resume();
94    axisgroup_hdl->standard_name.setValue(standard_name_str);
95    axisgroup_hdl->sendAttributToServer(axisgroup_hdl->standard_name);
96     CTimer::get("XIOS").suspend();
97  }
98 
99  void cxios_get_axisgroup_standard_name(axisgroup_Ptr axisgroup_hdl, char * standard_name, int standard_name_size)
100  {
101     CTimer::get("XIOS").resume();
102    if(!string_copy(axisgroup_hdl->standard_name.getValue(),standard_name , standard_name_size))
103      ERROR("void cxios_get_axisgroup_standard_name(axisgroup_Ptr axisgroup_hdl, char * standard_name, int standard_name_size)", <<"Input string is to short");
104     CTimer::get("XIOS").suspend();
105  }
106 
107 
108  void cxios_set_axisgroup_unit(axisgroup_Ptr axisgroup_hdl, const char * unit, int unit_size)
109  {
110    std::string unit_str;
111    if(!cstr2string(unit, unit_size, unit_str)) return;
112     CTimer::get("XIOS").resume();
113    axisgroup_hdl->unit.setValue(unit_str);
114    axisgroup_hdl->sendAttributToServer(axisgroup_hdl->unit);
115     CTimer::get("XIOS").suspend();
116  }
117 
118  void cxios_get_axisgroup_unit(axisgroup_Ptr axisgroup_hdl, char * unit, int unit_size)
119  {
120     CTimer::get("XIOS").resume();
121    if(!string_copy(axisgroup_hdl->unit.getValue(),unit , unit_size))
122      ERROR("void cxios_get_axisgroup_unit(axisgroup_Ptr axisgroup_hdl, char * unit, int unit_size)", <<"Input string is to short");
123     CTimer::get("XIOS").suspend();
124  }
125 
126 
127  void cxios_set_axisgroup_value(axisgroup_Ptr axisgroup_hdl, double* value, int extent1)
128  {
129     CTimer::get("XIOS").resume();
130    ARRAY(double,1) array_tmp(new CArray<double,1>(boost::extents[extent1]));
131    std::copy(value, &(value[array_tmp->num_elements()]), array_tmp->data());
132    axisgroup_hdl->value.setValue(array_tmp);
133    axisgroup_hdl->sendAttributToServer(axisgroup_hdl->value);
134  }
135 
136  void cxios_get_axisgroup_value(axisgroup_Ptr axisgroup_hdl, double* value, int extent1)
137  {
138    if (!array_copy(axisgroup_hdl->value.getValue(), value, extent1))
139     ERROR("void cxios_set_axisgroup_value(axisgroup_Ptr axisgroup_hdl, double* value, int extent1)",<<"Output array size is not conform to array size attribute") ;
140     CTimer::get("XIOS").suspend();
141  }
142 
143 
144 
145}
Note: See TracBrowser for help on using the repository browser.