021aee9e624dac151ccab845b23458c99be10b48
tdreszer
  Tue Aug 10 16:30:51 2010 -0700
Added cartTdbTreeCleanupOverrides to cleanup subtrack settings when composite/view settings change
diff --git src/hg/inc/cart.h src/hg/inc/cart.h
index 1eccec1..9b01401 100644
--- src/hg/inc/cart.h
+++ src/hg/inc/cart.h
@@ -512,9 +512,24 @@
 boolean cartValueHasChanged(struct cart *newCart,struct hash *oldVars,char *setting,boolean ignoreRemoved);
 /* Returns TRUE if new cart setting has changed from old cart setting */
 
-void cartRemoveFromTdbTree(struct cart *cart,struct trackDb *tdb,char *suffix,boolean skipParent);
+struct slRef *cartNamesLike(struct cart *cart, char *wildCard);
+/* Returns reference list of all variable names that match wildCard. */
+
+struct slRef *cartNamesPrefixedBy(struct cart *cart, char *prefix);
+/* Returns reference list of all variable names with given prefix. */
+
+int cartNamesPruneChanged(struct cart *newCart,struct hash *oldVars,
+                          struct slRef **cartNames,boolean ignoreRemoved,boolean unChanged);
+/* Prunes a list of cartNames if the settings have changed between new and old cart.
+   Returns pruned count */
+
+int cartRemoveFromTdbTree(struct cart *cart,struct trackDb *tdb,char *suffix,boolean skipParent);
 /* Removes a 'trackName.suffix' from all tdb descendents (but not parent).
    If suffix NULL then removes 'trackName' which holds visibility */
 
+boolean cartTdbTreeCleanupOverrides(struct trackDb *tdb,struct cart *newCart,struct hash *oldVars);
+/* When composite/view settings changes, remove subtrack specific settings
+   Returns TRUE if any cart vars are removed */
+
 #endif /* CART_H */