- Timestamp:
- 12/03/14 11:41:54 (9 years ago)
- Location:
- XIOS/trunk
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/inputs/COMPLETE/context_surface.xml
r513 r527 15 15 <field field_ref="field_A_srf" > 16 16 <variable id="my_attribute1" type="string" >surf_att</variable> 17 <variable id="my_attribute2" type="int eger" > 10 </variable>17 <variable id="my_attribute2" type="int" > 10 </variable> 18 18 <variable id="my_attribute3" type="float" >6.8</variable> 19 19 <variable id="my_attribute5" type="double" >100.201</variable> … … 30 30 <field field_ref="field_A_srf" > 31 31 <variable id="my_attribute1" type="string" >surf_att</variable> 32 <variable id="my_attribute2" type="int eger" >10</variable>32 <variable id="my_attribute2" type="int" >10</variable> 33 33 <variable id="my_attribute3" type="float" >6.8</variable> 34 34 <variable id="my_attribute4" type="double" >100.201</variable> -
XIOS/trunk/inputs/COMPLETE/iodef.xml
r512 r527 15 15 <variable_group id="parameters" > 16 16 <variable id="info_level" type="int">100</variable> 17 <variable id="print_file" type="bool ean">true</variable>17 <variable id="print_file" type="bool">true</variable> 18 18 </variable_group> 19 19 </variable_definition> -
XIOS/trunk/inputs/iodef.xml
r523 r527 46 46 47 47 <variable_group id="parameters" > 48 <variable id="using_server" type="bool ean">false</variable>48 <variable id="using_server" type="bool">false</variable> 49 49 <variable id="info_level" type="int">50</variable> 50 <variable id="print_file" type="bool ean">true</variable>50 <variable id="print_file" type="bool">true</variable> 51 51 </variable_group> 52 52 </variable_definition> -
XIOS/trunk/src/config/var_attribute.conf
r501 r527 1 DECLARE_ ATTRIBUTE(StdString,type)1 DECLARE_TYPE(type) 2 2 DECLARE_ATTRIBUTE(StdString, name) -
XIOS/trunk/src/declare_attribute.hpp
r522 r527 115 115 DECLARE_CLASS_ENUM(name) 116 116 117 #define DECLARE_TYPE(name) \ 118 class Enum_##name \ 119 { \ 120 public: \ 121 enum t_enum { t_bool=0, t_int16, t_int, t_int32, t_int64, t_float, t_double, t_string }; \ 122 const char** getStr(void) const { static const char * enumStr[] = { "bool", "int16", "int", "int32", "int64", "float", "double", "string" }; return enumStr; } \ 123 int getSize(void) const { return 8; } \ 124 }; \ 125 DECLARE_CLASS_ENUM(name) 117 126 118 127 #define BEGIN_DECLARE_ATTRIBUTE_MAP(type) \ -
XIOS/trunk/src/interface/c_attr/icvariable_attr.cpp
r509 r527 48 48 if(!cstr2string(type, type_size, type_str)) return; 49 49 CTimer::get("XIOS").resume(); 50 variable_hdl->type. setValue(type_str);50 variable_hdl->type.fromString(type_str); 51 51 CTimer::get("XIOS").suspend(); 52 52 } … … 55 55 { 56 56 CTimer::get("XIOS").resume(); 57 if(!string_copy(variable_hdl->type.getInherited Value(),type , type_size))57 if(!string_copy(variable_hdl->type.getInheritedStringValue(),type , type_size)) 58 58 ERROR("void cxios_get_variable_type(variable_Ptr variable_hdl, char * type, int type_size)", <<"Input string is to short"); 59 59 CTimer::get("XIOS").suspend(); -
XIOS/trunk/src/interface/c_attr/icvariablegroup_attr.cpp
r509 r527 74 74 if(!cstr2string(type, type_size, type_str)) return; 75 75 CTimer::get("XIOS").resume(); 76 variablegroup_hdl->type. setValue(type_str);76 variablegroup_hdl->type.fromString(type_str); 77 77 CTimer::get("XIOS").suspend(); 78 78 } … … 81 81 { 82 82 CTimer::get("XIOS").resume(); 83 if(!string_copy(variablegroup_hdl->type.getInherited Value(),type , type_size))83 if(!string_copy(variablegroup_hdl->type.getInheritedStringValue(),type , type_size)) 84 84 ERROR("void cxios_get_variablegroup_type(variablegroup_Ptr variablegroup_hdl, char * type, int type_size)", <<"Input string is to short"); 85 85 CTimer::get("XIOS").suspend(); -
XIOS/trunk/src/node/variable.cpp
r501 r527 70 70 } 71 71 72 CVariable::EVarType CVariable::getVarType(void) const73 {74 EVarType ret ;75 76 if (type.isEmpty()) ret=t_undefined ;77 else78 {79 string varType=boost::to_lower_copy(boost::trim_copy(type.getValue())) ;80 if (varType=="int") ret=t_int ;81 else if (varType=="short int" || varType=="short") ret=t_short_int ;82 else if (varType=="long int" || varType=="long") ret=t_long_int ;83 else if (varType=="float") ret=t_float ;84 else if (varType=="double") ret=t_double ;85 else if (varType=="long double") ret=t_long_double ;86 else if (varType=="bool") ret=t_bool ;87 else if (varType=="long double") ret=t_long_double ;88 else if (varType=="string") ret=t_string ;89 }90 return ret ;91 }92 93 72 /* 94 73 *\brief Sending value of a variable with its id from client to server … … 126 105 get(id)->recvValue(*buffer); 127 106 } 128 129 107 130 108 /* -
XIOS/trunk/src/node/variable.hpp
r501 r527 7 7 #include "group_template.hpp" 8 8 #include "array_new.hpp" 9 #include "attribute_enum.hpp" 10 #include "attribute_enum_impl.hpp" 9 11 10 12 namespace xios … … 55 57 56 58 public : 57 enum EVarType58 { t_int, t_short_int, t_long_int, t_float, t_double, t_long_double, t_bool, t_string, t_undefined } ;59 60 61 59 /// Autres /// 62 60 virtual void parse(xml::CXMLNode & node); … … 74 72 template <typename T, StdSize N> 75 73 inline void getData(CArray<T, N>& _data_array) const; 76 77 EVarType getVarType(void) const ;78 74 79 75 static bool dispatchEvent(CEventServer& event) ; … … 139 135 // Declare/Define CVarGroup and CVarDefinition 140 136 DECLARE_GROUP_PARSE_REDEF(CVariable); 141 142 143 144 137 } // namespace xios 145 138 -
XIOS/trunk/src/output/nc4_data_output.cpp
r517 r527 803 803 try 804 804 { 805 if (var->getVarType()==CVariable::t_int) addAttribute(name,var->getData<int>(),&fieldId) ; 806 else if (var->getVarType()==CVariable::t_short_int) addAttribute(name,var->getData<short int>(),&fieldId) ; 807 else if (var->getVarType()==CVariable::t_long_int) addAttribute(name,var->getData<long int>(),&fieldId) ; 808 else if (var->getVarType()==CVariable::t_float) addAttribute(name,var->getData<float>(),&fieldId) ; 809 else if (var->getVarType()==CVariable::t_double) addAttribute(name,var->getData<double>(),&fieldId) ; 810 else addAttribute(name,var->getData<string>(),&fieldId) ; 805 if (var->type.getValue() == CVariable::type_attr::t_int || var->type.getValue() == CVariable::type_attr::t_int32) 806 addAttribute(name, var->getData<int>(), &fieldId); 807 else if (var->type.getValue() == CVariable::type_attr::t_int16) 808 addAttribute(name, var->getData<short int>(), &fieldId); 809 else if (var->type.getValue() == CVariable::type_attr::t_float) 810 addAttribute(name, var->getData<float>(), &fieldId); 811 else if (var->type.getValue() == CVariable::type_attr::t_double) 812 addAttribute(name, var->getData<double>(), &fieldId); 813 else if (var->type.getValue() == CVariable::type_attr::t_string) 814 addAttribute(name, var->getData<string>(), &fieldId); 815 else 816 ERROR("CNc4DataOutput::writeAttribute_ (CVariable* var, const string& fieldId)", 817 << "Unsupported variable of type " << var->type.getStringValue()); 811 818 } 812 819 catch (CNetCdfException& e) … … 830 837 try 831 838 { 832 if (var->getVarType()==CVariable::t_int) addAttribute(name,var->getData<int>()) ; 833 else if (var->getVarType()==CVariable::t_short_int) addAttribute(name,var->getData<short int>()) ; 834 else if (var->getVarType()==CVariable::t_long_int) addAttribute(name,var->getData<long int>()) ; 835 else if (var->getVarType()==CVariable::t_float) addAttribute(name,var->getData<float>()) ; 836 else if (var->getVarType()==CVariable::t_double) addAttribute(name,var->getData<double>()) ; 837 else addAttribute(name,var->getData<string>()) ; 839 if (var->type.getValue() == CVariable::type_attr::t_int || var->type.getValue() == CVariable::type_attr::t_int32) 840 addAttribute(name, var->getData<int>()); 841 else if (var->type.getValue() == CVariable::type_attr::t_int16) 842 addAttribute(name, var->getData<short int>()); 843 else if (var->type.getValue() == CVariable::type_attr::t_float) 844 addAttribute(name, var->getData<float>()); 845 else if (var->type.getValue() == CVariable::type_attr::t_double) 846 addAttribute(name, var->getData<double>()); 847 else if (var->type.getValue() == CVariable::type_attr::t_string) 848 addAttribute(name, var->getData<string>()); 849 else 850 ERROR("CNc4DataOutput::writeAttribute_ (CVariable* var)", 851 << "Unsupported variable of type " << var->type.getStringValue()); 838 852 } 839 853 catch (CNetCdfException& e)
Note: See TracChangeset
for help on using the changeset viewer.