/* ------- code automatically created by ../scripts/adms_build_object.pl -------------- */ #include #include inline void adms_source_free(p_source mysource) { if(!mysource) return; adms_slist_free(mysource->_probe); {p_slist l=mysource->_attribute;for(;l;l=l->next) adms_attribute_free(adms_attribute(l->data));} adms_slist_free(mysource->_attribute); adms_enumeration_free(mysource->_static); adms_enumeration_free(mysource->_dynamic); adms_enumeration_free(mysource->_whitenoise); adms_enumeration_free(mysource->_flickernoise); adms_enumeration_free(mysource->_grounded); adms_enumeration_free(mysource->_switch); adms_enumeration_free(mysource->_type); adms_global_increment_nbsourcedestroy(); free(mysource); } int adms_source_cmp (p_source mysource,p_source refsource) { int status; status = ( (adms_source_valueof_module (mysource) != adms_source_valueof_module (refsource)) || (adms_source_valueof_branch (mysource) != adms_source_valueof_branch (refsource)) || (adms_source_valueof_nature (mysource) != adms_source_valueof_nature (refsource)) ); return status; } p_source adms_source_new(p_module mymodule,p_branch mybranch,p_nature mynature) { p_source mynewsource=(p_source) calloc(1,(size_t)sizeof(t_source)); adms_global_increment_nbsourcenew(); mynewsource->_adms._datatypename=adms_adms_enumeration_datatypename_source; mynewsource->_adms._seen=adms_adms_enumeration_seen_no; mynewsource->_module_isdefault=-1; adms_source_valueto_module (mynewsource,mymodule); mynewsource->_module_isdefault=1; mynewsource->_branch_isdefault=-1; adms_source_valueto_branch (mynewsource,mybranch); mynewsource->_branch_isdefault=1; mynewsource->_nature_isdefault=-1; adms_source_valueto_nature (mynewsource,mynature); mynewsource->_nature_isdefault=1; mynewsource->_discipline_isdefault=-1; mynewsource->_static_isdefault=-1; adms_source_valueto_static(mynewsource,adms_enumeration_new(adms_source_enumeration_static_no,adms_source_fromstring_static_impl,adms_source_tostring_static_impl)); mynewsource->_static_isdefault=1; mynewsource->_dynamic_isdefault=-1; adms_source_valueto_dynamic(mynewsource,adms_enumeration_new(adms_source_enumeration_dynamic_no,adms_source_fromstring_dynamic_impl,adms_source_tostring_dynamic_impl)); mynewsource->_dynamic_isdefault=1; mynewsource->_whitenoise_isdefault=-1; adms_source_valueto_whitenoise(mynewsource,adms_enumeration_new(adms_source_enumeration_whitenoise_no,adms_source_fromstring_whitenoise_impl,adms_source_tostring_whitenoise_impl)); mynewsource->_whitenoise_isdefault=1; mynewsource->_flickernoise_isdefault=-1; adms_source_valueto_flickernoise(mynewsource,adms_enumeration_new(adms_source_enumeration_flickernoise_no,adms_source_fromstring_flickernoise_impl,adms_source_tostring_flickernoise_impl)); mynewsource->_flickernoise_isdefault=1; mynewsource->_grounded_isdefault=-1; adms_source_valueto_grounded(mynewsource,adms_enumeration_new(adms_source_enumeration_grounded_no,adms_source_fromstring_grounded_impl,adms_source_tostring_grounded_impl)); mynewsource->_grounded_isdefault=1; mynewsource->_switch_isdefault=-1; adms_source_valueto_switch(mynewsource,adms_enumeration_new(adms_source_enumeration_switch_no,adms_source_fromstring_switch_impl,adms_source_tostring_switch_impl)); mynewsource->_switch_isdefault=1; mynewsource->_type_isdefault=-1; adms_source_valueto_type(mynewsource,adms_enumeration_new(adms_source_enumeration_type_fs,adms_source_fromstring_type_impl,adms_source_tostring_type_impl)); mynewsource->_type_isdefault=1; mynewsource->_probe_isdefault=-1; mynewsource->_attribute_isdefault=-1; return mynewsource; } p_adms adms_source_new_impl (p_adms arguments[]) { p_source mynewsource; p_module mymodule=(p_module)arguments[0]; p_branch mybranch=(p_branch)arguments[1]; p_nature mynature=(p_nature)arguments[2]; mynewsource=adms_source_new(mymodule,mybranch,mynature); return adms_adms(mynewsource); } /*$3($2)*/ char*adms_source_uid (p_source mynewsource) { char*myuid=NULL; char*myuid0=adms_nature_uid(mynewsource->_nature); char*myuid1=adms_branch_uid(mynewsource->_branch); adms_strconcat(&myuid,myuid0); adms_strconcat2(&myuid,"("); adms_strconcat(&myuid,myuid1); adms_strconcat2(&myuid,")"); return myuid; } inline void adms_source_valueto_module (p_source mysource,p_module _module) { mysource->_module=_module; mysource->_module_isdefault=0; } inline void adms_source_valueto_branch (p_source mysource,p_branch _branch) { mysource->_branch=_branch; mysource->_branch_isdefault=0; } inline void adms_source_valueto_nature (p_source mysource,p_nature _nature) { mysource->_nature=_nature; mysource->_nature_isdefault=0; } inline void adms_source_valueto_discipline (p_source mysource,p_discipline _discipline) { mysource->_discipline=_discipline; mysource->_discipline_isdefault=0; } inline void adms_source_valueto_static (p_source mysource,p_enumeration _static) { mysource->_static=_static; mysource->_static_isdefault=0; } inline void adms_source_valueto_dynamic (p_source mysource,p_enumeration _dynamic) { mysource->_dynamic=_dynamic; mysource->_dynamic_isdefault=0; } inline void adms_source_valueto_whitenoise (p_source mysource,p_enumeration _whitenoise) { mysource->_whitenoise=_whitenoise; mysource->_whitenoise_isdefault=0; } inline void adms_source_valueto_flickernoise (p_source mysource,p_enumeration _flickernoise) { mysource->_flickernoise=_flickernoise; mysource->_flickernoise_isdefault=0; } inline void adms_source_valueto_grounded (p_source mysource,p_enumeration _grounded) { mysource->_grounded=_grounded; mysource->_grounded_isdefault=0; } inline void adms_source_valueto_switch (p_source mysource,p_enumeration _switch) { mysource->_switch=_switch; mysource->_switch_isdefault=0; } inline void adms_source_valueto_type (p_source mysource,p_enumeration _type) { mysource->_type=_type; mysource->_type_isdefault=0; } inline void adms_source_valueto_probe (p_source mysource,p_slist _probe) { mysource->_probe=_probe; mysource->_probe_isdefault=0; } p_probe adms_source_list_probe_lookup_by_id (p_source mymysource,p_module mymodule,p_branch mybranch,p_nature mynature) { p_slist list=adms_source_valueof_probe(mymysource); while(list) { p_probe refprobe=adms_probe(list->data); if((adms_probe_valueof_module(refprobe)==mymodule)&& (adms_probe_valueof_branch(refprobe)==mybranch)&& (adms_probe_valueof_nature(refprobe)==mynature)) return refprobe; list=list->next; } return NULL; } p_probe adms_source_list_probe_prepend_by_id (p_source mymysource,p_module mymodule,p_branch mybranch,p_nature mynature) { p_probe refprobe=adms_probe_new(mymodule,mybranch,mynature); adms_slist_push(&adms_source_valueof_probe(mymysource),adms_adms(refprobe)); return refprobe; } p_probe adms_source_list_probe_prepend_by_id_once_or_ignore (p_source mymysource,p_module mymodule,p_branch mybranch,p_nature mynature) { p_slist list=adms_source_valueof_probe(mymysource); p_probe refprobe=adms_probe_new(mymodule,mybranch,mynature); while(list) { if(!adms_probe_cmp(adms_probe(list->data),refprobe)) { adms_probe_free (refprobe); return adms_probe(list->data); } list=list->next; } adms_slist_push(&adms_source_valueof_probe(mymysource),adms_adms(refprobe)); return refprobe; } void adms_source_list_probe_prepend_once_or_ignore (p_source mymysource,p_probe myprobe) { p_slist list=adms_source_valueof_probe(mymysource); while(list) { if(!adms_probe_cmp(adms_probe(list->data),myprobe)) return; list=list->next; } adms_slist_push(&adms_source_valueof_probe(mymysource),adms_adms(myprobe)); } inline void adms_source_valueto_attribute (p_source mysource,p_slist _attribute) { mysource->_attribute=_attribute; mysource->_attribute_isdefault=0; } p_attribute adms_source_list_attribute_lookup_by_id (p_source mymysource,p_quark myname) { p_slist list=adms_source_valueof_attribute(mymysource); while(list) { p_attribute refattribute=adms_attribute(list->data); if(!strcmp(adms_attribute_valueof_name(refattribute)->_value,myname->_value)) return refattribute; list=list->next; } return NULL; } p_attribute adms_source_list_attribute_prepend_by_id (p_source mymysource,p_quark myname) { p_attribute refattribute=adms_attribute_new(myname); adms_slist_push(&adms_source_valueof_attribute(mymysource),adms_adms(refattribute)); return refattribute; } p_attribute adms_source_list_attribute_prepend_by_id_once_or_ignore (p_source mymysource,p_quark myname) { p_attribute refattribute=adms_attribute_new(myname); adms_slist_push(&adms_source_valueof_attribute(mymysource),adms_adms(refattribute)); return refattribute; } void adms_source_list_attribute_prepend (p_source mymysource,p_attribute myattribute) { adms_slist_push(&adms_source_valueof_attribute(mymysource),adms_adms(myattribute)); } e_source_static adms_source_fromstring_static_impl (p_admsttransform myadmsttransform,char*token) { if(!strcmp(token,"no")) return adms_source_enumeration_static_no; if(!strcmp(token,"yes")) return adms_source_enumeration_static_yes; adms_message_fatal_continue(("select='source/static': possible values:\n")) adms_message_fatal_continue(("no|yes\n")) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmsttransform))) return 0; } char* adms_source_tostring_static_impl (p_admsttransform myadmsttransform,p_enumeration myenumeration) { e_source_static e=myenumeration->_value; if(e==adms_source_enumeration_static_no) return "no"; if(e==adms_source_enumeration_static_yes) return "yes"; adms_message_fatal_continue(("select='source/static': possible values:\n")) adms_message_fatal_continue(("no|yes\n")) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmsttransform))) return NULL; } e_source_dynamic adms_source_fromstring_dynamic_impl (p_admsttransform myadmsttransform,char*token) { if(!strcmp(token,"no")) return adms_source_enumeration_dynamic_no; if(!strcmp(token,"yes")) return adms_source_enumeration_dynamic_yes; adms_message_fatal_continue(("select='source/dynamic': possible values:\n")) adms_message_fatal_continue(("no|yes\n")) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmsttransform))) return 0; } char* adms_source_tostring_dynamic_impl (p_admsttransform myadmsttransform,p_enumeration myenumeration) { e_source_dynamic e=myenumeration->_value; if(e==adms_source_enumeration_dynamic_no) return "no"; if(e==adms_source_enumeration_dynamic_yes) return "yes"; adms_message_fatal_continue(("select='source/dynamic': possible values:\n")) adms_message_fatal_continue(("no|yes\n")) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmsttransform))) return NULL; } e_source_whitenoise adms_source_fromstring_whitenoise_impl (p_admsttransform myadmsttransform,char*token) { if(!strcmp(token,"no")) return adms_source_enumeration_whitenoise_no; if(!strcmp(token,"yes")) return adms_source_enumeration_whitenoise_yes; adms_message_fatal_continue(("select='source/whitenoise': possible values:\n")) adms_message_fatal_continue(("no|yes\n")) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmsttransform))) return 0; } char* adms_source_tostring_whitenoise_impl (p_admsttransform myadmsttransform,p_enumeration myenumeration) { e_source_whitenoise e=myenumeration->_value; if(e==adms_source_enumeration_whitenoise_no) return "no"; if(e==adms_source_enumeration_whitenoise_yes) return "yes"; adms_message_fatal_continue(("select='source/whitenoise': possible values:\n")) adms_message_fatal_continue(("no|yes\n")) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmsttransform))) return NULL; } e_source_flickernoise adms_source_fromstring_flickernoise_impl (p_admsttransform myadmsttransform,char*token) { if(!strcmp(token,"no")) return adms_source_enumeration_flickernoise_no; if(!strcmp(token,"yes")) return adms_source_enumeration_flickernoise_yes; adms_message_fatal_continue(("select='source/flickernoise': possible values:\n")) adms_message_fatal_continue(("no|yes\n")) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmsttransform))) return 0; } char* adms_source_tostring_flickernoise_impl (p_admsttransform myadmsttransform,p_enumeration myenumeration) { e_source_flickernoise e=myenumeration->_value; if(e==adms_source_enumeration_flickernoise_no) return "no"; if(e==adms_source_enumeration_flickernoise_yes) return "yes"; adms_message_fatal_continue(("select='source/flickernoise': possible values:\n")) adms_message_fatal_continue(("no|yes\n")) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmsttransform))) return NULL; } e_source_grounded adms_source_fromstring_grounded_impl (p_admsttransform myadmsttransform,char*token) { if(!strcmp(token,"no")) return adms_source_enumeration_grounded_no; if(!strcmp(token,"yes")) return adms_source_enumeration_grounded_yes; adms_message_fatal_continue(("select='source/grounded': possible values:\n")) adms_message_fatal_continue(("no|yes\n")) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmsttransform))) return 0; } char* adms_source_tostring_grounded_impl (p_admsttransform myadmsttransform,p_enumeration myenumeration) { e_source_grounded e=myenumeration->_value; if(e==adms_source_enumeration_grounded_no) return "no"; if(e==adms_source_enumeration_grounded_yes) return "yes"; adms_message_fatal_continue(("select='source/grounded': possible values:\n")) adms_message_fatal_continue(("no|yes\n")) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmsttransform))) return NULL; } e_source_switch adms_source_fromstring_switch_impl (p_admsttransform myadmsttransform,char*token) { if(!strcmp(token,"no")) return adms_source_enumeration_switch_no; if(!strcmp(token,"yes")) return adms_source_enumeration_switch_yes; adms_message_fatal_continue(("select='source/switch': possible values:\n")) adms_message_fatal_continue(("no|yes\n")) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmsttransform))) return 0; } char* adms_source_tostring_switch_impl (p_admsttransform myadmsttransform,p_enumeration myenumeration) { e_source_switch e=myenumeration->_value; if(e==adms_source_enumeration_switch_no) return "no"; if(e==adms_source_enumeration_switch_yes) return "yes"; adms_message_fatal_continue(("select='source/switch': possible values:\n")) adms_message_fatal_continue(("no|yes\n")) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmsttransform))) return NULL; } e_source_type adms_source_fromstring_type_impl (p_admsttransform myadmsttransform,char*token) { if(!strcmp(token,"flicker")) return adms_source_enumeration_type_flicker; if(!strcmp(token,"fs")) return adms_source_enumeration_type_fs; if(!strcmp(token,"ps")) return adms_source_enumeration_type_ps; if(!strcmp(token,"shot")) return adms_source_enumeration_type_shot; if(!strcmp(token,"thermal")) return adms_source_enumeration_type_thermal; adms_message_fatal_continue(("select='source/type': possible values:\n")) adms_message_fatal_continue(("flicker|fs|ps|shot|thermal\n")) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmsttransform))) return 0; } char* adms_source_tostring_type_impl (p_admsttransform myadmsttransform,p_enumeration myenumeration) { e_source_type e=myenumeration->_value; if(e==adms_source_enumeration_type_flicker) return "flicker"; if(e==adms_source_enumeration_type_fs) return "fs"; if(e==adms_source_enumeration_type_ps) return "ps"; if(e==adms_source_enumeration_type_shot) return "shot"; if(e==adms_source_enumeration_type_thermal) return "thermal"; adms_message_fatal_continue(("select='source/type': possible values:\n")) adms_message_fatal_continue(("flicker|fs|ps|shot|thermal\n")) adms_message_fatal(("see %s\n",adms_admsttransform_uid(myadmsttransform))) return NULL; }