📄 twebenv.c
字号:
/**************************************************** QueryRelatedNew()***************************************************/NLM_EXTERN QueryRelatedPtr LIBCALLQueryRelatedNew(void){ QueryRelatedPtr ptr = MemNew((size_t) sizeof(QueryRelated)); return ptr;}/**************************************************** QueryRelatedFree()***************************************************/NLM_EXTERN QueryRelatedPtr LIBCALLQueryRelatedFree(QueryRelatedPtr ptr){ if(ptr == NULL) { return NULL; } QueryCommandFree(ptr -> base); MemFree(ptr -> relation); MemFree(ptr -> db); Items_itemsFree(ptr -> Items_items); return MemFree(ptr);}/**************************************************** Items_itemsFree()***************************************************/static Items_itemsPtr LIBCALLItems_itemsFree(ValNodePtr anp){ Pointer pnt; if (anp == NULL) { return NULL; } pnt = anp->data.ptrvalue; switch (anp->choice) { default: break; case Items_items_items: ItemSetFree(anp -> data.ptrvalue); break; } return MemFree(anp);}/**************************************************** QueryRelatedAsnRead()***************************************************/NLM_EXTERN QueryRelatedPtr LIBCALLQueryRelatedAsnRead(AsnIoPtr aip, AsnTypePtr orig){ DataVal av; AsnTypePtr atp; Boolean isError = FALSE; AsnReadFunc func; QueryRelatedPtr ptr; if (! loaded) { if (! twebenvAsnLoad()) { return NULL; } } if (aip == NULL) { return NULL; } if (orig == NULL) { /* QueryRelated ::= (self contained) */ atp = AsnReadId(aip, amp, QUERY_RELATED); } else { atp = AsnLinkType(orig, QUERY_RELATED); } /* link in local tree */ if (atp == NULL) { return NULL; } ptr = QueryRelatedNew(); if (ptr == NULL) { goto erret; } if (AsnReadVal(aip, atp, &av) <= 0) { /* read the start struct */ goto erret; } atp = AsnReadId(aip,amp, atp); func = NULL; if (atp == QUERY_RELATED_base) { ptr -> base = QueryCommandAsnRead(aip, atp); if (aip -> io_failure) { goto erret; } atp = AsnReadId(aip,amp, atp); } if (atp == QUERY_RELATED_relation) { if ( AsnReadVal(aip, atp, &av) <= 0) { goto erret; } ptr -> relation = av.ptrvalue; atp = AsnReadId(aip,amp, atp); } if (atp == QUERY_RELATED_db) { if ( AsnReadVal(aip, atp, &av) <= 0) { goto erret; } ptr -> db = av.ptrvalue; atp = AsnReadId(aip,amp, atp); } if (atp == QUERY_RELATED_items) { ptr -> Items_items = Items_itemsAsnRead(aip, atp); if (aip -> io_failure) { goto erret; } atp = AsnReadId(aip,amp, atp); } if (AsnReadVal(aip, atp, &av) <= 0) { goto erret; } /* end struct */ret: AsnUnlinkType(orig); /* unlink local tree */ return ptr;erret: aip -> io_failure = TRUE; ptr = QueryRelatedFree(ptr); goto ret;}/**************************************************** Items_itemsAsnRead()***************************************************/static Items_itemsPtr LIBCALLItems_itemsAsnRead(AsnIoPtr aip, AsnTypePtr orig){ DataVal av; AsnTypePtr atp; ValNodePtr anp; Uint1 choice; Boolean isError = FALSE; Boolean nullIsError = FALSE; AsnReadFunc func; if (! loaded) { if (! twebenvAsnLoad()) { return NULL; } } if (aip == NULL) { return NULL; } if (orig == NULL) { /* Items_items ::= (self contained) */ atp = AsnReadId(aip, amp, QUERY_RELATED_items); } else { atp = AsnLinkType(orig, QUERY_RELATED_items); /* link in local tree */ } if (atp == NULL) { return NULL; } anp = ValNodeNew(NULL); if (anp == NULL) { goto erret; } if (AsnReadVal(aip, atp, &av) <= 0) { /* read the CHOICE or OpenStruct value (nothing) */ goto erret; } func = NULL; atp = AsnReadId(aip, amp, atp); /* find the choice */ if (atp == NULL) { goto erret; } if (atp == QUERY_RELATED_items_items) { choice = Items_items_items; func = (AsnReadFunc) ItemSetAsnRead; } else if (atp == QUERY_RELATED_items_itemCount) { choice = Items_items_itemCount; if (AsnReadVal(aip, atp, &av) <= 0) { goto erret; } anp->data.intvalue = av.intvalue; } anp->choice = choice; if (func != NULL) { anp->data.ptrvalue = (* func)(aip, atp); if (aip -> io_failure) goto erret; if (nullIsError && anp->data.ptrvalue == NULL) { goto erret; } }ret: AsnUnlinkType(orig); /* unlink local tree */ return anp;erret: anp = MemFree(anp); aip -> io_failure = TRUE; goto ret;}/**************************************************** QueryRelatedAsnWrite()***************************************************/NLM_EXTERN Boolean LIBCALL QueryRelatedAsnWrite(QueryRelatedPtr ptr, AsnIoPtr aip, AsnTypePtr orig){ DataVal av; AsnTypePtr atp; Boolean retval = FALSE; if (! loaded) { if (! twebenvAsnLoad()) { return FALSE; } } if (aip == NULL) { return FALSE; } atp = AsnLinkType(orig, QUERY_RELATED); /* link local tree */ if (atp == NULL) { return FALSE; } if (ptr == NULL) { AsnNullValueMsg(aip, atp); goto erret; } if (! AsnOpenStruct(aip, atp, (Pointer) ptr)) { goto erret; } if (ptr -> base != NULL) { if ( ! QueryCommandAsnWrite(ptr -> base, aip, QUERY_RELATED_base)) { goto erret; } } if (ptr -> relation != NULL) { av.ptrvalue = ptr -> relation; retval = AsnWrite(aip, QUERY_RELATED_relation, &av); } if (ptr -> db != NULL) { av.ptrvalue = ptr -> db; retval = AsnWrite(aip, QUERY_RELATED_db, &av); } if (ptr -> Items_items != NULL) { if ( ! Items_itemsAsnWrite(ptr -> Items_items, aip, QUERY_RELATED_items)) { goto erret; } } if (! AsnCloseStruct(aip, atp, (Pointer)ptr)) { goto erret; } retval = TRUE;erret: AsnUnlinkType(orig); /* unlink local tree */ return retval;}/**************************************************** Items_itemsAsnWrite()***************************************************/static Boolean LIBCALL Items_itemsAsnWrite(Items_itemsPtr anp, AsnIoPtr aip, AsnTypePtr orig){ DataVal av; AsnTypePtr atp, writetype = NULL; Pointer pnt; AsnWriteFunc func = NULL; Boolean retval = FALSE; if (! loaded) { if (! twebenvAsnLoad()) return FALSE; } if (aip == NULL) return FALSE; atp = AsnLinkType(orig, QUERY_RELATED_items); /* link local tree */ if (atp == NULL) { return FALSE; } if (anp == NULL) { AsnNullValueMsg(aip, atp); goto erret; } av.ptrvalue = (Pointer)anp; if (! AsnWriteChoice(aip, atp, (Int2)anp->choice, &av)) { goto erret; } pnt = anp->data.ptrvalue; switch (anp->choice) { case Items_items_items: writetype = QUERY_RELATED_items_items; func = (AsnWriteFunc) ItemSetAsnWrite; break; case Items_items_itemCount: av.intvalue = anp->data.intvalue; retval = AsnWrite(aip, QUERY_RELATED_items_itemCount, &av); break; } if (writetype != NULL) { retval = (* func)(pnt, aip, writetype); /* write it out */ } if (!retval) { goto erret; } retval = TRUE;erret: AsnUnlinkType(orig); /* unlink local tree */ return retval;}/**************************************************** ItemSetNew()***************************************************/NLM_EXTERN ItemSetPtr LIBCALLItemSetNew(void){ ItemSetPtr ptr = MemNew((size_t) sizeof(ItemSet)); return ptr;}/**************************************************** ItemSetFree()***************************************************/NLM_EXTERN ItemSetPtr LIBCALLItemSetFree(ItemSetPtr ptr){ if(ptr == NULL) { return NULL; } BSFree(ptr -> items); return MemFree(ptr);}/**************************************************** ItemSetAsnRead()***************************************************/NLM_EXTERN ItemSetPtr LIBCALLItemSetAsnRead(AsnIoPtr aip, AsnTypePtr orig){ DataVal av; AsnTypePtr atp; Boolean isError = FALSE; AsnReadFunc func; ItemSetPtr ptr; if (! loaded) { if (! twebenvAsnLoad()) { return NULL; } } if (aip == NULL) { return NULL; } if (orig == NULL) { /* ItemSet ::= (self contained) */ atp = AsnReadId(aip, amp, ITEM_SET); } else { atp = AsnLinkType(orig, ITEM_SET); } /* link in local tree */ if (atp == NULL) { return NULL; } ptr = ItemSetNew(); if (ptr == NULL) { goto erret; } if (AsnReadVal(aip, atp, &av) <= 0) { /* read the start struct */ goto erret; } atp = AsnReadId(aip,amp, atp); func = NULL; if (atp == ITEM_SET_items) { if ( AsnReadVal(aip, atp, &av) <= 0) { goto erret; } ptr -> items = av.ptrvalue; atp = AsnReadId(aip,amp, atp); } if (atp == ITEM_SET_count) { if ( AsnReadVal(aip, atp, &av) <= 0) { goto erret; } ptr -> count = av.intvalue; atp = AsnReadId(aip,amp, atp); } if (AsnReadVal(aip, atp, &av) <= 0) { goto erret; } /* end struct */ret: AsnUnlinkType(orig); /* unlink local tree */ return ptr;erret: aip -> io_failure = TRUE; ptr = ItemSetFree(ptr); goto ret;}/**************************************************** ItemSetAsnWrite()***************************************************/NLM_EXTERN Boolean LIBCALL ItemSetAsnWrite(ItemSetPtr ptr, AsnIoPtr aip, AsnTypePtr orig){ DataVal av; AsnTypePtr atp; Boolean retval = FALSE; if (! loaded) { if (! twebenvAsnLoad()) { return FALSE; } } if (aip == NULL) { return FALSE; } atp = AsnLinkType(orig, ITEM_SET); /* link local tree */ if (atp == NULL) { return FALSE; } if (ptr == NULL) { AsnNullValueMsg(aip, atp); goto erret; } if (! AsnOpenStruct(aip, atp, (Pointer) ptr)) { goto erret; } if (ptr -> items != NULL) { av.ptrvalue = ptr -> items; retval = AsnWrite(aip, ITEM_SET_items, &av); } av.intvalue = ptr -> count; retval = AsnWrite(aip, ITEM_SET_count, &av); if (! AsnCloseStruct(aip, atp, (Pointer)ptr)) { goto erret; } retval = TRUE;erret: AsnUnlinkType(orig); /* unlink local tree */ return retval;}/**************************************************** FullTimeNew()***************************************************/NLM_EXTERN FullTimePtr LIBCALLFullTimeNew(void){ FullTimePtr ptr = MemNew((size_t) sizeof(FullTime)); return ptr;}/**************************************************** FullTimeFree()***************************************************/NLM_EXTERN FullTimePtr LIBCALLFullTimeFree(FullTimePtr ptr){ if(ptr == NULL) { return NULL; } return MemFree(ptr);}/**************************************************** FullTimeAsnRead()***************************************************/NLM_EXTERN FullTimePtr LIBCALLFullTimeAsnRead(AsnIoPtr aip, AsnTypePtr orig){ DataVal av; AsnTypePtr atp; Boolean isError = FALSE; AsnReadFunc func; FullTimePtr ptr; if (! loaded) { if (! twebenvAsnLoad()) { return NULL; } } if (aip == NULL) { return NULL; } if (orig == NULL) { /* FullTime ::= (self contained) */ atp = AsnReadId(aip, amp, FULL_TIME); } else { atp = AsnLinkType(orig, FULL_TIME); } /* link in local tree */ if (atp == NULL) { return NULL; } ptr = FullTimeNew(); if (ptr == NULL) { goto erret; } if (AsnReadVal(aip, atp, &av) <= 0) { /* read the start struct */ goto erret; } atp = AsnReadId(aip,amp, atp); func = NULL; if (atp == FULL_TIME_year) { if ( AsnReadVal(aip, atp, &av) <= 0) { goto erret; } ptr -> year = av.intvalue; atp = AsnReadId(aip,amp, atp); } if (atp == FULL_TIME_month) { if ( AsnReadVal(aip, atp, &av) <= 0) { goto erret; } ptr -> month = av.intvalue; atp = AsnReadId(aip,amp, atp); } if (atp == FULL_TIME_day) { if ( AsnReadVal(aip, atp, &av) <= 0) { goto erret; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -