Ignore:
Timestamp:
02/18/12 22:43:24 (12 years ago)
Author:
ymipsl
Message:

Fortran attribut interface are now automaticaly generated.
Add get attribut fonctionnality from fortran.

YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/fortran/icfield.cpp

    r310 r313  
    2222   typedef xmlioserver::tree::CField      * XFieldPtr; 
    2323   typedef xmlioserver::tree::CFieldGroup * XFieldGroupPtr; 
    24  
    25    // ------------------------- Attributs des champs --------------------------- 
    2624    
    27    void cxios_set_field_name(XFieldPtr field_hdl, const char * name, int name_size) 
    28    { 
    29       std::string name_str;  
    30       if (!cstr2string(name, name_size, name_str)) return; 
    31  
    32       field_hdl->name.setValue(name_str); 
    33       field_hdl->sendAttributToServer(field_hdl->name) ;  
    34    } 
    35     
    36    void cxios_set_field_standard_name(XFieldPtr field_hdl, const char * standard_name, int standard_name_size) 
    37    { 
    38       std::string standard_name_str;  
    39       if (!cstr2string(standard_name, standard_name_size, standard_name_str)) return; 
    40  
    41       field_hdl->standard_name.setValue(standard_name_str); 
    42       field_hdl->sendAttributToServer(field_hdl->standard_name) ;  
    43    } 
    44     
    45    void cxios_set_field_long_name(XFieldPtr field_hdl, const char * long_name, int long_name_size) 
    46    { 
    47       std::string long_name_str;  
    48       if (!cstr2string(long_name, long_name_size, long_name_str)) return; 
    49  
    50       field_hdl->long_name.setValue(long_name_str); 
    51       field_hdl->sendAttributToServer(field_hdl->long_name) ; 
    52    } 
    53     
    54    void cxios_set_field_unit(XFieldPtr field_hdl, const char * unit, int unit_size) 
    55    { 
    56       std::string unit_str;  
    57       if (!cstr2string(unit, unit_size, unit_str)) return; 
    58  
    59       field_hdl->unit.setValue(unit_str); 
    60       field_hdl->sendAttributToServer(field_hdl->unit) ; 
    61  
    62    } 
    63     
    64    void cxios_set_field_operation(XFieldPtr field_hdl, const char * operation, int operation_size)  
    65    { 
    66       std::string operation_str;  
    67       if (!cstr2string(operation, operation_size, operation_str)) return; 
    68  
    69       field_hdl->operation.setValue(operation_str); 
    70       field_hdl->sendAttributToServer(field_hdl->operation) ; 
    71    } 
    72     
    73    void cxios_set_field_freq_op(XFieldPtr field_hdl, const char * freq_op, int freq_op_size) 
    74    { 
    75       std::string freq_op_str;  
    76       if (!cstr2string(freq_op, freq_op_size, freq_op_str)) return; 
    77  
    78       field_hdl->freq_op.setValue(freq_op_str); 
    79       field_hdl->sendAttributToServer(field_hdl->freq_op) ; 
    80    } 
    81     
    82    void cxios_set_field_level(XFieldPtr field_hdl, int level) 
    83    { 
    84       field_hdl->level.setValue(level); 
    85       field_hdl->sendAttributToServer(field_hdl->level) ; 
    86    } 
    87     
    88    void cxios_set_field_prec(XFieldPtr field_hdl, int prec) 
    89    { 
    90       field_hdl->prec.setValue(prec); 
    91       field_hdl->sendAttributToServer(field_hdl->prec) ; 
    92    } 
    93     
    94    void cxios_set_field_enabled(XFieldPtr field_hdl, bool enabled) 
    95    { 
    96       field_hdl->enabled.setValue(enabled); 
    97       field_hdl->sendAttributToServer(field_hdl->enabled) ; 
    98    } 
    99     
    100    void cxios_set_field_domain_ref(XFieldPtr field_hdl,  const char * domain_ref, int domain_ref_size) 
    101    { 
    102       std::string domain_ref_str;  
    103       if (!cstr2string(domain_ref, domain_ref_size, domain_ref_str)) return; 
    104  
    105       field_hdl->domain_ref.setValue(domain_ref_str); 
    106       field_hdl->sendAttributToServer(field_hdl->domain_ref) ; 
    107    } 
    108     
    109    void cxios_set_field_axis_ref(XFieldPtr field_hdl,  const char * axis_ref,  int axis_ref_size) 
    110    { 
    111       std::string axis_ref_str;  
    112       if (!cstr2string(axis_ref, axis_ref_size, axis_ref_str)) return; 
    113  
    114       field_hdl->axis_ref.setValue(axis_ref_str); 
    115       field_hdl->sendAttributToServer(field_hdl->axis_ref) ; 
    116    } 
    117     
    118    void cxios_set_field_grid_ref(XFieldPtr field_hdl,  const char * grid_ref, int grid_ref_size) 
    119    { 
    120       std::string grid_ref_str;  
    121       if (!cstr2string(grid_ref, grid_ref_size, grid_ref_str)) return; 
    122  
    123       field_hdl->grid_ref.setValue(grid_ref_str); 
    124       field_hdl->sendAttributToServer(field_hdl->grid_ref) ; 
    125    } 
    126     
    127    void cxios_set_field_field_ref(XFieldPtr field_hdl,  const char * field_ref,  int field_ref_size) 
    128    { 
    129       std::string field_ref_str;  
    130       if (!cstr2string(field_ref, field_ref_size, field_ref_str)) return; 
    131  
    132       field_hdl->field_ref.setValue(field_ref_str); 
    133       field_hdl->sendAttributToServer(field_hdl->field_ref) ; 
    134    } 
    135     
    136    void cxios_set_field_default_value(XFieldPtr field_hdl, double default_value) 
    137    { 
    138       field_hdl->default_value.setValue(default_value); 
    139       field_hdl->sendAttributToServer(field_hdl->default_value) ; 
    140    }   
    141     
    142    // -------------------- Attributs des groupes de champs --------------------- 
    143    
    144    void cxios_set_fieldgroup_name(XFieldGroupPtr fieldgroup_hdl, const char * name, int name_size) 
    145    { 
    146       std::string name_str;  
    147       if (!cstr2string(name, name_size, name_str)) return; 
    148  
    149       fieldgroup_hdl->name.setValue(name_str); 
    150       fieldgroup_hdl->sendAttributToServer(fieldgroup_hdl->name); 
    151    } 
    152     
    153    void cxios_set_fieldgroup_standard_name(XFieldGroupPtr fieldgroup_hdl, const char * standard_name, int standard_name_size) 
    154    { 
    155       std::string standard_name_str;  
    156       if (!cstr2string(standard_name, standard_name_size, standard_name_str)) return; 
    157  
    158       fieldgroup_hdl->standard_name.setValue(standard_name_str); 
    159       fieldgroup_hdl->sendAttributToServer(fieldgroup_hdl->standard_name); 
    160    } 
    161     
    162    void cxios_set_fieldgroup_long_name(XFieldGroupPtr fieldgroup_hdl, const char * long_name, int long_name_size) 
    163    { 
    164       std::string long_name_str;  
    165       if (!cstr2string(long_name, long_name_size, long_name_str)) return; 
    166  
    167       fieldgroup_hdl->long_name.setValue(long_name_str); 
    168       fieldgroup_hdl->sendAttributToServer(fieldgroup_hdl->long_name); 
    169    } 
    170     
    171    void cxios_set_fieldgroup_unit(XFieldGroupPtr fieldgroup_hdl, const char * unit, int unit_size) 
    172    { 
    173       std::string unit_str;  
    174       if (!cstr2string(unit, unit_size, unit_str)) return; 
    175  
    176       fieldgroup_hdl->unit.setValue(unit_str); 
    177       fieldgroup_hdl->sendAttributToServer(fieldgroup_hdl->unit); 
    178    } 
    179     
    180    void cxios_set_fieldgroup_operation(XFieldGroupPtr fieldgroup_hdl, const char * operation, int operation_size)  
    181    { 
    182       std::string operation_str;  
    183       if (!cstr2string(operation, operation_size, operation_str)) return; 
    184  
    185       fieldgroup_hdl->operation.setValue(operation_str); 
    186       fieldgroup_hdl->sendAttributToServer(fieldgroup_hdl->operation); 
    187    } 
    188     
    189    void cxios_set_fieldgroup_freq_op(XFieldGroupPtr fieldgroup_hdl, const char * freq_op, int freq_op_size) 
    190    { 
    191       std::string freq_op_str;  
    192       if (!cstr2string(freq_op, freq_op_size, freq_op_str)) return; 
    193  
    194       fieldgroup_hdl->freq_op.setValue(freq_op_str); 
    195       fieldgroup_hdl->sendAttributToServer(fieldgroup_hdl->freq_op); 
    196    } 
    197     
    198    void cxios_set_fieldgroup_level(XFieldGroupPtr fieldgroup_hdl, int level) 
    199    { 
    200       fieldgroup_hdl->level.setValue(level); 
    201       fieldgroup_hdl->sendAttributToServer(fieldgroup_hdl->level); 
    202    } 
    203     
    204    void cxios_set_fieldgroup_prec(XFieldGroupPtr fieldgroup_hdl, int prec) 
    205    { 
    206       fieldgroup_hdl->prec.setValue(prec); 
    207       fieldgroup_hdl->sendAttributToServer(fieldgroup_hdl->prec); 
    208    } 
    209     
    210    void cxios_set_fieldgroup_enabled(XFieldGroupPtr fieldgroup_hdl, bool enabled) 
    211    { 
    212       fieldgroup_hdl->enabled.setValue(enabled); 
    213       fieldgroup_hdl->sendAttributToServer(fieldgroup_hdl->enabled); 
    214    } 
    215     
    216    void cxios_set_fieldgroup_domain_ref(XFieldGroupPtr fieldgroup_hdl,  const char * domain_ref, int domain_ref_size) 
    217    { 
    218       std::string domain_ref_str;  
    219       if (!cstr2string(domain_ref, domain_ref_size, domain_ref_str)) return; 
    220  
    221       fieldgroup_hdl->domain_ref.setValue(domain_ref_str); 
    222       fieldgroup_hdl->sendAttributToServer(fieldgroup_hdl->domain_ref); 
    223    } 
    224     
    225    void cxios_set_fieldgroup_axis_ref(XFieldGroupPtr fieldgroup_hdl,  const char * axis_ref,  int axis_ref_size) 
    226    { 
    227       std::string axis_ref_str;  
    228       if (!cstr2string(axis_ref, axis_ref_size, axis_ref_str)) return; 
    229  
    230       fieldgroup_hdl->axis_ref.setValue(axis_ref_str); 
    231       fieldgroup_hdl->sendAttributToServer(fieldgroup_hdl->axis_ref); 
    232    } 
    233     
    234    void cxios_set_fieldgroup_grid_ref(XFieldGroupPtr fieldgroup_hdl,  const char * grid_ref, int grid_ref_size) 
    235    { 
    236       std::string grid_ref_str;  
    237       if (!cstr2string(grid_ref, grid_ref_size, grid_ref_str)) return; 
    238  
    239       fieldgroup_hdl->grid_ref.setValue(grid_ref_str); 
    240       fieldgroup_hdl->sendAttributToServer(fieldgroup_hdl->grid_ref); 
    241    } 
    242     
    243    void cxios_set_fieldgroup_field_ref(XFieldGroupPtr fieldgroup_hdl,  const char * field_ref,  int field_ref_size) 
    244    { 
    245       std::string field_ref_str;  
    246       if (!cstr2string(field_ref, field_ref_size, field_ref_str)) return; 
    247  
    248       fieldgroup_hdl->field_ref.setValue(field_ref_str); 
    249       fieldgroup_hdl->sendAttributToServer(fieldgroup_hdl->field_ref); 
    250    } 
    251     
    252    void cxios_set_fieldgroup_default_value(XFieldGroupPtr fieldgroup_hdl, double default_value) 
    253    { 
    254       fieldgroup_hdl->default_value.setValue(default_value); 
    255       fieldgroup_hdl->sendAttributToServer(fieldgroup_hdl->default_value); 
    256    }   
    257     
    258    // ------------------------ Création des handle ----------------------------- 
     25// --------------------------------------------------------------------------    
     26// ------------------------ Création des handle ----------------------------- 
     27// --------------------------------------------------------------------------    
    25928    
    26029   void cxios_field_handle_create (XFieldPtr * _ret, const char * _id, int _id_len) 
     
    29261      *_ret = xmlioserver::CObjectFactory::HasObject<xmlioserver::tree::CFieldGroup>(id); 
    29362   } 
    294     
    295    void cxios_field_is_active (XFieldPtr field_hdl, bool* ret) 
    296    { 
    297       *ret = field_hdl->isActive(); 
    298    } 
     63 
     64// -----------------------------------------------------------------------------------------------------    
     65// ------------------------- other function----------  --------------------------- --------------------- 
     66// -----------------------------------------------------------------------------------------------------    
     67 
     68  void cxios_field_is_active (XFieldPtr field_hdl, bool* ret) 
     69  { 
     70    *ret = field_hdl->isActive(); 
     71  } 
    29972    
    30073} // extern "C" 
Note: See TracChangeset for help on using the changeset viewer.