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 */