c6ce277e36a537437a04146c8fa7adebb40428ff
chmalee
  Wed May 15 12:10:42 2024 -0700
Libify some searching code so checkHgFindSpec can use it. Make checkHgFindSpec use the same code path as hgSearch so it can correctly test the search correctly, refs #33731

diff --git src/hg/inc/cartTrackDb.h src/hg/inc/cartTrackDb.h
index 0549261..300df11 100644
--- src/hg/inc/cartTrackDb.h
+++ src/hg/inc/cartTrackDb.h
@@ -13,15 +13,21 @@
 void cartTrackDbInitForApi(struct cart *cart, char *db, struct trackDb **retFullTrackList,
                      struct grp **retFullGroupList, boolean useAccessControl);
 /* Similar to cartTrackDbInit, but allow cart to be NULL */
 
 boolean cartTrackDbIsAccessDenied(char *db, char *table);
 /* Return TRUE if useAccessControl=TRUE was passed to cartTrackDbInit and
  * if access to table is denied (at least on this host) by 'tableBrowser off'
  * or by the tableAccessControl table. */
 
 boolean cartTrackDbIsNoGenome(char *db, char *table);
 /* Return TRUE if range queries, but not genome-queries, are permitted for this table. */
 
 struct slName *cartTrackDbTablesForTrack(char *db, struct trackDb *track, boolean useJoiner);
 /* Return list of all tables associated with track.  If useJoiner, the result can include
  * non-positional tables that are related to track by all.joiner. */
+
+void hashTracksAndGroups(struct cart *cart, char *db);
+/* get the list of tracks available for this assembly, along with their group names
+ * and visibility-ness. Note that this implicitly makes connected hubs show up
+ * in the trackList struct, which means we get item search for connected
+ * hubs for free */