63
str = (CharPtr) GetAppProperty (ENTREZ_TOOL_PROPERTY);
66
if (! StringHasNoText (progname)) {
67
SetAppProperty (ENTREZ_TOOL_PROPERTY, StringSave (progname));
69
SetAppProperty (ENTREZ_TOOL_PROPERTY, NULL);
61
MemFree (GetAppProperty (ENTREZ_TOOL_PROPERTY));
62
SetAppProperty (ENTREZ_TOOL_PROPERTY, (StringHasNoText (progname)
64
: StringSave (progname)));
73
67
static CharPtr EntrezGetProgramName (
104
if (! StringHasNoText (service)) {
105
e2_service = MemFree (e2_service);
106
e2_service = StringSaveNoNull (service);
99
e2_service = StringSaveNoNull (service);
110
102
/* low-level connection functions */
104
static CharPtr GetDbFromE2Request (Entrez2RequestPtr e2rq)
107
Entrez2BooleanExpPtr e2be;
108
Entrez2EvalBooleanPtr e2eb;
109
Entrez2HierQueryPtr e2hq;
111
Entrez2IdListPtr e2il;
112
Entrez2TermPosPtr e2tp;
113
Entrez2TermQueryPtr e2tq;
116
if (e2rq == NULL) return NULL;
119
if (vnp == NULL) return NULL;
121
switch (vnp->choice) {
122
case E2Request_get_info :
124
case E2Request_eval_boolean :
125
e2eb = (Entrez2EvalBooleanPtr) vnp->data.ptrvalue;
126
if (e2eb == NULL) return NULL;
128
if (e2be == NULL) return NULL;
129
if (StringDoesHaveText (e2be->db)) return e2be->db;
131
case E2Request_get_docsum :
132
e2il = (Entrez2IdListPtr) vnp->data.ptrvalue;
133
if (e2il == NULL) return NULL;
134
if (StringDoesHaveText (e2il->db)) return e2il->db;
136
case E2Request_get_term_pos :
137
e2tq = (Entrez2TermQueryPtr) vnp->data.ptrvalue;
138
if (e2tq == NULL) return NULL;
139
if (StringDoesHaveText (e2tq->db)) return e2tq->db;
141
case E2Request_get_term_list :
142
e2tp = (Entrez2TermPosPtr) vnp->data.ptrvalue;
143
if (e2tp == NULL) return NULL;
144
if (StringDoesHaveText (e2tp->db)) return e2tp->db;
146
case E2Request_get_term_hierarchy :
147
e2hq = (Entrez2HierQueryPtr) vnp->data.ptrvalue;
148
if (e2hq == NULL) return NULL;
149
if (StringDoesHaveText (e2hq->db)) return e2hq->db;
151
case E2Request_get_links :
153
case E2Request_get_linked :
155
case E2Request_get_link_counts :
156
e2id = (Entrez2IdPtr) vnp->data.ptrvalue;
157
if (e2id == NULL) return NULL;
158
if (StringDoesHaveText (e2id->db)) return e2id->db;
112
167
NLM_EXTERN CONN EntrezOpenConnection (
168
Entrez2RequestPtr e2rq
117
return QUERY_OpenServiceQuery
118
(StringHasNoText (e2_service) ? "Entrez2" : e2_service, NULL, 30);
175
db = GetDbFromE2Request (e2rq);
176
if (StringDoesHaveText (db) && StringLen (db) < 100) {
178
StrCpy (arg + 3, db);
182
return QUERY_OpenServiceQueryEx
183
(StringHasNoText (e2_service) ? "Entrez2" : e2_service, NULL, 30, arg);
1240
1305
} else if (StringICmp (last, "Title") == 0 && StringICmp (str, "Title Abbreviation") == 0) {
1241
1306
} else if (StringICmp (last, "Library") == 0 && StringICmp (str, "Library Class") == 0) {
1242
1307
} else if (StringICmp (last, "Sequence") == 0 && StringICmp (str, "Sequence Count") == 0) {
1308
} else if (StringICmp (last, "Journal") == 0 && StringICmp (str, "Journal List Identifier") == 0) {
1309
} else if (StringICmp (last, "CompoundID") == 0 && StringICmp (str, "CompoundIDActive") == 0) {
1310
} else if (StringICmp (last, "MeSHDescription") == 0 && StringICmp (str, "MeSHDescriptionActive") == 0) {
1311
} else if (StringICmp (last, "MeSHTerm") == 0 && StringICmp (str, "MeSHTermActive") == 0) {
1312
} else if (StringICmp (last, "PharmAction") == 0 && StringICmp (str, "PharmActionActive") == 0) {
1313
} else if (StringICmp (last, "SubstanceID") == 0 && StringICmp (str, "SubstanceIDActive") == 0) {
1314
} else if (StringICmp (last, "Synonym") == 0 && StringICmp (str, "SynonymActive") == 0) {
1244
1316
sprintf (buf, "Menu names %s [%s] and %s [%s] may be unintended variants", last, dbnames [lastvnp->choice], str, dbnames [vnp->choice]);
1245
1317
ValNodeCopyStr (head, 0, buf);