95e9718709993572ff6e85bc7a751e1baa89c26a braney Mon Nov 20 14:47:56 2023 -0800 add a utility to count up how many sessions are missing their custom tracks diff --git src/hg/inc/namedSessionDb.h src/hg/inc/namedSessionDb.h new file mode 100644 index 0000000..f09c924 --- /dev/null +++ src/hg/inc/namedSessionDb.h @@ -0,0 +1,70 @@ +/* namedSessionDb.h was originally generated by the autoSql program, which also + * generated namedSessionDb.c and namedSessionDb.sql. This header links the database and + * the RAM representation of objects. */ + +#ifndef NAMEDSESSIONDB_H +#define NAMEDSESSIONDB_H + +#define NAMEDSESSIONDB_NUM_COLS 8 + +extern char *namedSessionDbCommaSepFieldNames; + +struct namedSessionDb +/* Named user sessions. */ + { + struct namedSessionDb *next; /* Next in singly linked list. */ + char *userName; /* User name (from genomewiki). */ + char *sessionName; /* Name that user assigns to this session */ + char *contents; /* CGI string of var=val&... settings. */ + signed char shared; /* 1 if this session may be shared with other users, 2 if added to the public listing. */ + char *firstUse; /* Session creation date. */ + char *lastUse; /* Session most-recent-usage date. */ + int useCount; /* Number of times this session has been used. */ + char *settings; /* .ra-formatted metadata */ + }; + +void namedSessionDbStaticLoad(char **row, struct namedSessionDb *ret); +/* Load a row from namedSessionDb table into ret. The contents of ret will + * be replaced at the next call to this function. */ + +struct namedSessionDb *namedSessionDbLoad(char **row); +/* Load a namedSessionDb from row fetched with select * from namedSessionDb + * from database. Dispose of this with namedSessionDbFree(). */ + +struct namedSessionDb *namedSessionDbLoadAll(char *fileName); +/* Load all namedSessionDb from whitespace-separated file. + * Dispose of this with namedSessionDbFreeList(). */ + +struct namedSessionDb *namedSessionDbLoadAllByChar(char *fileName, char chopper); +/* Load all namedSessionDb from chopper separated file. + * Dispose of this with namedSessionDbFreeList(). */ + +#define namedSessionDbLoadAllByTab(a) namedSessionDbLoadAllByChar(a, '\t'); +/* Load all namedSessionDb from tab separated file. + * Dispose of this with namedSessionDbFreeList(). */ + +struct namedSessionDb *namedSessionDbCommaIn(char **pS, struct namedSessionDb *ret); +/* Create a namedSessionDb out of a comma separated string. + * This will fill in ret if non-null, otherwise will + * return a new namedSessionDb */ + +void namedSessionDbFree(struct namedSessionDb **pEl); +/* Free a single dynamically allocated namedSessionDb such as created + * with namedSessionDbLoad(). */ + +void namedSessionDbFreeList(struct namedSessionDb **pList); +/* Free a list of dynamically allocated namedSessionDb's */ + +void namedSessionDbOutput(struct namedSessionDb *el, FILE *f, char sep, char lastSep); +/* Print out namedSessionDb. Separate fields with sep. Follow last field with lastSep. */ + +#define namedSessionDbTabOut(el,f) namedSessionDbOutput(el,f,'\t','\n'); +/* Print out namedSessionDb as a line in a tab-separated file. */ + +#define namedSessionDbCommaOut(el,f) namedSessionDbOutput(el,f,',',','); +/* Print out namedSessionDb as a comma separated list including final comma. */ + +/* -------------------------------- End autoSql Generated Code -------------------------------- */ + +#endif /* NAMEDSESSIONDB_H */ +