📄 twebenv.c
字号:
/**************************************************** NamedItemSetNew()***************************************************/NLM_EXTERN NamedItemSetPtr LIBCALLNamedItemSetNew(void){ NamedItemSetPtr ptr = MemNew((size_t) sizeof(NamedItemSet)); return ptr;}/**************************************************** NamedItemSetFree()***************************************************/NLM_EXTERN NamedItemSetPtr LIBCALLNamedItemSetFree(NamedItemSetPtr ptr){ if(ptr == NULL) { return NULL; } NameFree(ptr -> name); MemFree(ptr -> db); ItemSetFree(ptr -> item_Set); return MemFree(ptr);}/**************************************************** NamedItemSetAsnRead()***************************************************/NLM_EXTERN NamedItemSetPtr LIBCALLNamedItemSetAsnRead(AsnIoPtr aip, AsnTypePtr orig){ DataVal av; AsnTypePtr atp; Boolean isError = FALSE; AsnReadFunc func; NamedItemSetPtr ptr; if (! loaded) { if (! twebenvAsnLoad()) { return NULL; } } if (aip == NULL) { return NULL; } if (orig == NULL) { /* NamedItemSet ::= (self contained) */ atp = AsnReadId(aip, amp, NAMED_ITEM_SET); } else { atp = AsnLinkType(orig, NAMED_ITEM_SET); } /* link in local tree */ if (atp == NULL) { return NULL; } ptr = NamedItemSetNew(); 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 == NAMED_ITEM_SET_name) { ptr -> name = NameAsnRead(aip, atp); if (aip -> io_failure) { goto erret; } atp = AsnReadId(aip,amp, atp); } if (atp == NAMED_ITEM_SET_db) { if ( AsnReadVal(aip, atp, &av) <= 0) { goto erret; } ptr -> db = av.ptrvalue; atp = AsnReadId(aip,amp, atp); } if (atp == NAMED_ITEM_SET_item_Set) { ptr -> item_Set = ItemSetAsnRead(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 = NamedItemSetFree(ptr); goto ret;}/**************************************************** NamedItemSetAsnWrite()***************************************************/NLM_EXTERN Boolean LIBCALL NamedItemSetAsnWrite(NamedItemSetPtr 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, NAMED_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 -> name != NULL) { if ( ! NameAsnWrite(ptr -> name, aip, NAMED_ITEM_SET_name)) { goto erret; } } if (ptr -> db != NULL) { av.ptrvalue = ptr -> db; retval = AsnWrite(aip, NAMED_ITEM_SET_db, &av); } if (ptr -> item_Set != NULL) { if ( ! ItemSetAsnWrite(ptr -> item_Set, aip, NAMED_ITEM_SET_item_Set)) { goto erret; } } if (! AsnCloseStruct(aip, atp, (Pointer)ptr)) { goto erret; } retval = TRUE;erret: AsnUnlinkType(orig); /* unlink local tree */ return retval;}/**************************************************** FilterValueNew()***************************************************/NLM_EXTERN FilterValuePtr LIBCALLFilterValueNew(void){ FilterValuePtr ptr = MemNew((size_t) sizeof(FilterValue)); return ptr;}/**************************************************** FilterValueFree()***************************************************/NLM_EXTERN FilterValuePtr LIBCALLFilterValueFree(FilterValuePtr ptr){ if(ptr == NULL) { return NULL; } MemFree(ptr -> name); MemFree(ptr -> value); return MemFree(ptr);}/**************************************************** FilterValueAsnRead()***************************************************/NLM_EXTERN FilterValuePtr LIBCALLFilterValueAsnRead(AsnIoPtr aip, AsnTypePtr orig){ DataVal av; AsnTypePtr atp; Boolean isError = FALSE; AsnReadFunc func; FilterValuePtr ptr; if (! loaded) { if (! twebenvAsnLoad()) { return NULL; } } if (aip == NULL) { return NULL; } if (orig == NULL) { /* FilterValue ::= (self contained) */ atp = AsnReadId(aip, amp, FILTER_VALUE); } else { atp = AsnLinkType(orig, FILTER_VALUE); } /* link in local tree */ if (atp == NULL) { return NULL; } ptr = FilterValueNew(); 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 == FILTER_VALUE_name) { if ( AsnReadVal(aip, atp, &av) <= 0) { goto erret; } ptr -> name = av.ptrvalue; atp = AsnReadId(aip,amp, atp); } if (atp == FILTER_VALUE_value) { if ( AsnReadVal(aip, atp, &av) <= 0) { goto erret; } ptr -> value = av.ptrvalue; 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 = FilterValueFree(ptr); goto ret;}/**************************************************** FilterValueAsnWrite()***************************************************/NLM_EXTERN Boolean LIBCALL FilterValueAsnWrite(FilterValuePtr 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, FILTER_VALUE); /* 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 -> name != NULL) { av.ptrvalue = ptr -> name; retval = AsnWrite(aip, FILTER_VALUE_name, &av); } if (ptr -> value != NULL) { av.ptrvalue = ptr -> value; retval = AsnWrite(aip, FILTER_VALUE_value, &av); } if (! AsnCloseStruct(aip, atp, (Pointer)ptr)) { goto erret; } retval = TRUE;erret: AsnUnlinkType(orig); /* unlink local tree */ return retval;}/**************************************************** DbClipboardNew()***************************************************/NLM_EXTERN DbClipboardPtr LIBCALLDbClipboardNew(void){ DbClipboardPtr ptr = MemNew((size_t) sizeof(DbClipboard)); return ptr;}/**************************************************** DbClipboardFree()***************************************************/NLM_EXTERN DbClipboardPtr LIBCALLDbClipboardFree(DbClipboardPtr ptr){ if(ptr == NULL) { return NULL; } MemFree(ptr -> name); ItemSetFree(ptr -> items); return MemFree(ptr);}/**************************************************** DbClipboardAsnRead()***************************************************/NLM_EXTERN DbClipboardPtr LIBCALLDbClipboardAsnRead(AsnIoPtr aip, AsnTypePtr orig){ DataVal av; AsnTypePtr atp; Boolean isError = FALSE; AsnReadFunc func; DbClipboardPtr ptr; if (! loaded) { if (! twebenvAsnLoad()) { return NULL; } } if (aip == NULL) { return NULL; } if (orig == NULL) { /* DbClipboard ::= (self contained) */ atp = AsnReadId(aip, amp, DB_CLIPBOARD); } else { atp = AsnLinkType(orig, DB_CLIPBOARD); } /* link in local tree */ if (atp == NULL) { return NULL; } ptr = DbClipboardNew(); 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 == DB_CLIPBOARD_name) { if ( AsnReadVal(aip, atp, &av) <= 0) { goto erret; } ptr -> name = av.ptrvalue; atp = AsnReadId(aip,amp, atp); } if (atp == DB_CLIPBOARD_count) { if ( AsnReadVal(aip, atp, &av) <= 0) { goto erret; } ptr -> count = av.intvalue; atp = AsnReadId(aip,amp, atp); } if (atp == DB_CLIPBOARD_items) { ptr -> items = ItemSetAsnRead(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 = DbClipboardFree(ptr); goto ret;}/**************************************************** DbClipboardAsnWrite()***************************************************/NLM_EXTERN Boolean LIBCALL DbClipboardAsnWrite(DbClipboardPtr 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, DB_CLIPBOARD); /* 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 -> name != NULL) { av.ptrvalue = ptr -> name; retval = AsnWrite(aip, DB_CLIPBOARD_name, &av); } av.intvalue = ptr -> count; retval = AsnWrite(aip, DB_CLIPBOARD_count, &av); if (ptr -> items != NULL) { if ( ! ItemSetAsnWrite(ptr -> items, aip, DB_CLIPBOARD_items)) { goto erret; } } if (! AsnCloseStruct(aip, atp, (Pointer)ptr)) { goto erret; } retval = TRUE;erret: AsnUnlinkType(orig); /* unlink local tree */ return retval;}/**************************************************** TimeFree()***************************************************/NLM_EXTERN TimePtr LIBCALLTimeFree(ValNodePtr anp){ Pointer pnt; if (anp == NULL) { return NULL; } pnt = anp->data.ptrvalue; switch (anp->choice) { default: break; case Time_full: FullTimeFree(anp -> data.ptrvalue); break; } return MemFree(anp);}/**************************************************** TimeAsnRead()***************************************************/NLM_EXTERN TimePtr LIBCALLTimeAsnRead(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) { /* Time ::= (self contained) */ atp = AsnReadId(aip, amp, TIME); } else { atp = AsnLinkType(orig, TIME); /* 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 == TIME_unix) { choice = Time_unix; if (AsnReadVal(aip, atp, &av) <= 0) { goto erret; } anp->data.intvalue = av.intvalue; } else if (atp == TIME_full) { choice = Time_full; func = (AsnReadFunc) FullTimeAsnRead; } 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 */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -