Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

StDbBufferI.h

Go to the documentation of this file.
00001 00002 /*************************************************************************** 00003 * 00004 * $Id: StDbBufferI.h,v 1.7 2001/10/24 04:05:20 porter Exp $ 00005 * 00006 * Author: Laurent Conin & Jeff Porter 00007 *************************************************************************** 00008 * 00009 * Description: Buffer Interface to negotiate data I/O between database 00010 * 00011 *************************************************************************** 00012 * 00013 * $Log: StDbBufferI.h,v $ 00014 * Revision 1.7 2001/10/24 04:05:20 porter 00015 * added long long type to I/O and got rid of obsolete dataIndex table 00016 * 00017 * Revision 1.6 2001/01/22 18:37:51 porter 00018 * Update of code needed in next year running. This update has little 00019 * effect on the interface (only 1 method has been changed in the interface). 00020 * Code also preserves backwards compatibility so that old versions of 00021 * StDbLib can read new table structures. 00022 * -Important features: 00023 * a. more efficient low-level table structure (see StDbSql.cc) 00024 * b. more flexible indexing for new systems (see StDbElememtIndex.cc) 00025 * c. environment variable override KEYS for each database 00026 * d. StMessage support & clock-time logging diagnostics 00027 * -Cosmetic features 00028 * e. hid stl behind interfaces (see new *Impl.* files) to again allow rootcint access 00029 * f. removed codes that have been obsolete for awhile (e.g. db factories) 00030 * & renamed some classes for clarity (e.g. tableQuery became StDataBaseI 00031 * and mysqlAccessor became StDbSql) 00032 * 00033 * Revision 1.5 2000/03/28 17:03:18 porter 00034 * Several upgrades: 00035 * 1. configuration by timestamp for Conditions 00036 * 2. query by whereClause made more systematic 00037 * 3. conflict between db-stored comments & number lists resolved 00038 * 4. ensure endtime is correct for certain query falures 00039 * 5. dbstl.h->handles ObjectSpace & RogueWave difference (Online vs Offline) 00040 * 00041 * Revision 1.4 1999/12/29 13:49:34 porter 00042 * fix for Solaris-CC4.2 within StRoot make (cons)... 00043 * replaced #include <config.h> with #include <ospace/config.h> 00044 * 00045 * Revision 1.3 1999/12/28 21:31:41 porter 00046 * added 'using std::vector' and 'using std::list' for Solaris CC5 compilation. 00047 * Also fixed some warnings arising from the CC5 compiles 00048 * 00049 * Revision 1.2 1999/09/30 02:06:01 porter 00050 * add StDbTime to better handle timestamps, modify SQL content (mysqlAccessor) 00051 * allow multiple rows (StDbTable), & Added the comment sections at top of 00052 * each header and src file 00053 * 00054 **************************************************************************/ 00055 #ifndef STDBBUFFERI_H 00056 #define STDBBUFFERI_H 00057 00058 class StDbBufferI { 00059 00060 public: 00061 00062 virtual ~StDbBufferI(){}; 00063 virtual void SetClientMode() = 0; 00064 virtual void SetStorageMode() = 0; 00065 virtual bool IsClientMode() = 0; 00066 virtual bool IsStorageMode() = 0; 00067 00068 virtual bool ReadScalar(char &c, const char *aName) = 0; 00069 virtual bool ReadScalar(unsigned char &c, const char *) = 0; 00070 virtual bool ReadScalar(short &h, const char *) = 0; 00071 virtual bool ReadScalar(unsigned short &h, const char *) = 0; 00072 virtual bool ReadScalar(int &i, const char *) = 0; 00073 virtual bool ReadScalar(unsigned int &i, const char *) = 0; 00074 virtual bool ReadScalar(long &l, const char *) = 0; 00075 virtual bool ReadScalar(unsigned long &l, const char *) = 0; 00076 virtual bool ReadScalar(long long &l, const char *) = 0; 00077 virtual bool ReadScalar(float &f, const char *) = 0; 00078 virtual bool ReadScalar(double &d, const char *) = 0; 00079 virtual bool ReadScalar(char *&c, const char *) = 0; 00080 00081 virtual bool WriteScalar(const char c, const char *) = 0; 00082 virtual bool WriteScalar(const unsigned char c, const char *) = 0; 00083 virtual bool WriteScalar(const short h, const char *) = 0; 00084 virtual bool WriteScalar(const unsigned short h, const char *) = 0; 00085 virtual bool WriteScalar(const int i, const char *) = 0; 00086 virtual bool WriteScalar(const unsigned int i, const char *) = 0; 00087 virtual bool WriteScalar(const long l, const char *) = 0; 00088 virtual bool WriteScalar(const unsigned long l, const char *) = 0; 00089 virtual bool WriteScalar(const long long l, const char *) = 0; 00090 virtual bool WriteScalar(const float f, const char *) = 0; 00091 virtual bool WriteScalar(const double d, const char *) = 0; 00092 virtual bool WriteScalar(const char *c, const char *) = 0; 00093 00094 virtual bool ReadArray(char *&c, int &len, const char *) = 0; 00095 virtual bool ReadArray(unsigned char *&c, int &len, const char *) = 0; 00096 virtual bool ReadArray( short *&c, int &len, const char *) = 0; 00097 virtual bool ReadArray( unsigned short *&c, int &len, const char *) = 0; 00098 virtual bool ReadArray(int *&c, int &len, const char *) = 0; 00099 virtual bool ReadArray(unsigned int *&c, int &len, const char *) = 0; 00100 virtual bool ReadArray(long *&c, int &len, const char *) = 0; 00101 virtual bool ReadArray(unsigned long *&c, int &len, const char *) = 0; 00102 virtual bool ReadArray(long long *&c, int &len, const char *) = 0; 00103 virtual bool ReadArray(float *&c, int &len, const char *) = 0; 00104 virtual bool ReadArray(double *&c, int &len, const char *) = 0; 00105 virtual bool ReadArray(char **&c, int &len, const char *) = 0; 00106 00107 virtual bool WriteArray(char *c, int len, const char *) = 0; 00108 virtual bool WriteArray(unsigned char *c, int len, const char *) = 0; 00109 virtual bool WriteArray(short *c, int len, const char *) = 0; 00110 virtual bool WriteArray(unsigned short *c, int len, const char *) = 0; 00111 virtual bool WriteArray(int *c, int len, const char *) = 0; 00112 virtual bool WriteArray(unsigned int *c, int len, const char *) = 0; 00113 virtual bool WriteArray(long *c, int len, const char *) = 0; 00114 virtual bool WriteArray(unsigned long *c, int len, const char *) = 0; 00115 virtual bool WriteArray(long long *c, int len, const char *) = 0; 00116 virtual bool WriteArray(float *c, int len, const char *) = 0; 00117 virtual bool WriteArray(double *c, int len, const char *) = 0; 00118 virtual bool WriteArray(char **c, int len, const char *) = 0; 00119 }; 00120 #endif

Generated on Thu Aug 24 14:45:25 2006 for Doxygen by doxygen 1.3.7