6177796769f524b754690944dc7716504f0e6ee2 angie Tue Apr 3 14:53:54 2012 -0700 Fixing style errors found by Brian in code review: public methodsdefined in structs are functions, so the comment should go below the definition not above. diff --git src/inc/annoStreamer.h src/inc/annoStreamer.h index a4cdfbe..06d05ed 100644 --- src/inc/annoStreamer.h +++ src/inc/annoStreamer.h @@ -10,51 +10,60 @@ // The real work of fetching and filtering data is left to subclass // implementations. The purpose of this module is to provide an // interface for communication with other components of the // annoGratorQuery framework, and simple methods shared by all // subclasses. // stub in order to avoid problems with circular .h references: struct annoGratorQuery; struct annoStreamer /* Generic interface to configure a data source's filters and output data, and then * retrieve data, which must be sorted by genomic position. Subclasses of this * will do all the actual work. */ { struct annoStreamer *next; + // Public methods - // Get autoSql representation (do not modify or free!) struct asObject *(*getAutoSqlObject)(struct annoStreamer *self); - // Set genomic region for query (should be called only by annoGratorQuerySetRegion) + /* Get autoSql representation (do not modify or free!) */ + void (*setRegion)(struct annoStreamer *self, char *chrom, uint rStart, uint rEnd); - // Get and set filters + /* Set genomic region for query (should be called only by annoGratorQuerySetRegion) */ + struct annoFilter *(*getFilters)(struct annoStreamer *self); void (*setFilters)(struct annoStreamer *self, struct annoFilter *newFilters); - // Get and set output fields + /* Get and set filters */ + struct annoColumn *(*getColumns)(struct annoStreamer *self); void (*setColumns)(struct annoStreamer *self, struct annoColumn *newColumns); - // Get next item's output fields from this source + /* Get and set output fields */ + struct annoRow *(*nextRow)(struct annoStreamer *self); - // Close connection to source and free self. + /* Get next item's output fields from this source */ + void (*close)(struct annoStreamer **pSelf); - // For use by annoGratorQuery only: hook up query object after creation + /* Close connection to source and free self. */ + void (*setQuery)(struct annoStreamer *self, struct annoGratorQuery *query); + /* For use by annoGratorQuery only: hook up query object after creation */ + // Public members -- callers are on the honor system to access these read-only. struct annoGratorQuery *query; // The query object that owns this streamer. enum annoRowType rowType; int numCols; + // Private members -- callers are on the honor system to access these using only methods above. boolean positionIsGenome; char *chrom; uint regionStart; uint regionEnd; struct asObject *asObj; struct annoFilter *filters; struct annoColumn *columns; }; // ---------------------- annoStreamer default methods ----------------------- struct asObject *annoStreamerGetAutoSqlObject(struct annoStreamer *self); /* Return parsed autoSql definition of this streamer's data type. */