- Timestamp:
- 06/18/18 20:32:55 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/branch_openmp/src/interface/c_attr/icfile_attr.cpp
r1205 r1545 4 4 5 5 #include <boost/multi_array.hpp> 6 #include < boost/shared_ptr.hpp>6 #include <memory> 7 7 #include "xios.hpp" 8 8 #include "attribute_template.hpp" … … 36 36 CTimer::get("XIOS").resume(); 37 37 bool isDefined = file_hdl->append.hasInheritedValue(); 38 CTimer::get("XIOS").suspend(); 39 return isDefined; 40 } 41 42 43 void cxios_set_file_comment(file_Ptr file_hdl, const char * comment, int comment_size) 44 { 45 std::string comment_str; 46 if (!cstr2string(comment, comment_size, comment_str)) return; 47 CTimer::get("XIOS").resume(); 48 file_hdl->comment.setValue(comment_str); 49 CTimer::get("XIOS").suspend(); 50 } 51 52 void cxios_get_file_comment(file_Ptr file_hdl, char * comment, int comment_size) 53 { 54 CTimer::get("XIOS").resume(); 55 if (!string_copy(file_hdl->comment.getInheritedValue(), comment, comment_size)) 56 ERROR("void cxios_get_file_comment(file_Ptr file_hdl, char * comment, int comment_size)", << "Input string is too short"); 57 CTimer::get("XIOS").suspend(); 58 } 59 60 bool cxios_is_defined_file_comment(file_Ptr file_hdl) 61 { 62 CTimer::get("XIOS").resume(); 63 bool isDefined = file_hdl->comment.hasInheritedValue(); 38 64 CTimer::get("XIOS").suspend(); 39 65 return isDefined; … … 402 428 403 429 430 void cxios_set_file_read_metadata_par(file_Ptr file_hdl, bool read_metadata_par) 431 { 432 CTimer::get("XIOS").resume(); 433 file_hdl->read_metadata_par.setValue(read_metadata_par); 434 CTimer::get("XIOS").suspend(); 435 } 436 437 void cxios_get_file_read_metadata_par(file_Ptr file_hdl, bool* read_metadata_par) 438 { 439 CTimer::get("XIOS").resume(); 440 *read_metadata_par = file_hdl->read_metadata_par.getInheritedValue(); 441 CTimer::get("XIOS").suspend(); 442 } 443 444 bool cxios_is_defined_file_read_metadata_par(file_Ptr file_hdl) 445 { 446 CTimer::get("XIOS").resume(); 447 bool isDefined = file_hdl->read_metadata_par.hasInheritedValue(); 448 CTimer::get("XIOS").suspend(); 449 return isDefined; 450 } 451 452 404 453 void cxios_set_file_record_offset(file_Ptr file_hdl, int record_offset) 405 454 { … … 420 469 CTimer::get("XIOS").resume(); 421 470 bool isDefined = file_hdl->record_offset.hasInheritedValue(); 471 CTimer::get("XIOS").suspend(); 472 return isDefined; 473 } 474 475 476 void cxios_set_file_split_end_offset(file_Ptr file_hdl, cxios_duration split_end_offset_c) 477 { 478 CTimer::get("XIOS").resume(); 479 file_hdl->split_end_offset.allocate(); 480 CDuration& split_end_offset = file_hdl->split_end_offset.get(); 481 split_end_offset.year = split_end_offset_c.year; 482 split_end_offset.month = split_end_offset_c.month; 483 split_end_offset.day = split_end_offset_c.day; 484 split_end_offset.hour = split_end_offset_c.hour; 485 split_end_offset.minute = split_end_offset_c.minute; 486 split_end_offset.second = split_end_offset_c.second; 487 split_end_offset.timestep = split_end_offset_c.timestep; 488 CTimer::get("XIOS").suspend(); 489 } 490 491 void cxios_get_file_split_end_offset(file_Ptr file_hdl, cxios_duration* split_end_offset_c) 492 { 493 CTimer::get("XIOS").resume(); 494 CDuration split_end_offset = file_hdl->split_end_offset.getInheritedValue(); 495 split_end_offset_c->year = split_end_offset.year; 496 split_end_offset_c->month = split_end_offset.month; 497 split_end_offset_c->day = split_end_offset.day; 498 split_end_offset_c->hour = split_end_offset.hour; 499 split_end_offset_c->minute = split_end_offset.minute; 500 split_end_offset_c->second = split_end_offset.second; 501 split_end_offset_c->timestep = split_end_offset.timestep; 502 CTimer::get("XIOS").suspend(); 503 } 504 505 bool cxios_is_defined_file_split_end_offset(file_Ptr file_hdl) 506 { 507 CTimer::get("XIOS").resume(); 508 bool isDefined = file_hdl->split_end_offset.hasInheritedValue(); 422 509 CTimer::get("XIOS").suspend(); 423 510 return isDefined; … … 489 576 490 577 578 void cxios_set_file_split_last_date(file_Ptr file_hdl, const char * split_last_date, int split_last_date_size) 579 { 580 std::string split_last_date_str; 581 if (!cstr2string(split_last_date, split_last_date_size, split_last_date_str)) return; 582 CTimer::get("XIOS").resume(); 583 file_hdl->split_last_date.setValue(split_last_date_str); 584 CTimer::get("XIOS").suspend(); 585 } 586 587 void cxios_get_file_split_last_date(file_Ptr file_hdl, char * split_last_date, int split_last_date_size) 588 { 589 CTimer::get("XIOS").resume(); 590 if (!string_copy(file_hdl->split_last_date.getInheritedValue(), split_last_date, split_last_date_size)) 591 ERROR("void cxios_get_file_split_last_date(file_Ptr file_hdl, char * split_last_date, int split_last_date_size)", << "Input string is too short"); 592 CTimer::get("XIOS").suspend(); 593 } 594 595 bool cxios_is_defined_file_split_last_date(file_Ptr file_hdl) 596 { 597 CTimer::get("XIOS").resume(); 598 bool isDefined = file_hdl->split_last_date.hasInheritedValue(); 599 CTimer::get("XIOS").suspend(); 600 return isDefined; 601 } 602 603 604 void cxios_set_file_split_start_offset(file_Ptr file_hdl, cxios_duration split_start_offset_c) 605 { 606 CTimer::get("XIOS").resume(); 607 file_hdl->split_start_offset.allocate(); 608 CDuration& split_start_offset = file_hdl->split_start_offset.get(); 609 split_start_offset.year = split_start_offset_c.year; 610 split_start_offset.month = split_start_offset_c.month; 611 split_start_offset.day = split_start_offset_c.day; 612 split_start_offset.hour = split_start_offset_c.hour; 613 split_start_offset.minute = split_start_offset_c.minute; 614 split_start_offset.second = split_start_offset_c.second; 615 split_start_offset.timestep = split_start_offset_c.timestep; 616 CTimer::get("XIOS").suspend(); 617 } 618 619 void cxios_get_file_split_start_offset(file_Ptr file_hdl, cxios_duration* split_start_offset_c) 620 { 621 CTimer::get("XIOS").resume(); 622 CDuration split_start_offset = file_hdl->split_start_offset.getInheritedValue(); 623 split_start_offset_c->year = split_start_offset.year; 624 split_start_offset_c->month = split_start_offset.month; 625 split_start_offset_c->day = split_start_offset.day; 626 split_start_offset_c->hour = split_start_offset.hour; 627 split_start_offset_c->minute = split_start_offset.minute; 628 split_start_offset_c->second = split_start_offset.second; 629 split_start_offset_c->timestep = split_start_offset.timestep; 630 CTimer::get("XIOS").suspend(); 631 } 632 633 bool cxios_is_defined_file_split_start_offset(file_Ptr file_hdl) 634 { 635 CTimer::get("XIOS").resume(); 636 bool isDefined = file_hdl->split_start_offset.hasInheritedValue(); 637 CTimer::get("XIOS").suspend(); 638 return isDefined; 639 } 640 641 491 642 void cxios_set_file_sync_freq(file_Ptr file_hdl, cxios_duration sync_freq_c) 492 643 {
Note: See TracChangeset
for help on using the changeset viewer.