00001 /*************************************************************************** 00002 * 00003 * $Id: StDbTableIter.hh,v 1.2 2001/01/22 18:38:01 porter Exp $ 00004 * 00005 * Author: R. Jeff Porter 00006 *************************************************************************** 00007 * 00008 * Description: Iterates of table-list in a given StDbConfigNode class 00009 * Now (Dec2000) just an interface 00010 * 00011 *************************************************************************** 00012 * 00013 * $Log: StDbTableIter.hh,v $ 00014 * Revision 1.2 2001/01/22 18:38:01 porter 00015 * Update of code needed in next year running. This update has little 00016 * effect on the interface (only 1 method has been changed in the interface). 00017 * Code also preserves backwards compatibility so that old versions of 00018 * StDbLib can read new table structures. 00019 * -Important features: 00020 * a. more efficient low-level table structure (see StDbSql.cc) 00021 * b. more flexible indexing for new systems (see StDbElememtIndex.cc) 00022 * c. environment variable override KEYS for each database 00023 * d. StMessage support & clock-time logging diagnostics 00024 * -Cosmetic features 00025 * e. hid stl behind interfaces (see new *Impl.* files) to again allow rootcint access 00026 * f. removed codes that have been obsolete for awhile (e.g. db factories) 00027 * & renamed some classes for clarity (e.g. tableQuery became StDataBaseI 00028 * and mysqlAccessor became StDbSql) 00029 * 00030 * Revision 1.1 2000/01/19 20:20:07 porter 00031 * - finished transaction model needed by online 00032 * - fixed CC5 compile problem in StDbNodeInfo.cc 00033 * - replace TableIter class by StDbTableIter to prevent name problems 00034 * 00035 * Revision 1.6 2000/01/10 20:37:55 porter 00036 * expanded functionality based on planned additions or feedback from Online work. 00037 * update includes: 00038 * 1. basis for real transaction model with roll-back 00039 * 2. limited SQL access via the manager for run-log & tagDb 00040 * 3. balance obtained between enumerated & string access to databases 00041 * 4. 3-levels of diagnostic output: Quiet, Normal, Verbose 00042 * 5. restructured Node model for better XML support 00043 * 00044 * Revision 1.5 1999/09/30 02:06:13 porter 00045 * add StDbTime to better handle timestamps, modify SQL content (mysqlAccessor) 00046 * allow multiple rows (StDbTable), & Added the comment sections at top of 00047 * each header and src file 00048 * 00049 **************************************************************************/ 00050 #ifndef TABLEITR_HH 00051 #define TABLEITR_HH 00052 00053 #include "StDbTable.h" 00054 00055 class StDbTableIter { 00056 00057 public: 00058 00059 StDbTableIter() {}; 00060 virtual ~StDbTableIter(){}; 00061 00062 virtual StDbTable* next() = 0; 00063 virtual StDbTable* operator++() = 0; 00064 virtual bool done() = 0; 00065 }; 00066 00067 00068 #endif 00069 00070 00071 00072 00073 00074
1.5.9