3
#define NLM_GENERATED_CODE_PROTO
8
static Boolean loaded = FALSE;
12
#ifndef NLM_EXTERN_LOADS
13
#define NLM_EXTERN_LOADS {}
16
NLM_EXTERN Boolean LIBCALL
33
/**************************************************
34
* Generated object loaders for Module NCBI-PubMed
35
* Generated using ASNCODE Revision: 5.2 at Feb 4, 1997 9:49 AM
37
**************************************************/
40
/**************************************************
44
**************************************************/
46
PubmedEntryPtr LIBCALL
49
PubmedEntryPtr ptr = MemNew((size_t) sizeof(PubmedEntry));
56
/**************************************************
60
**************************************************/
62
PubmedEntryPtr LIBCALL
63
PubmedEntryFree(PubmedEntryPtr ptr)
69
MedlineEntryFree(ptr -> medent);
70
MemFree(ptr -> publisher);
71
AsnGenericUserSeqOfFree(ptr -> urls, (AsnOptFreeFunc) PubmedUrlFree);
72
MemFree(ptr -> pubid);
77
/**************************************************
79
* PubmedEntryAsnRead()
81
**************************************************/
83
PubmedEntryPtr LIBCALL
84
PubmedEntryAsnRead(AsnIoPtr aip, AsnTypePtr orig)
88
Boolean isError = FALSE;
94
if (! objpubmeAsnLoad()) {
103
if (orig == NULL) { /* PubmedEntry ::= (self contained) */
104
atp = AsnReadId(aip, amp, PUBMED_ENTRY);
106
atp = AsnLinkType(orig, PUBMED_ENTRY);
108
/* link in local tree */
113
ptr = PubmedEntryNew();
117
if (AsnReadVal(aip, atp, &av) <= 0) { /* read the start struct */
121
atp = AsnReadId(aip,amp, atp);
124
if (atp == PUBMED_ENTRY_pmid) {
125
if ( AsnReadVal(aip, atp, &av) <= 0) {
128
ptr -> pmid = av.intvalue;
129
atp = AsnReadId(aip,amp, atp);
131
if (atp == PUBMED_ENTRY_medent) {
132
ptr -> medent = MedlineEntryAsnRead(aip, atp);
133
if (aip -> io_failure) {
136
atp = AsnReadId(aip,amp, atp);
138
if (atp == PUBMED_ENTRY_publisher) {
139
if ( AsnReadVal(aip, atp, &av) <= 0) {
142
ptr -> publisher = av.ptrvalue;
143
atp = AsnReadId(aip,amp, atp);
145
if (atp == PUBMED_ENTRY_urls) {
146
ptr -> urls = AsnGenericUserSeqOfAsnRead(aip, amp, atp, &isError, (AsnReadFunc) PubmedUrlAsnRead, (AsnOptFreeFunc) PubmedUrlFree);
147
if (isError && ptr -> urls == NULL) {
150
atp = AsnReadId(aip,amp, atp);
152
if (atp == PUBMED_ENTRY_pubid) {
153
if ( AsnReadVal(aip, atp, &av) <= 0) {
156
ptr -> pubid = av.ptrvalue;
157
atp = AsnReadId(aip,amp, atp);
160
if (AsnReadVal(aip, atp, &av) <= 0) {
166
AsnUnlinkType(orig); /* unlink local tree */
170
aip -> io_failure = TRUE;
171
ptr = PubmedEntryFree(ptr);
177
/**************************************************
179
* PubmedEntryAsnWrite()
181
**************************************************/
182
NLM_EXTERN Boolean LIBCALL
183
PubmedEntryAsnWrite(PubmedEntryPtr ptr, AsnIoPtr aip, AsnTypePtr orig)
187
Boolean retval = FALSE;
191
if (! objpubmeAsnLoad()) {
200
atp = AsnLinkType(orig, PUBMED_ENTRY); /* link local tree */
205
if (ptr == NULL) { AsnNullValueMsg(aip, atp); goto erret; }
206
if (! AsnOpenStruct(aip, atp, (Pointer) ptr)) {
210
av.intvalue = ptr -> pmid;
211
retval = AsnWrite(aip, PUBMED_ENTRY_pmid, &av);
212
if (ptr -> medent != NULL) {
213
if ( ! MedlineEntryAsnWrite(ptr -> medent, aip, PUBMED_ENTRY_medent)) {
217
if (ptr -> publisher != NULL) {
218
av.ptrvalue = ptr -> publisher;
219
retval = AsnWrite(aip, PUBMED_ENTRY_publisher, &av);
221
AsnGenericUserSeqOfAsnWrite(ptr -> urls, (AsnWriteFunc) PubmedUrlAsnWrite, aip, PUBMED_ENTRY_urls, PUBMED_ENTRY_urls_E);
222
if (ptr -> pubid != NULL) {
223
av.ptrvalue = ptr -> pubid;
224
retval = AsnWrite(aip, PUBMED_ENTRY_pubid, &av);
226
if (! AsnCloseStruct(aip, atp, (Pointer)ptr)) {
232
AsnUnlinkType(orig); /* unlink local tree */
238
/**************************************************
242
**************************************************/
247
PubmedUrlPtr ptr = MemNew((size_t) sizeof(PubmedUrl));
254
/**************************************************
258
**************************************************/
261
PubmedUrlFree(PubmedUrlPtr ptr)
267
MemFree(ptr -> location);
273
/**************************************************
277
**************************************************/
280
PubmedUrlAsnRead(AsnIoPtr aip, AsnTypePtr orig)
284
Boolean isError = FALSE;
290
if (! objpubmeAsnLoad()) {
299
if (orig == NULL) { /* PubmedUrl ::= (self contained) */
300
atp = AsnReadId(aip, amp, PUBMED_URL);
302
atp = AsnLinkType(orig, PUBMED_URL);
304
/* link in local tree */
309
ptr = PubmedUrlNew();
313
if (AsnReadVal(aip, atp, &av) <= 0) { /* read the start struct */
317
atp = AsnReadId(aip,amp, atp);
320
if (atp == PUBMED_URL_location) {
321
if ( AsnReadVal(aip, atp, &av) <= 0) {
324
ptr -> location = av.ptrvalue;
325
atp = AsnReadId(aip,amp, atp);
327
if (atp == PUBMED_URL_url) {
328
if ( AsnReadVal(aip, atp, &av) <= 0) {
331
ptr -> url = av.ptrvalue;
332
atp = AsnReadId(aip,amp, atp);
335
if (AsnReadVal(aip, atp, &av) <= 0) {
341
AsnUnlinkType(orig); /* unlink local tree */
345
aip -> io_failure = TRUE;
346
ptr = PubmedUrlFree(ptr);
352
/**************************************************
354
* PubmedUrlAsnWrite()
356
**************************************************/
357
NLM_EXTERN Boolean LIBCALL
358
PubmedUrlAsnWrite(PubmedUrlPtr ptr, AsnIoPtr aip, AsnTypePtr orig)
362
Boolean retval = FALSE;
366
if (! objpubmeAsnLoad()) {
375
atp = AsnLinkType(orig, PUBMED_URL); /* link local tree */
380
if (ptr == NULL) { AsnNullValueMsg(aip, atp); goto erret; }
381
if (! AsnOpenStruct(aip, atp, (Pointer) ptr)) {
385
if (ptr -> location != NULL) {
386
av.ptrvalue = ptr -> location;
387
retval = AsnWrite(aip, PUBMED_URL_location, &av);
389
if (ptr -> url != NULL) {
390
av.ptrvalue = ptr -> url;
391
retval = AsnWrite(aip, PUBMED_URL_url, &av);
393
if (! AsnCloseStruct(aip, atp, (Pointer)ptr)) {
398
AsnUnlinkType(orig); /* unlink local tree */