/* ------- code automatically created by ../scripts/adms_build_object.pl -------------- */ #include #include inline void adms_attribute_free(p_attribute myattribute) { if(!myattribute) return; adms_quark_free(myattribute->_name); if(myattribute->_value) if(adms_adms(myattribute->_value)->_datatypename==adms_adms_enumeration_datatypename_quark) adms_quark_free(adms_quark(myattribute->_value)); adms_global_increment_nbattributedestroy(); free(myattribute); } int adms_attribute_cmp (p_attribute myattribute,p_attribute refattribute) { int status; status = ( !!strcmp(adms_attribute_valueof_name (myattribute)->_value,adms_attribute_valueof_name (refattribute)->_value) ); return status; } p_attribute adms_attribute_new(p_quark myname) { p_attribute mynewattribute=(p_attribute) calloc(1,(size_t)sizeof(t_attribute)); adms_global_increment_nbattributenew(); mynewattribute->_adms._datatypename=adms_adms_enumeration_datatypename_attribute; mynewattribute->_adms._seen=adms_adms_enumeration_seen_no; mynewattribute->_name_isdefault=-1; adms_attribute_valueto_name (mynewattribute,myname); mynewattribute->_name_isdefault=1; mynewattribute->_value_isdefault=-1; return mynewattribute; } p_adms adms_attribute_new_impl (p_adms arguments[]) { p_attribute mynewattribute; p_quark myname=adms_quark_new((char*)arguments[0]); mynewattribute=adms_attribute_new(myname); return adms_adms(mynewattribute); } /*$1*/ char*adms_attribute_uid (p_attribute mynewattribute) { char*myuid=NULL; char*myuid0=adms_quark_uid(mynewattribute->_name); adms_strconcat(&myuid,myuid0); return myuid; } inline void adms_attribute_valueto_name (p_attribute myattribute,p_quark _name) { if(myattribute->_name_isdefault!=-1) adms_quark_free(myattribute->_name); myattribute->_name=_name; myattribute->_name_isdefault=0; } inline void adms_attribute_valueto_value (p_attribute myattribute,p_adms _value) { myattribute->_value=_value; myattribute->_value_isdefault=0; }