Ignore:
Timestamp:
06/03/13 11:21:19 (11 years ago)
Author:
ymipsl
Message:

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/interface/c_attr/icfile_attr.cpp

    r415 r432  
    3535  } 
    3636   
     37  bool cxios_is_defined_file_description(file_Ptr file_hdl ) 
     38  { 
     39     CTimer::get("XIOS").resume(); 
     40    return !file_hdl->description.isEmpty(); 
     41     CTimer::get("XIOS").suspend(); 
     42  } 
     43   
     44   
    3745   
    3846  void cxios_set_file_enabled(file_Ptr file_hdl, bool enabled) 
     
    4957  } 
    5058   
     59  bool cxios_is_defined_file_enabled(file_Ptr file_hdl ) 
     60  { 
     61     CTimer::get("XIOS").resume(); 
     62    return !file_hdl->enabled.isEmpty(); 
     63     CTimer::get("XIOS").suspend(); 
     64  } 
     65   
     66   
    5167   
    5268  void cxios_set_file_min_digits(file_Ptr file_hdl, int min_digits) 
     
    6379  } 
    6480   
     81  bool cxios_is_defined_file_min_digits(file_Ptr file_hdl ) 
     82  { 
     83     CTimer::get("XIOS").resume(); 
     84    return !file_hdl->min_digits.isEmpty(); 
     85     CTimer::get("XIOS").suspend(); 
     86  } 
     87   
     88   
    6589   
    6690  void cxios_set_file_name(file_Ptr file_hdl, const char * name, int name_size) 
     
    82106  } 
    83107   
     108  bool cxios_is_defined_file_name(file_Ptr file_hdl ) 
     109  { 
     110     CTimer::get("XIOS").resume(); 
     111    return !file_hdl->name.isEmpty(); 
     112     CTimer::get("XIOS").suspend(); 
     113  } 
     114   
     115   
    84116   
    85117  void cxios_set_file_name_suffix(file_Ptr file_hdl, const char * name_suffix, int name_suffix_size) 
     
    101133  } 
    102134   
     135  bool cxios_is_defined_file_name_suffix(file_Ptr file_hdl ) 
     136  { 
     137     CTimer::get("XIOS").resume(); 
     138    return !file_hdl->name_suffix.isEmpty(); 
     139     CTimer::get("XIOS").suspend(); 
     140  } 
     141   
     142   
    103143   
    104144  void cxios_set_file_output_freq(file_Ptr file_hdl, const char * output_freq, int output_freq_size) 
     
    120160  } 
    121161   
     162  bool cxios_is_defined_file_output_freq(file_Ptr file_hdl ) 
     163  { 
     164     CTimer::get("XIOS").resume(); 
     165    return !file_hdl->output_freq.isEmpty(); 
     166     CTimer::get("XIOS").suspend(); 
     167  } 
     168   
     169   
    122170   
    123171  void cxios_set_file_output_level(file_Ptr file_hdl, int output_level) 
     
    134182  } 
    135183   
     184  bool cxios_is_defined_file_output_level(file_Ptr file_hdl ) 
     185  { 
     186     CTimer::get("XIOS").resume(); 
     187    return !file_hdl->output_level.isEmpty(); 
     188     CTimer::get("XIOS").suspend(); 
     189  } 
     190   
     191   
    136192   
    137193  void cxios_set_file_par_access(file_Ptr file_hdl, const char * par_access, int par_access_size) 
     
    153209  } 
    154210   
     211  bool cxios_is_defined_file_par_access(file_Ptr file_hdl ) 
     212  { 
     213     CTimer::get("XIOS").resume(); 
     214    return !file_hdl->par_access.isEmpty(); 
     215     CTimer::get("XIOS").suspend(); 
     216  } 
     217   
     218   
    155219   
    156220  void cxios_set_file_split_freq(file_Ptr file_hdl, const char * split_freq, int split_freq_size) 
     
    172236  } 
    173237   
     238  bool cxios_is_defined_file_split_freq(file_Ptr file_hdl ) 
     239  { 
     240     CTimer::get("XIOS").resume(); 
     241    return !file_hdl->split_freq.isEmpty(); 
     242     CTimer::get("XIOS").suspend(); 
     243  } 
     244   
     245   
     246   
     247  void cxios_set_file_split_freq_format(file_Ptr file_hdl, const char * split_freq_format, int split_freq_format_size) 
     248  { 
     249    std::string split_freq_format_str; 
     250    if(!cstr2string(split_freq_format, split_freq_format_size, split_freq_format_str)) return; 
     251     CTimer::get("XIOS").resume(); 
     252    file_hdl->split_freq_format.setValue(split_freq_format_str); 
     253    file_hdl->sendAttributToServer(file_hdl->split_freq_format); 
     254     CTimer::get("XIOS").suspend(); 
     255  } 
     256   
     257  void cxios_get_file_split_freq_format(file_Ptr file_hdl, char * split_freq_format, int split_freq_format_size) 
     258  { 
     259     CTimer::get("XIOS").resume(); 
     260    if(!string_copy(file_hdl->split_freq_format.getValue(),split_freq_format , split_freq_format_size)) 
     261      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"); 
     262     CTimer::get("XIOS").suspend(); 
     263  } 
     264   
     265  bool cxios_is_defined_file_split_freq_format(file_Ptr file_hdl ) 
     266  { 
     267     CTimer::get("XIOS").resume(); 
     268    return !file_hdl->split_freq_format.isEmpty(); 
     269     CTimer::get("XIOS").suspend(); 
     270  } 
     271   
     272   
    174273   
    175274  void cxios_set_file_sync_freq(file_Ptr file_hdl, const char * sync_freq, int sync_freq_size) 
     
    191290  } 
    192291   
     292  bool cxios_is_defined_file_sync_freq(file_Ptr file_hdl ) 
     293  { 
     294     CTimer::get("XIOS").resume(); 
     295    return !file_hdl->sync_freq.isEmpty(); 
     296     CTimer::get("XIOS").suspend(); 
     297  } 
     298   
     299   
    193300   
    194301  void cxios_set_file_type(file_Ptr file_hdl, const char * type, int type_size) 
     
    210317  } 
    211318   
     319  bool cxios_is_defined_file_type(file_Ptr file_hdl ) 
     320  { 
     321     CTimer::get("XIOS").resume(); 
     322    return !file_hdl->type.isEmpty(); 
     323     CTimer::get("XIOS").suspend(); 
     324  } 
     325   
     326   
    212327   
    213328   
Note: See TracChangeset for help on using the changeset viewer.