536e32480cf89093ba8b82ff4e73b0a9ca6ac389 chmalee Fri Oct 28 13:29:33 2022 -0700 Fix multiTerm searches and plain chromosome searches, refs #29693 diff --git src/hg/inc/cartJson.h src/hg/inc/cartJson.h index 636bd24..78259e6 100644 --- src/hg/inc/cartJson.h +++ src/hg/inc/cartJson.h @@ -37,19 +37,28 @@ char *cartJsonRequiredParam(struct hash *paramHash, char *name, struct jsonWrite *jw, char *context); /* Convenience function for a CartJsonHandler function: Look up name in paramHash. * If found, return the string contained in its jsonElement value. * If not, write an error message (using context) and return NULL. */ void cartJsonRegisterHandler(struct cartJson *cj, char *command, CartJsonHandler *handler); /* Associate handler with command; when javascript sends command, handler will be executed. */ void cartJsonExecute(struct cartJson *cj); /* Get commands from cgi, print Content-type, execute commands, print results as JSON. */ void cartJsonFree(struct cartJson **pCj); /* Close **pCj's contents and nullify *pCj. */ +struct hgPositions *genomePosCJ(struct jsonWrite *jw, char *db, char *spec, char **retChromName, + int *retWinStart, int *retWinEnd, struct cart *cart, struct searchCategory *categories, boolean categorySearch); +/* Search for positions in genome that match user query. + * Return an hgp unless there is a problem. hgp->singlePos will be set if a single + * position matched. categorySearch determines whether to error out if we can't + * uniquely determine a position for a multiTerm search + * Otherwise display list of positions, put # of positions in retWinStart, + * and return NULL. */ + void hgPositionsJson(struct jsonWrite *jw, char *db, struct hgPositions *hgp, struct cart *cart); /* Write out JSON description of multiple position matches. */ #endif /* CARTJSON_H */