📄 twebenv.c
字号:
return anp;erret: anp = MemFree(anp); aip -> io_failure = TRUE; goto ret;}/**************************************************** TimeAsnWrite()***************************************************/NLM_EXTERN Boolean LIBCALL TimeAsnWrite(TimePtr 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, TIME); /* 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 Time_unix: av.intvalue = anp->data.intvalue; retval = AsnWrite(aip, TIME_unix, &av); break; case Time_full: writetype = TIME_full; func = (AsnWriteFunc) FullTimeAsnWrite; 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;}/**************************************************** QueryCommandFree()***************************************************/NLM_EXTERN QueryCommandPtr LIBCALLQueryCommandFree(ValNodePtr anp){ Pointer pnt; if (anp == NULL) { return NULL; } pnt = anp->data.ptrvalue; switch (anp->choice) { default: break; case QueryCommand_search: QuerySearchFree(anp -> data.ptrvalue); break; case QueryCommand_select: QuerySelectFree(anp -> data.ptrvalue); break; case QueryCommand_related: QueryRelatedFree(anp -> data.ptrvalue); break; } return MemFree(anp);}/**************************************************** QueryCommandAsnRead()***************************************************/NLM_EXTERN QueryCommandPtr LIBCALLQueryCommandAsnRead(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) { /* QueryCommand ::= (self contained) */ atp = AsnReadId(aip, amp, QUERY_COMMAND); } else { atp = AsnLinkType(orig, QUERY_COMMAND); /* 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_COMMAND_search) { choice = QueryCommand_search; func = (AsnReadFunc) QuerySearchAsnRead; } else if (atp == QUERY_COMMAND_select) { choice = QueryCommand_select; func = (AsnReadFunc) QuerySelectAsnRead; } else if (atp == QUERY_COMMAND_related) { choice = QueryCommand_related; func = (AsnReadFunc) QueryRelatedAsnRead; } 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;}/**************************************************** QueryCommandAsnWrite()***************************************************/NLM_EXTERN Boolean LIBCALL QueryCommandAsnWrite(QueryCommandPtr 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_COMMAND); /* 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 QueryCommand_search: writetype = QUERY_COMMAND_search; func = (AsnWriteFunc) QuerySearchAsnWrite; break; case QueryCommand_select: writetype = QUERY_COMMAND_select; func = (AsnWriteFunc) QuerySelectAsnWrite; break; case QueryCommand_related: writetype = QUERY_COMMAND_related; func = (AsnWriteFunc) QueryRelatedAsnWrite; 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;}/**************************************************** QuerySearchNew()***************************************************/NLM_EXTERN QuerySearchPtr LIBCALLQuerySearchNew(void){ QuerySearchPtr ptr = MemNew((size_t) sizeof(QuerySearch)); return ptr;}/**************************************************** QuerySearchFree()***************************************************/NLM_EXTERN QuerySearchPtr LIBCALLQuerySearchFree(QuerySearchPtr ptr){ if(ptr == NULL) { return NULL; } MemFree(ptr -> db); MemFree(ptr -> term); MemFree(ptr -> field); AsnGenericUserSeqOfFree(ptr -> filters, (AsnOptFreeFunc) FilterValueFree); return MemFree(ptr);}/**************************************************** QuerySearchAsnRead()***************************************************/NLM_EXTERN QuerySearchPtr LIBCALLQuerySearchAsnRead(AsnIoPtr aip, AsnTypePtr orig){ DataVal av; AsnTypePtr atp; Boolean isError = FALSE; AsnReadFunc func; QuerySearchPtr ptr; if (! loaded) { if (! twebenvAsnLoad()) { return NULL; } } if (aip == NULL) { return NULL; } if (orig == NULL) { /* QuerySearch ::= (self contained) */ atp = AsnReadId(aip, amp, QUERY_SEARCH); } else { atp = AsnLinkType(orig, QUERY_SEARCH); } /* link in local tree */ if (atp == NULL) { return NULL; } ptr = QuerySearchNew(); 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_SEARCH_db) { if ( AsnReadVal(aip, atp, &av) <= 0) { goto erret; } ptr -> db = av.ptrvalue; atp = AsnReadId(aip,amp, atp); } if (atp == QUERY_SEARCH_term) { if ( AsnReadVal(aip, atp, &av) <= 0) { goto erret; } ptr -> term = av.ptrvalue; atp = AsnReadId(aip,amp, atp); } if (atp == QUERY_SEARCH_field) { if ( AsnReadVal(aip, atp, &av) <= 0) { goto erret; } ptr -> field = av.ptrvalue; atp = AsnReadId(aip,amp, atp); } if (atp == QUERY_SEARCH_filters) { ptr -> filters = AsnGenericUserSeqOfAsnRead(aip, amp, atp, &isError, (AsnReadFunc) FilterValueAsnRead, (AsnOptFreeFunc) FilterValueFree); if (isError && ptr -> filters == NULL) { goto erret; } atp = AsnReadId(aip,amp, atp); } if (atp == QUERY_SEARCH_count) { if ( AsnReadVal(aip, atp, &av) <= 0) { goto erret; } ptr -> count = av.intvalue; atp = AsnReadId(aip,amp, atp); } if (atp == QUERY_SEARCH_flags) { if ( AsnReadVal(aip, atp, &av) <= 0) { goto erret; } ptr -> flags = 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 = QuerySearchFree(ptr); goto ret;}/**************************************************** QuerySearchAsnWrite()***************************************************/NLM_EXTERN Boolean LIBCALL QuerySearchAsnWrite(QuerySearchPtr 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_SEARCH); /* 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 -> db != NULL) { av.ptrvalue = ptr -> db; retval = AsnWrite(aip, QUERY_SEARCH_db, &av); } if (ptr -> term != NULL) { av.ptrvalue = ptr -> term; retval = AsnWrite(aip, QUERY_SEARCH_term, &av); } if (ptr -> field != NULL) { av.ptrvalue = ptr -> field; retval = AsnWrite(aip, QUERY_SEARCH_field, &av); } AsnGenericUserSeqOfAsnWrite(ptr -> filters, (AsnWriteFunc) FilterValueAsnWrite, aip, QUERY_SEARCH_filters, QUERY_SEARCH_filters_E); av.intvalue = ptr -> count; retval = AsnWrite(aip, QUERY_SEARCH_count, &av); av.intvalue = ptr -> flags; retval = AsnWrite(aip, QUERY_SEARCH_flags, &av); if (! AsnCloseStruct(aip, atp, (Pointer)ptr)) { goto erret; } retval = TRUE;erret: AsnUnlinkType(orig); /* unlink local tree */ return retval;}/**************************************************** QuerySelectNew()***************************************************/NLM_EXTERN QuerySelectPtr LIBCALLQuerySelectNew(void){ QuerySelectPtr ptr = MemNew((size_t) sizeof(QuerySelect)); return ptr;}/**************************************************** QuerySelectFree()***************************************************/NLM_EXTERN QuerySelectPtr LIBCALLQuerySelectFree(QuerySelectPtr ptr){ if(ptr == NULL) { return NULL; } MemFree(ptr -> db); ItemSetFree(ptr -> items); return MemFree(ptr);}/**************************************************** QuerySelectAsnRead()***************************************************/NLM_EXTERN QuerySelectPtr LIBCALLQuerySelectAsnRead(AsnIoPtr aip, AsnTypePtr orig){ DataVal av; AsnTypePtr atp; Boolean isError = FALSE; AsnReadFunc func; QuerySelectPtr ptr; if (! loaded) { if (! twebenvAsnLoad()) { return NULL; } } if (aip == NULL) { return NULL; } if (orig == NULL) { /* QuerySelect ::= (self contained) */ atp = AsnReadId(aip, amp, QUERY_SELECT); } else { atp = AsnLinkType(orig, QUERY_SELECT); } /* link in local tree */ if (atp == NULL) { return NULL; } ptr = QuerySelectNew(); 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_SELECT_db) { if ( AsnReadVal(aip, atp, &av) <= 0) { goto erret; } ptr -> db = av.ptrvalue; atp = AsnReadId(aip,amp, atp); } if (atp == QUERY_SELECT_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 = QuerySelectFree(ptr); goto ret;}/**************************************************** QuerySelectAsnWrite()***************************************************/NLM_EXTERN Boolean LIBCALL QuerySelectAsnWrite(QuerySelectPtr 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_SELECT); /* 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 -> db != NULL) { av.ptrvalue = ptr -> db; retval = AsnWrite(aip, QUERY_SELECT_db, &av); } if (ptr -> items != NULL) { if ( ! ItemSetAsnWrite(ptr -> items, aip, QUERY_SELECT_items)) { goto erret; } } if (! AsnCloseStruct(aip, atp, (Pointer)ptr)) { goto erret; } retval = TRUE;erret: AsnUnlinkType(orig); /* unlink local tree */ return retval;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -