3f2a7e329617570143825bbe01153672cabf5723 tdreszer Fri Jan 14 14:54:02 2011 -0800 Added some support routines for file searching/sorting code diff --git src/hg/inc/mdb.h src/hg/inc/mdb.h index e299c5f..d948bc2 100644 --- src/hg/inc/mdb.h +++ src/hg/inc/mdb.h @@ -252,30 +252,37 @@ // returns the count of vars belonging to this obj or objs; int mdbByVarCount(struct mdbByVar *mdbByVars,boolean vars, boolean vals); // returns the count of objs belonging to this set of vars; // ----------------- Utilities ----------------- struct mdbVar *mdbObjFind(struct mdbObj *mdbObj, char *var); // Finds the val associated with the var or retruns NULL char *mdbObjFindValue(struct mdbObj *mdbObj, char *var); // Finds the val associated with the var or retruns NULL boolean mdbObjContains(struct mdbObj *mdbObj, char *var, char *val); // Returns TRUE if object contains var, val or both +boolean mdbObjsContainAtleastOne(struct mdbObj *mdbObjs, char *var); +// Returns TRUE if any object in set contains var + +struct mdbObj *mdbObjsCommonVars(struct mdbObj *mdbObjs); +// Returns a new mdbObj with all vars that are contained in every obj passed in. +// Note that the returnd mdbObj has a meaningles obj name and vals. + boolean mdbByVarContains(struct mdbByVar *mdbByVar, char *val, char *obj); // Returns TRUE if var contains val, obj or both void mdbObjReorderVars(struct mdbObj *mdbObjs, char *vars,boolean back); // Reorders vars list based upon list of vars "cell antibody treatment". Send to front or back. void mdbObjsSortOnVars(struct mdbObj **mdbObjs, char *vars); // Sorts on var,val pairs vars lists: fwd case-sensitive. Assumes all objs' vars are in identical order. // Optionally give list of vars "cell antibody treatment" to sort on (bringing to front of vars lists). void mdbObjsSortOnVarPairs(struct mdbObj **mdbObjs,struct slPair *varValPairs); // Sorts on var,val pairs vars lists: fwd case-sensitive. Assumes all objs' vars are in identical order. // This method will use mdbObjsSortOnVars() void mdbObjRemoveVars(struct mdbObj *mdbObjs, char *vars); @@ -363,17 +370,20 @@ enum mdbCvSearchable // metadata Variavble are only certain declared types { cvsNotSearchable =0, // Txt is default cvsSearchByMultiSelect =1, // Search by drop down multi-select of supplied list (NOT YET IMPLEMENTED) cvsSearchBySingleSelect =2, // Search by drop down single-select of supplied list cvsSearchByFreeText =3, // Search by free text field (NOT YET IMPLEMENTED) cvsSearchByDateRange =4, // Search by discovered date range (NOT YET IMPLEMENTED) cvsSearchByIntegerRange =5 // Search by discovered integer range (NOT YET IMPLEMENTED) }; enum mdbCvSearchable mdbCvSearchMethod(char *term); // returns whether the term is searchable // TODO: replace with mdbCvWhiteList() returning struct #endif//ndef CV_SEARCH_SUPPORTS_FREETEXT +const char *cvLabel(char *term); +// returns cv label if term found or else just term + #endif /* MDB_H */