/* ------- code automatically created by ../scripts/adms_build_object.pl -------------- */ #include #include inline void adms_admst_free(p_admst myadmst) { if(!myadmst) return; free(myadmst->_attributename); adms_global_increment_nbadmstdestroy(); free(myadmst); } int adms_admst_cmp (p_admst myadmst,p_admst refadmst) { int status; status = ( (adms_admst_valueof_admsttransform (myadmst) != adms_admst_valueof_admsttransform (refadmst)) || (adms_admst_valueof_previous (myadmst) != adms_admst_valueof_previous (refadmst)) || !!strcmp(adms_admst_valueof_attributename (myadmst),adms_admst_valueof_attributename (refadmst)) || (adms_admst_valueof_size (myadmst) != adms_admst_valueof_size (refadmst)) ); return status; } p_admst adms_admst_new(p_admsttransform myadmsttransform,p_admst myprevious,const char* myattributename,e_admst_size mysize) { p_admst mynewadmst=(p_admst) calloc(1,(size_t)sizeof(t_admst)); adms_global_increment_nbadmstnew(); mynewadmst->_adms._datatypename=adms_adms_enumeration_datatypename_admst; mynewadmst->_adms._seen=adms_adms_enumeration_seen_no; mynewadmst->_admsttransform_isdefault=-1; adms_admst_valueto_admsttransform (mynewadmst,myadmsttransform); mynewadmst->_admsttransform_isdefault=1; mynewadmst->_previous_isdefault=-1; adms_admst_valueto_previous (mynewadmst,myprevious); mynewadmst->_previous_isdefault=1; mynewadmst->_attributename_isdefault=-1; adms_admst_valueto_attributename (mynewadmst,myattributename); mynewadmst->_attributename_isdefault=1; mynewadmst->_size_isdefault=-1; adms_admst_valueto_size (mynewadmst,mysize); mynewadmst->_size_isdefault=1; mynewadmst->_container_isdefault=-1; mynewadmst->_item_isdefault=-1; mynewadmst->_isrelative_isdefault=-1; mynewadmst->_isrelative=adms_admst_enumeration_isrelative_no; mynewadmst->_isrelative_isdefault=1; mynewadmst->_istrue_isdefault=-1; mynewadmst->_istrue=adms_admst_enumeration_istrue_yes; mynewadmst->_istrue_isdefault=1; return mynewadmst; } p_adms adms_admst_new_impl (p_adms arguments[]) { p_admst mynewadmst; p_admsttransform myadmsttransform=(p_admsttransform)arguments[0]; p_admst myprevious=(p_admst)arguments[1]; const char* myattributename=(char*)arguments[2]; e_admst_size mysize=(e_admst_size)arguments[3]; mynewadmst=adms_admst_new(myadmsttransform,myprevious,myattributename,mysize); return adms_adms(mynewadmst); } /*$1[$3:$4]*/ char*adms_admst_uid (p_admst mynewadmst) { char*myuid=NULL; char*myuid0=adms_admsttransform_uid(mynewadmst->_admsttransform); char*myuid1=adms_constclone(adms_admst_tostring_size_impl(NULL,mynewadmst->_size)); adms_strconcat(&myuid,myuid0); adms_strconcat2(&myuid,"["); adms_strconcat2(&myuid,strdup(mynewadmst->_attributename)); adms_strconcat2(&myuid,":"); adms_strconcat(&myuid,myuid1); adms_strconcat2(&myuid,"]"); return myuid; } inline void adms_admst_valueto_admsttransform (p_admst myadmst,p_admsttransform _admsttransform) { myadmst->_admsttransform=_admsttransform; myadmst->_admsttransform_isdefault=0; } inline void adms_admst_valueto_previous (p_admst myadmst,p_admst _previous) { myadmst->_previous=_previous; myadmst->_previous_isdefault=0; } inline void adms_admst_valueto_attributename (p_admst myadmst,const char* _attributename) { if(myadmst->_attributename_isdefault!=-1) free(myadmst->_attributename); myadmst->_attributename=adms_constclone(_attributename); myadmst->_attributename_isdefault=0; } inline void adms_admst_valueto_size (p_admst myadmst,e_admst_size _size) { myadmst->_size=_size; myadmst->_size_isdefault=0; } inline void adms_admst_valueto_container (p_admst myadmst,void* _container) { myadmst->_container=_container; myadmst->_container_isdefault=0; } inline void adms_admst_valueto_item (p_admst myadmst,p_adms _item) { myadmst->_item=_item; myadmst->_item_isdefault=0; } inline void adms_admst_valueto_isrelative (p_admst myadmst,e_admst_isrelative _isrelative) { myadmst->_isrelative=_isrelative; myadmst->_isrelative_isdefault=0; } inline void adms_admst_valueto_istrue (p_admst myadmst,e_admst_istrue _istrue) { myadmst->_istrue=_istrue; myadmst->_istrue_isdefault=0; } e_admst_size adms_admst_fromstring_size_impl (p_admsttransform myadmsttransform,char*token) { if(!strcmp(token,"list")) return adms_admst_enumeration_size_list; if(!strcmp(token,"scalar")) return adms_admst_enumeration_size_scalar; adms_message_fatal_continue(("select='admst/size': possible values:\n")) adms_message_fatal_continue(("list|scalar\n")) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmsttransform))) return 0; } char* adms_admst_tostring_size_impl (p_admsttransform myadmsttransform,e_admst_size e) { if(e==adms_admst_enumeration_size_list) return "list"; if(e==adms_admst_enumeration_size_scalar) return "scalar"; adms_message_fatal_continue(("select='admst/size': possible values:\n")) adms_message_fatal_continue(("list|scalar\n")) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmsttransform))) return NULL; } e_admst_isrelative adms_admst_fromstring_isrelative_impl (p_admsttransform myadmsttransform,char*token) { if(!strcmp(token,"no")) return adms_admst_enumeration_isrelative_no; if(!strcmp(token,"yes")) return adms_admst_enumeration_isrelative_yes; adms_message_fatal_continue(("select='admst/isrelative': possible values:\n")) adms_message_fatal_continue(("no|yes\n")) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmsttransform))) return 0; } char* adms_admst_tostring_isrelative_impl (p_admsttransform myadmsttransform,e_admst_isrelative e) { if(e==adms_admst_enumeration_isrelative_no) return "no"; if(e==adms_admst_enumeration_isrelative_yes) return "yes"; adms_message_fatal_continue(("select='admst/isrelative': possible values:\n")) adms_message_fatal_continue(("no|yes\n")) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmsttransform))) return NULL; } e_admst_istrue adms_admst_fromstring_istrue_impl (p_admsttransform myadmsttransform,char*token) { if(!strcmp(token,"no")) return adms_admst_enumeration_istrue_no; if(!strcmp(token,"yes")) return adms_admst_enumeration_istrue_yes; adms_message_fatal_continue(("select='admst/istrue': possible values:\n")) adms_message_fatal_continue(("no|yes\n")) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmsttransform))) return 0; } char* adms_admst_tostring_istrue_impl (p_admsttransform myadmsttransform,e_admst_istrue e) { if(e==adms_admst_enumeration_istrue_no) return "no"; if(e==adms_admst_enumeration_istrue_yes) return "yes"; adms_message_fatal_continue(("select='admst/istrue': possible values:\n")) adms_message_fatal_continue(("no|yes\n")) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmsttransform))) return NULL; }