Ignore:
Timestamp:
03/19/24 14:23:16 (4 months ago)
Author:
jderouillat
Message:

Add XIOS3 fortran interfaces (resources management, chunking, compression)

File:
1 edited

Legend:

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

    r1626 r2616  
    239239 
    240240 
     241  void cxios_set_file_gatherer(file_Ptr file_hdl, const char * gatherer, int gatherer_size) 
     242  { 
     243    std::string gatherer_str; 
     244    if (!cstr2string(gatherer, gatherer_size, gatherer_str)) return; 
     245    CTimer::get("XIOS").resume(); 
     246    file_hdl->gatherer.setValue(gatherer_str); 
     247    CTimer::get("XIOS").suspend(); 
     248  } 
     249 
     250  void cxios_get_file_gatherer(file_Ptr file_hdl, char * gatherer, int gatherer_size) 
     251  { 
     252    CTimer::get("XIOS").resume(); 
     253    if (!string_copy(file_hdl->gatherer.getInheritedValue(), gatherer, gatherer_size)) 
     254      ERROR("void cxios_get_file_gatherer(file_Ptr file_hdl, char * gatherer, int gatherer_size)", << "Input string is too short"); 
     255    CTimer::get("XIOS").suspend(); 
     256  } 
     257 
     258  bool cxios_is_defined_file_gatherer(file_Ptr file_hdl) 
     259  { 
     260     CTimer::get("XIOS").resume(); 
     261     bool isDefined = file_hdl->gatherer.hasInheritedValue(); 
     262     CTimer::get("XIOS").suspend(); 
     263     return isDefined; 
     264  } 
     265 
     266 
    241267  void cxios_set_file_min_digits(file_Ptr file_hdl, int min_digits) 
    242268  { 
     
    427453 
    428454 
     455  void cxios_set_file_pool_gatherer(file_Ptr file_hdl, const char * pool_gatherer, int pool_gatherer_size) 
     456  { 
     457    std::string pool_gatherer_str; 
     458    if (!cstr2string(pool_gatherer, pool_gatherer_size, pool_gatherer_str)) return; 
     459    CTimer::get("XIOS").resume(); 
     460    file_hdl->pool_gatherer.setValue(pool_gatherer_str); 
     461    CTimer::get("XIOS").suspend(); 
     462  } 
     463 
     464  void cxios_get_file_pool_gatherer(file_Ptr file_hdl, char * pool_gatherer, int pool_gatherer_size) 
     465  { 
     466    CTimer::get("XIOS").resume(); 
     467    if (!string_copy(file_hdl->pool_gatherer.getInheritedValue(), pool_gatherer, pool_gatherer_size)) 
     468      ERROR("void cxios_get_file_pool_gatherer(file_Ptr file_hdl, char * pool_gatherer, int pool_gatherer_size)", << "Input string is too short"); 
     469    CTimer::get("XIOS").suspend(); 
     470  } 
     471 
     472  bool cxios_is_defined_file_pool_gatherer(file_Ptr file_hdl) 
     473  { 
     474     CTimer::get("XIOS").resume(); 
     475     bool isDefined = file_hdl->pool_gatherer.hasInheritedValue(); 
     476     CTimer::get("XIOS").suspend(); 
     477     return isDefined; 
     478  } 
     479 
     480 
     481  void cxios_set_file_pool_reader(file_Ptr file_hdl, const char * pool_reader, int pool_reader_size) 
     482  { 
     483    std::string pool_reader_str; 
     484    if (!cstr2string(pool_reader, pool_reader_size, pool_reader_str)) return; 
     485    CTimer::get("XIOS").resume(); 
     486    file_hdl->pool_reader.setValue(pool_reader_str); 
     487    CTimer::get("XIOS").suspend(); 
     488  } 
     489 
     490  void cxios_get_file_pool_reader(file_Ptr file_hdl, char * pool_reader, int pool_reader_size) 
     491  { 
     492    CTimer::get("XIOS").resume(); 
     493    if (!string_copy(file_hdl->pool_reader.getInheritedValue(), pool_reader, pool_reader_size)) 
     494      ERROR("void cxios_get_file_pool_reader(file_Ptr file_hdl, char * pool_reader, int pool_reader_size)", << "Input string is too short"); 
     495    CTimer::get("XIOS").suspend(); 
     496  } 
     497 
     498  bool cxios_is_defined_file_pool_reader(file_Ptr file_hdl) 
     499  { 
     500     CTimer::get("XIOS").resume(); 
     501     bool isDefined = file_hdl->pool_reader.hasInheritedValue(); 
     502     CTimer::get("XIOS").suspend(); 
     503     return isDefined; 
     504  } 
     505 
     506 
     507  void cxios_set_file_pool_writer(file_Ptr file_hdl, const char * pool_writer, int pool_writer_size) 
     508  { 
     509    std::string pool_writer_str; 
     510    if (!cstr2string(pool_writer, pool_writer_size, pool_writer_str)) return; 
     511    CTimer::get("XIOS").resume(); 
     512    file_hdl->pool_writer.setValue(pool_writer_str); 
     513    CTimer::get("XIOS").suspend(); 
     514  } 
     515 
     516  void cxios_get_file_pool_writer(file_Ptr file_hdl, char * pool_writer, int pool_writer_size) 
     517  { 
     518    CTimer::get("XIOS").resume(); 
     519    if (!string_copy(file_hdl->pool_writer.getInheritedValue(), pool_writer, pool_writer_size)) 
     520      ERROR("void cxios_get_file_pool_writer(file_Ptr file_hdl, char * pool_writer, int pool_writer_size)", << "Input string is too short"); 
     521    CTimer::get("XIOS").suspend(); 
     522  } 
     523 
     524  bool cxios_is_defined_file_pool_writer(file_Ptr file_hdl) 
     525  { 
     526     CTimer::get("XIOS").resume(); 
     527     bool isDefined = file_hdl->pool_writer.hasInheritedValue(); 
     528     CTimer::get("XIOS").suspend(); 
     529     return isDefined; 
     530  } 
     531 
     532 
    429533  void cxios_set_file_read_metadata_par(file_Ptr file_hdl, bool read_metadata_par) 
    430534  { 
     
    445549     CTimer::get("XIOS").resume(); 
    446550     bool isDefined = file_hdl->read_metadata_par.hasInheritedValue(); 
     551     CTimer::get("XIOS").suspend(); 
     552     return isDefined; 
     553  } 
     554 
     555 
     556  void cxios_set_file_reader(file_Ptr file_hdl, const char * reader, int reader_size) 
     557  { 
     558    std::string reader_str; 
     559    if (!cstr2string(reader, reader_size, reader_str)) return; 
     560    CTimer::get("XIOS").resume(); 
     561    file_hdl->reader.setValue(reader_str); 
     562    CTimer::get("XIOS").suspend(); 
     563  } 
     564 
     565  void cxios_get_file_reader(file_Ptr file_hdl, char * reader, int reader_size) 
     566  { 
     567    CTimer::get("XIOS").resume(); 
     568    if (!string_copy(file_hdl->reader.getInheritedValue(), reader, reader_size)) 
     569      ERROR("void cxios_get_file_reader(file_Ptr file_hdl, char * reader, int reader_size)", << "Input string is too short"); 
     570    CTimer::get("XIOS").suspend(); 
     571  } 
     572 
     573  bool cxios_is_defined_file_reader(file_Ptr file_hdl) 
     574  { 
     575     CTimer::get("XIOS").resume(); 
     576     bool isDefined = file_hdl->reader.hasInheritedValue(); 
    447577     CTimer::get("XIOS").suspend(); 
    448578     return isDefined; 
     
    8851015 
    8861016 
     1017  void cxios_set_file_using_server2(file_Ptr file_hdl, bool using_server2) 
     1018  { 
     1019    CTimer::get("XIOS").resume(); 
     1020    file_hdl->using_server2.setValue(using_server2); 
     1021    CTimer::get("XIOS").suspend(); 
     1022  } 
     1023 
     1024  void cxios_get_file_using_server2(file_Ptr file_hdl, bool* using_server2) 
     1025  { 
     1026    CTimer::get("XIOS").resume(); 
     1027    *using_server2 = file_hdl->using_server2.getInheritedValue(); 
     1028    CTimer::get("XIOS").suspend(); 
     1029  } 
     1030 
     1031  bool cxios_is_defined_file_using_server2(file_Ptr file_hdl) 
     1032  { 
     1033     CTimer::get("XIOS").resume(); 
     1034     bool isDefined = file_hdl->using_server2.hasInheritedValue(); 
     1035     CTimer::get("XIOS").suspend(); 
     1036     return isDefined; 
     1037  } 
     1038 
     1039 
    8871040  void cxios_set_file_uuid_format(file_Ptr file_hdl, const char * uuid_format, int uuid_format_size) 
    8881041  { 
     
    9351088     return isDefined; 
    9361089  } 
     1090 
     1091 
     1092  void cxios_set_file_writer(file_Ptr file_hdl, const char * writer, int writer_size) 
     1093  { 
     1094    std::string writer_str; 
     1095    if (!cstr2string(writer, writer_size, writer_str)) return; 
     1096    CTimer::get("XIOS").resume(); 
     1097    file_hdl->writer.setValue(writer_str); 
     1098    CTimer::get("XIOS").suspend(); 
     1099  } 
     1100 
     1101  void cxios_get_file_writer(file_Ptr file_hdl, char * writer, int writer_size) 
     1102  { 
     1103    CTimer::get("XIOS").resume(); 
     1104    if (!string_copy(file_hdl->writer.getInheritedValue(), writer, writer_size)) 
     1105      ERROR("void cxios_get_file_writer(file_Ptr file_hdl, char * writer, int writer_size)", << "Input string is too short"); 
     1106    CTimer::get("XIOS").suspend(); 
     1107  } 
     1108 
     1109  bool cxios_is_defined_file_writer(file_Ptr file_hdl) 
     1110  { 
     1111     CTimer::get("XIOS").resume(); 
     1112     bool isDefined = file_hdl->writer.hasInheritedValue(); 
     1113     CTimer::get("XIOS").suspend(); 
     1114     return isDefined; 
     1115  } 
    9371116} 
Note: See TracChangeset for help on using the changeset viewer.