e80987afe15e233e7b256ab1fcdd58d6f4ff914a
braney
  Fri Sep 12 14:16:58 2014 -0700
fix hgHubConnect to deal with bad hubs less confusing by staying inhgHubConnect if connecting to the hub fails. #13992

diff --git src/hg/inc/hubConnect.h src/hg/inc/hubConnect.h
index e3a13a8..ab01c9f 100644
--- src/hg/inc/hubConnect.h
+++ src/hg/inc/hubConnect.h
@@ -33,30 +33,31 @@
 
 #define hubTrackPrefix "hub_"
 /* The names of all hub tracks begin with this.  Use in cart. */
 
 #define hgHubSearchTerms      "hubSearchTerms"
 /* name of cart/cgi variable containing the current search terms */
 
 #define hgHub             "hgHub_"  /* prefix for all control variables */
 #define hgHubDo            hgHub   "do_"    /* prefix for all commands */
 #define hgHubDoClear       hgHubDo "clear"
 #define hgHubDoSearch      hgHubDo "search"
 #define hgHubDoDeleteSearch      hgHubDo "deleteSearch"
 #define hgHubDoDisconnect  hgHubDo "disconnect"
 #define hgHubDoFirstDb     hgHubDo "firstDb"
 #define hgHubDoDecorateDb  hgHubDo "decorateDb"
+#define hgHubDoRedirect    hgHubDo "redirect"
 
 boolean isHubTrack(char *trackName);
 /* Return TRUE if it's a hub track. */
 
 struct hubConnectStatus
 /* Basic status in hubStatus.  Note it is *not* the same as the
  * hubStatus table, that has a bunch of extra fields to help 
  * keep track of whether the hub is alive. */
     {
     struct hubConnectStatus *next;
     unsigned id;	/* Hub ID */
     char *hubUrl;	/* URL to hub.ra file. */
     char *errorMessage;	/* If non-empty hub has an error and this describes it. */
     struct trackHub *trackHub; /* pointer to structure that describes hub */
     unsigned  status;   /* 1 if private */
@@ -140,16 +141,19 @@
 /* Load up stuff from data hub and append to list. The hubUrl points to
  * a trackDb.ra format file.  */
 
 char *hubConnectLoadHubs(struct cart *cart);
 /* load the track data hubs.  Set a static global to remember them */
 
 struct hubConnectStatus *hubConnectGetHubs();
 /* return the static global to the track data hubs */
 
 struct trackDb *hubCollectTracks( char *database, struct grp **pGroupList);
 /* Generate trackDb structures for all the tracks in attached hubs.  
  * Make grp structures for each hub. Returned group list is reversed. */
 
 char *hubConnectSkipHubPrefix(char *trackName);
 /* Given something like "hub_123_myWig" return myWig.  Don't free this, it's not allocated */
+
+struct hubConnectStatus *hubConnectNewHub();
+/* return the hub of the hubUrl we added (if any) */
 #endif /* HUBCONNECT_H */