source: XIOS/trunk/src/interface/c_attr/icfile_attr.cpp @ 509

Last change on this file since 509 was 509, checked in by mhnguyen, 10 years ago

Implementing buffer size auto-detection for mode client -server

+) Process xml tree in client side then send all the information to server
+) Only information enabled fields in enabled files are sent to server
+) Some important change in structure of code which must be refactored

Test
+) On Curie
+) Only mode client-server
+) Passed for all tests

  • 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: 10.3 KB
RevLine 
[325]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"
[352]8#include "attribute_template.hpp"
9#include "object_template.hpp"
10#include "group_template.hpp"
[325]11#include "icutil.hpp"
[347]12#include "timer.hpp"
[369]13#include "node_type.hpp"
[325]14
15extern "C"
16{
[345]17  typedef xios::CFile*  file_Ptr;
[325]18 
19  void cxios_set_file_description(file_Ptr file_hdl, const char * description, int description_size)
20  {
21    std::string description_str;
22    if(!cstr2string(description, description_size, description_str)) return;
[347]23     CTimer::get("XIOS").resume();
[325]24    file_hdl->description.setValue(description_str);
[347]25     CTimer::get("XIOS").suspend();
[325]26  }
27 
28  void cxios_get_file_description(file_Ptr file_hdl, char * description, int description_size)
29  {
[347]30     CTimer::get("XIOS").resume();
[445]31    if(!string_copy(file_hdl->description.getInheritedValue(),description , description_size))
[325]32      ERROR("void cxios_get_file_description(file_Ptr file_hdl, char * description, int description_size)", <<"Input string is to short");
[347]33     CTimer::get("XIOS").suspend();
[325]34  }
35 
[432]36  bool cxios_is_defined_file_description(file_Ptr file_hdl )
37  {
38     CTimer::get("XIOS").resume();
[445]39    return file_hdl->description.hasInheritedValue();
[432]40     CTimer::get("XIOS").suspend();
41  }
[325]42 
[432]43 
44 
[325]45  void cxios_set_file_enabled(file_Ptr file_hdl, bool enabled)
46  {
[347]47     CTimer::get("XIOS").resume();
[325]48    file_hdl->enabled.setValue(enabled);
[347]49     CTimer::get("XIOS").suspend();
[325]50  }
51 
52  void cxios_get_file_enabled(file_Ptr file_hdl, bool* enabled)
53  {
[445]54    *enabled = file_hdl->enabled.getInheritedValue();
[325]55  }
56 
[432]57  bool cxios_is_defined_file_enabled(file_Ptr file_hdl )
58  {
59     CTimer::get("XIOS").resume();
[445]60    return file_hdl->enabled.hasInheritedValue();
[432]61     CTimer::get("XIOS").suspend();
62  }
[325]63 
[432]64 
65 
[415]66  void cxios_set_file_min_digits(file_Ptr file_hdl, int min_digits)
67  {
68     CTimer::get("XIOS").resume();
69    file_hdl->min_digits.setValue(min_digits);
70     CTimer::get("XIOS").suspend();
71  }
72 
73  void cxios_get_file_min_digits(file_Ptr file_hdl, int* min_digits)
74  {
[445]75    *min_digits = file_hdl->min_digits.getInheritedValue();
[415]76  }
77 
[432]78  bool cxios_is_defined_file_min_digits(file_Ptr file_hdl )
79  {
80     CTimer::get("XIOS").resume();
[445]81    return file_hdl->min_digits.hasInheritedValue();
[432]82     CTimer::get("XIOS").suspend();
83  }
[415]84 
[432]85 
86 
[325]87  void cxios_set_file_name(file_Ptr file_hdl, const char * name, int name_size)
88  {
89    std::string name_str;
90    if(!cstr2string(name, name_size, name_str)) return;
[347]91     CTimer::get("XIOS").resume();
[325]92    file_hdl->name.setValue(name_str);
[347]93     CTimer::get("XIOS").suspend();
[325]94  }
95 
96  void cxios_get_file_name(file_Ptr file_hdl, char * name, int name_size)
97  {
[347]98     CTimer::get("XIOS").resume();
[445]99    if(!string_copy(file_hdl->name.getInheritedValue(),name , name_size))
[325]100      ERROR("void cxios_get_file_name(file_Ptr file_hdl, char * name, int name_size)", <<"Input string is to short");
[347]101     CTimer::get("XIOS").suspend();
[325]102  }
103 
[432]104  bool cxios_is_defined_file_name(file_Ptr file_hdl )
105  {
106     CTimer::get("XIOS").resume();
[445]107    return file_hdl->name.hasInheritedValue();
[432]108     CTimer::get("XIOS").suspend();
109  }
[325]110 
[432]111 
112 
[325]113  void cxios_set_file_name_suffix(file_Ptr file_hdl, const char * name_suffix, int name_suffix_size)
114  {
115    std::string name_suffix_str;
116    if(!cstr2string(name_suffix, name_suffix_size, name_suffix_str)) return;
[347]117     CTimer::get("XIOS").resume();
[325]118    file_hdl->name_suffix.setValue(name_suffix_str);
[347]119     CTimer::get("XIOS").suspend();
[325]120  }
121 
122  void cxios_get_file_name_suffix(file_Ptr file_hdl, char * name_suffix, int name_suffix_size)
123  {
[347]124     CTimer::get("XIOS").resume();
[445]125    if(!string_copy(file_hdl->name_suffix.getInheritedValue(),name_suffix , name_suffix_size))
[325]126      ERROR("void cxios_get_file_name_suffix(file_Ptr file_hdl, char * name_suffix, int name_suffix_size)", <<"Input string is to short");
[347]127     CTimer::get("XIOS").suspend();
[325]128  }
129 
[432]130  bool cxios_is_defined_file_name_suffix(file_Ptr file_hdl )
131  {
132     CTimer::get("XIOS").resume();
[445]133    return file_hdl->name_suffix.hasInheritedValue();
[432]134     CTimer::get("XIOS").suspend();
135  }
[325]136 
[432]137 
138 
[325]139  void cxios_set_file_output_freq(file_Ptr file_hdl, const char * output_freq, int output_freq_size)
140  {
141    std::string output_freq_str;
142    if(!cstr2string(output_freq, output_freq_size, output_freq_str)) return;
[347]143     CTimer::get("XIOS").resume();
[325]144    file_hdl->output_freq.setValue(output_freq_str);
[347]145     CTimer::get("XIOS").suspend();
[325]146  }
147 
148  void cxios_get_file_output_freq(file_Ptr file_hdl, char * output_freq, int output_freq_size)
149  {
[347]150     CTimer::get("XIOS").resume();
[445]151    if(!string_copy(file_hdl->output_freq.getInheritedValue(),output_freq , output_freq_size))
[325]152      ERROR("void cxios_get_file_output_freq(file_Ptr file_hdl, char * output_freq, int output_freq_size)", <<"Input string is to short");
[347]153     CTimer::get("XIOS").suspend();
[325]154  }
155 
[432]156  bool cxios_is_defined_file_output_freq(file_Ptr file_hdl )
157  {
158     CTimer::get("XIOS").resume();
[445]159    return file_hdl->output_freq.hasInheritedValue();
[432]160     CTimer::get("XIOS").suspend();
161  }
[325]162 
[432]163 
164 
[325]165  void cxios_set_file_output_level(file_Ptr file_hdl, int output_level)
166  {
[347]167     CTimer::get("XIOS").resume();
[325]168    file_hdl->output_level.setValue(output_level);
[347]169     CTimer::get("XIOS").suspend();
[325]170  }
171 
172  void cxios_get_file_output_level(file_Ptr file_hdl, int* output_level)
173  {
[445]174    *output_level = file_hdl->output_level.getInheritedValue();
[325]175  }
176 
[432]177  bool cxios_is_defined_file_output_level(file_Ptr file_hdl )
178  {
179     CTimer::get("XIOS").resume();
[445]180    return file_hdl->output_level.hasInheritedValue();
[432]181     CTimer::get("XIOS").suspend();
182  }
[325]183 
[432]184 
185 
[336]186  void cxios_set_file_par_access(file_Ptr file_hdl, const char * par_access, int par_access_size)
187  {
188    std::string par_access_str;
189    if(!cstr2string(par_access, par_access_size, par_access_str)) return;
[347]190     CTimer::get("XIOS").resume();
[336]191    file_hdl->par_access.setValue(par_access_str);
[347]192     CTimer::get("XIOS").suspend();
[336]193  }
194 
195  void cxios_get_file_par_access(file_Ptr file_hdl, char * par_access, int par_access_size)
196  {
[347]197     CTimer::get("XIOS").resume();
[445]198    if(!string_copy(file_hdl->par_access.getInheritedValue(),par_access , par_access_size))
[336]199      ERROR("void cxios_get_file_par_access(file_Ptr file_hdl, char * par_access, int par_access_size)", <<"Input string is to short");
[347]200     CTimer::get("XIOS").suspend();
[336]201  }
202 
[432]203  bool cxios_is_defined_file_par_access(file_Ptr file_hdl )
204  {
205     CTimer::get("XIOS").resume();
[445]206    return file_hdl->par_access.hasInheritedValue();
[432]207     CTimer::get("XIOS").suspend();
208  }
[336]209 
[432]210 
211 
[325]212  void cxios_set_file_split_freq(file_Ptr file_hdl, const char * split_freq, int split_freq_size)
213  {
214    std::string split_freq_str;
215    if(!cstr2string(split_freq, split_freq_size, split_freq_str)) return;
[347]216     CTimer::get("XIOS").resume();
[325]217    file_hdl->split_freq.setValue(split_freq_str);
[347]218     CTimer::get("XIOS").suspend();
[325]219  }
220 
221  void cxios_get_file_split_freq(file_Ptr file_hdl, char * split_freq, int split_freq_size)
222  {
[347]223     CTimer::get("XIOS").resume();
[445]224    if(!string_copy(file_hdl->split_freq.getInheritedValue(),split_freq , split_freq_size))
[325]225      ERROR("void cxios_get_file_split_freq(file_Ptr file_hdl, char * split_freq, int split_freq_size)", <<"Input string is to short");
[347]226     CTimer::get("XIOS").suspend();
[325]227  }
228 
[432]229  bool cxios_is_defined_file_split_freq(file_Ptr file_hdl )
230  {
231     CTimer::get("XIOS").resume();
[445]232    return file_hdl->split_freq.hasInheritedValue();
[432]233     CTimer::get("XIOS").suspend();
234  }
[325]235 
[432]236 
237 
238  void cxios_set_file_split_freq_format(file_Ptr file_hdl, const char * split_freq_format, int split_freq_format_size)
239  {
240    std::string split_freq_format_str;
241    if(!cstr2string(split_freq_format, split_freq_format_size, split_freq_format_str)) return;
242     CTimer::get("XIOS").resume();
243    file_hdl->split_freq_format.setValue(split_freq_format_str);
244     CTimer::get("XIOS").suspend();
245  }
246 
247  void cxios_get_file_split_freq_format(file_Ptr file_hdl, char * split_freq_format, int split_freq_format_size)
248  {
249     CTimer::get("XIOS").resume();
[445]250    if(!string_copy(file_hdl->split_freq_format.getInheritedValue(),split_freq_format , split_freq_format_size))
[432]251      ERROR("void cxios_get_file_split_freq_format(file_Ptr file_hdl, char * split_freq_format, int split_freq_format_size)", <<"Input string is to short");
252     CTimer::get("XIOS").suspend();
253  }
254 
255  bool cxios_is_defined_file_split_freq_format(file_Ptr file_hdl )
256  {
257     CTimer::get("XIOS").resume();
[445]258    return file_hdl->split_freq_format.hasInheritedValue();
[432]259     CTimer::get("XIOS").suspend();
260  }
261 
262 
263 
[325]264  void cxios_set_file_sync_freq(file_Ptr file_hdl, const char * sync_freq, int sync_freq_size)
265  {
266    std::string sync_freq_str;
267    if(!cstr2string(sync_freq, sync_freq_size, sync_freq_str)) return;
[347]268     CTimer::get("XIOS").resume();
[325]269    file_hdl->sync_freq.setValue(sync_freq_str);
[347]270     CTimer::get("XIOS").suspend();
[325]271  }
272 
273  void cxios_get_file_sync_freq(file_Ptr file_hdl, char * sync_freq, int sync_freq_size)
274  {
[347]275     CTimer::get("XIOS").resume();
[445]276    if(!string_copy(file_hdl->sync_freq.getInheritedValue(),sync_freq , sync_freq_size))
[325]277      ERROR("void cxios_get_file_sync_freq(file_Ptr file_hdl, char * sync_freq, int sync_freq_size)", <<"Input string is to short");
[347]278     CTimer::get("XIOS").suspend();
[325]279  }
280 
[432]281  bool cxios_is_defined_file_sync_freq(file_Ptr file_hdl )
282  {
283     CTimer::get("XIOS").resume();
[445]284    return file_hdl->sync_freq.hasInheritedValue();
[432]285     CTimer::get("XIOS").suspend();
286  }
[325]287 
[432]288 
289 
[325]290  void cxios_set_file_type(file_Ptr file_hdl, const char * type, int type_size)
291  {
292    std::string type_str;
293    if(!cstr2string(type, type_size, type_str)) return;
[347]294     CTimer::get("XIOS").resume();
[369]295    file_hdl->type.fromString(type_str);
[347]296     CTimer::get("XIOS").suspend();
[325]297  }
298 
299  void cxios_get_file_type(file_Ptr file_hdl, char * type, int type_size)
300  {
[347]301     CTimer::get("XIOS").resume();
[445]302    if(!string_copy(file_hdl->type.getInheritedStringValue(),type , type_size))
[325]303      ERROR("void cxios_get_file_type(file_Ptr file_hdl, char * type, int type_size)", <<"Input string is to short");
[347]304     CTimer::get("XIOS").suspend();
[325]305  }
306 
[432]307  bool cxios_is_defined_file_type(file_Ptr file_hdl )
308  {
309     CTimer::get("XIOS").resume();
[445]310    return file_hdl->type.hasInheritedValue();
[432]311     CTimer::get("XIOS").suspend();
312  }
[325]313 
314 
[432]315 
316 
[325]317}
Note: See TracBrowser for help on using the repository browser.