src/hg/lib/cart.c 1.105
1.105 2009/03/19 21:02:59 tdreszer
New routines to help reset cart for single table or composite.
Index: src/hg/lib/cart.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/lib/cart.c,v
retrieving revision 1.104
retrieving revision 1.105
diff -b -B -U 4 -r1.104 -r1.105
--- src/hg/lib/cart.c 13 Mar 2009 23:25:43 -0000 1.104
+++ src/hg/lib/cart.c 19 Mar 2009 21:02:59 -0000 1.105
@@ -1734,4 +1734,25 @@
freeMem(var);
return slNames;
}
+void cartRemoveAllForTdb(struct cart *cart, struct trackDb *tdb)
+/* Remove all variables from cart that are associated with this tdb. */
+{
+char setting[128];
+safef(setting,sizeof(setting),"%s.",tdb->tableName);
+cartRemovePrefix(cart,setting);
+safef(setting,sizeof(setting),"%s_",tdb->tableName); // TODO: All should be {tableName}.{varName}... Fix {tableName}_sel
+cartRemovePrefix(cart,setting);
+cartRemove(cart,tdb->tableName);
+}
+
+void cartRemoveAllForTdbAndChildren(struct cart *cart, struct trackDb *tdb)
+/* Remove all variables from cart that are associated
+ with this tdb and it's children. */
+{
+cartRemoveAllForTdb(cart,tdb);
+struct trackDb *subTdb;
+for(subTdb=tdb->subtracks;subTdb!=NULL;subTdb=subTdb->next)
+ cartRemoveAllForTdb(cart,subTdb);
+}
+