79e2e0421ffa1203d75e66351a2046085129528e jcasper Thu Jun 15 15:16:16 2017 -0700 hgHubConnect now displays search details and indexes description content, refs #13625 diff --git src/hg/inc/hubSearchText.h src/hg/inc/hubSearchText.h new file mode 100644 index 0000000..67d42e5 --- /dev/null +++ src/hg/inc/hubSearchText.h @@ -0,0 +1,79 @@ +/* hubSearchText.h was originally generated by the autoSql program, which also + * generated hubSearchText.c and hubSearchText.sql. This header links the database and + * the RAM representation of objects. */ + +#ifndef HUBSEARCHTEXT_H +#define HUBSEARCHTEXT_H + +#define HUBSEARCHTEXT_NUM_COLS 6 + +extern char *hubSearchTextCommaSepFieldNames; + +enum hubSearchTextTextLength + { + hubSearchTextShort = 0, + hubSearchTextLong = 1, + }; +struct hubSearchText +/* Track hub descriptions */ + { + struct hubSearchText *next; /* Next in singly linked list. */ + char *hubUrl; /* Hub URL */ + char *db; /* Assembly name (UCSC format) for Assembly and Track descriptions, NULL for hub descriptions */ + char *track; /* Track name for track descriptions, NULL for others */ + char *label; /* Name to display in search results */ + enum hubSearchTextTextLength textLength; /* Length of text (short for labels, long for description pages) */ + char *text; /* Description text */ + }; + +void hubSearchTextStaticLoadWithNull(char **row, struct hubSearchText *ret); +/* Load a row from hubSearchText table into ret. The contents of ret will + * be replaced at the next call to this function. */ + +struct hubSearchText *hubSearchTextLoadWithNull(char **row); +/* Load a hubSearchText from row fetched with select * from hubSearchText + * from database. Dispose of this with hubSearchTextFree(). */ + +struct hubSearchText *hubSearchTextLoadAll(char *fileName); +/* Load all hubSearchText from whitespace-separated file. + * Dispose of this with hubSearchTextFreeList(). */ + +struct hubSearchText *hubSearchTextLoadAllByChar(char *fileName, char chopper); +/* Load all hubSearchText from chopper separated file. + * Dispose of this with hubSearchTextFreeList(). */ + +#define hubSearchTextLoadAllByTab(a) hubSearchTextLoadAllByChar(a, '\t'); +/* Load all hubSearchText from tab separated file. + * Dispose of this with hubSearchTextFreeList(). */ + +struct hubSearchText *hubSearchTextCommaIn(char **pS, struct hubSearchText *ret); +/* Create a hubSearchText out of a comma separated string. + * This will fill in ret if non-null, otherwise will + * return a new hubSearchText */ + +void hubSearchTextFree(struct hubSearchText **pEl); +/* Free a single dynamically allocated hubSearchText such as created + * with hubSearchTextLoad(). */ + +void hubSearchTextFreeList(struct hubSearchText **pList); +/* Free a list of dynamically allocated hubSearchText's */ + +void hubSearchTextOutput(struct hubSearchText *el, FILE *f, char sep, char lastSep); +/* Print out hubSearchText. Separate fields with sep. Follow last field with lastSep. */ + +#define hubSearchTextTabOut(el,f) hubSearchTextOutput(el,f,'\t','\n'); +/* Print out hubSearchText as a line in a tab-separated file. */ + +#define hubSearchTextCommaOut(el,f) hubSearchTextOutput(el,f,',',','); +/* Print out hubSearchText as a comma separated list including final comma. */ + +/* -------------------------------- End autoSql Generated Code -------------------------------- */ + +struct hubSearchText *hubSearchTextLoadWithNullGiveContext(char **row, char *searchTerms); +/* Load a hubSearchText from row fetched with select * from hubSearchText + * from database, but instead of loading the entire text field for long text results, + * only load the pieces that provide context for the supplied searchTerms. + * Dispose of this with hubSearchTextFree(). */ + +#endif /* HUBSEARCHTEXT_H */ +