e926c846782645e96fa3ff0669bbcc1587aebd70
angie
  Fri Jun 1 11:16:57 2012 -0700
Refactoring for #6152: instead of having each formatter do its owncollection of rows, annoGratorQueryExecute should collect the rows
and pass them to each formatter.

diff --git src/inc/annoFormatter.h src/inc/annoFormatter.h
index badca4e..51b3b85 100644
--- src/inc/annoFormatter.h
+++ src/inc/annoFormatter.h
@@ -23,38 +23,33 @@
 
 struct annoFormatter
 /* Generic interface to aggregate data fields from multiple sources and write
  * output. */
     {
     struct annoFormatter *next;
 
     // Public methods
     struct annoFormatterOption *(*getOptions)(struct annoFormatter *self);
     void (*setOptions)(struct annoFormatter *self, struct annoFormatterOption *options);
     /* Get and set output options */
 
     void (*initialize)(struct annoFormatter *self, struct annoGratorQuery *query);
     /* Initialize output (header, etc) and set query pointer */
 
-    void (*collect)(struct annoFormatter *self, struct annoStreamer *source, struct annoRow *rows);
-    /* Collect data from one source */
-
-    void (*discard)(struct annoFormatter *self);
-    /* Discard data collected so far (filter failure) */
-
-    void (*formatOne)(struct annoFormatter *self);
-    /* Aggregate all sources' data for a single primarySource item into output: */
+    void (*formatOne)(struct annoFormatter *self, struct annoRow *primaryRow,
+		      struct slRef *gratorRowList);
+    /* Aggregate all sources' data for a single primarySource item into output. */
 
     void (*close)(struct annoFormatter **pSelf);
     /* End of input; finish output, close connection/handle and free self. */
 
     // Private members -- callers are on the honor system to access these using only methods above.
     struct annoFormatterOption *options;
     struct annoGratorQuery *query;
     };
 
 // ---------------------- annoFormatter default methods -----------------------
 
 struct annoFormatterOption *annoFormatterGetOptions(struct annoFormatter *self);
 /* Return supported options and current settings.  Callers can modify and free when done. */
 
 void annoFormatterSetOptions(struct annoFormatter *self, struct annoFormatterOption *newOptions);