00001
00015 #ifndef INC_RVC_STATDBFIELD_H
00016 #define INC_RVC_STATDBFIELD_H
00017
00018 #ifndef INC_RVC_OBJECT_H
00019 #include <rvc/object.h>
00020 #endif
00021
00022 #ifndef INC_MI32_STATUNIVAR_H
00023 #include <mi32/statunivar.h>
00024 #endif
00025
00026 #ifndef GENERATING_DOXYGEN_OUTPUT
00027
00028 namespace RVC {
00029 class CREDENTIALS;
00030 class FILEHANDLE;
00031 class DBTABLE;
00032 struct OBJHDR_STATDBFIELD;
00033 }
00034 #endif // GENERATING_DOXYGEN_OUTPUT
00035
00036 namespace RVC {
00037
00041 class STAT_DBFIELD : public RVC::OBJECT {
00042 public:
00043
00044 class FILTER_FIELDNUM;
00045
00048 static int FindAndRead (
00049 const RVC::DBTABLE& ObjTable,
00050 INT32 FieldNum,
00051 STAT_UNIVARIATE& Stats
00052 );
00053
00055 STAT_DBFIELD (
00056 );
00057
00059 STAT_DBFIELD (
00060 const STAT_DBFIELD& rhs
00061 );
00062
00064 virtual ~STAT_DBFIELD (
00065 );
00066
00068 STAT_DBFIELD& operator= (
00069 const STAT_DBFIELD& rhs
00070 );
00071
00073 INT32 GetFieldNum () const
00074 { return (m_FieldNum); }
00075
00077 const STAT_UNIVARIATE& GetStatistics () const
00078 { return (m_Stats); }
00079
00081 ERRVALUE Read (
00082 const RVC::DBTABLE& ObjTable,
00083 INT32 FieldNum,
00084 const CREDENTIALS *pCredentials RVC_DEFAULT_CREDENTIALS
00085 );
00086
00088 ERRVALUE Write (
00089 const RVC::DBTABLE& ObjTable,
00090 INT32 FieldNum,
00091 const STAT_UNIVARIATE& Stats,
00092 const CREDENTIALS *pCredentials RVC_DEFAULT_CREDENTIALS
00093 );
00094
00095 private:
00096 #ifndef GENERATING_DOXYGEN_OUTPUT
00097 INT32 m_FieldNum;
00098 STAT_UNIVARIATE m_Stats;
00099
00100 static ERRVALUE ReadHeader (FILEHANDLE *pFileHandle, const OBJECT& obj, OBJHDR_STATDBFIELD& objhdr);
00101
00102
00103 virtual OBJTYPE v_GetDftObjectType () const;
00104
00105 #endif // GENERATING_DOXYGEN_OUTPUT
00106 };
00107
00109 class STAT_DBFIELD::FILTER_FIELDNUM : public OBJECT::FILTER {
00110 public:
00111
00113 FILTER_FIELDNUM (
00114 const DBTABLE& ObjTable,
00115 INT32 FieldNum
00116 );
00117
00119 virtual ~FILTER_FIELDNUM ();
00120
00121 private:
00122 #ifndef GENERATING_DOXYGEN_OUTPUT
00123 FILEHANDLE *m_pFileHandle;
00124 INT32 m_FieldNum;
00125
00126 virtual bool Filter (const RVC::OBJECT& obj);
00127 #endif // GENERATING_DOXYGEN_OUTPUT
00128 };
00129
00130 }
00131
00132 #endif // INC_RVC_STATDBFIELD_H