diff options
Diffstat (limited to 'src/include/xbdbf.h')
-rwxr-xr-x | src/include/xbdbf.h | 51 |
1 files changed, 28 insertions, 23 deletions
diff --git a/src/include/xbdbf.h b/src/include/xbdbf.h index 710dd14..c0842cb 100755 --- a/src/include/xbdbf.h +++ b/src/include/xbdbf.h @@ -179,17 +179,20 @@ class XBDLLEXPORT xbDbf : public xbFile { virtual xbInt16 GetNextRecord (); virtual xbInt16 GetNextRecord ( xbInt16 iOption ); virtual xbInt16 GetNextRecord ( xbInt16 iOption, xbUInt32 ulStartRec ); - virtual xbInt32 GetPhysicalIxCnt () const; virtual xbInt16 GetPrevRecord (); virtual xbInt16 GetPrevRecord ( xbInt16 iOption ); virtual xbInt16 GetRecord ( xbUInt32 ulRecNo ); + + virtual xbUInt32 GetRecordCount (); virtual xbInt16 GetRecordCnt ( xbUInt32 & ulRecCnt ); + virtual char * GetRecordBuf ( xbInt16 iOpt = 0 ) const; virtual xbUInt16 GetRecordLen () const; virtual const xbString &GetTblAlias() const; virtual xbInt16 GetVersion () const = 0; virtual xbXBase *GetXbasePtr () const; // return xbase pointer + virtual xbBool MemoFieldsExist () const; virtual xbInt16 Open ( const xbString &sTableName ); @@ -203,6 +206,7 @@ class XBDLLEXPORT xbDbf : public xbFile { virtual xbInt16 PutRecord ( xbUInt32 ulRecNo ); virtual xbInt16 ReadHeader ( xbInt16 iFilePositionOption, xbInt16 iReadOption ); virtual xbInt16 RecordDeleted ( xbInt16 iOpt = 0 ) const; + virtual xbInt16 Rename ( const xbString sNewName ) = 0; virtual xbInt16 SetAutoCommit ( xbInt16 iAutoCommit ); @@ -316,6 +320,7 @@ class XBDLLEXPORT xbDbf : public xbFile { #ifdef XB_INDEX_SUPPORT + virtual xbInt16 CheckTagIntegrity( xbInt16 iTagOpt, xbInt16 iOutputOpt ); virtual xbInt16 CloseIndexFile( xbIx *pIx ); virtual xbInt16 CreateTag( const xbString &sIxType, const xbString &sName, const xbString &sKey, const xbString &sFilter, xbInt16 iDescending, xbInt16 iUnique, xbInt16 iOverLay, xbIx **xbIxOut, void **vpTagOut ); @@ -326,30 +331,29 @@ class XBDLLEXPORT xbDbf : public xbFile { virtual xbInt16 Find( xbDouble &dKey ); virtual xbIx *GetCurIx() const; virtual void *GetCurTag() const; - + virtual xbInt16 GetFirstKey(); virtual xbInt16 GetNextKey(); virtual xbInt16 GetPrevKey(); virtual xbInt16 GetLastKey(); - + virtual const xbString &GetCurIxType() const; virtual const xbString &GetCurTagName() const; virtual xbIxList *GetIxList() const; + virtual xbInt32 GetPhysicalIxCnt () const; xbLinkListNode<xbTag *> *GetTagList () const; + virtual xbInt16 OpenIndex( const xbString &sIxType, const xbString &sIndexName ); + virtual xbInt16 Reindex( xbInt16 iTagOpt ); virtual xbInt16 SetCurTag( const xbString &sTagName ); virtual void SetCurTag( const xbString &sIxType, xbIx *pIx, void *vpTag ); - #ifdef XB_DEBUG_SUPPORT - virtual xbInt16 CheckTagIntegrity( xbInt16 iTagOpt, xbInt16 iOutputOpt ); - virtual xbInt16 Reindex( xbInt16 iTagOpt ); - #endif // XB_DEBUG_SUPPORT #endif // XB_INDEX_SUPPORT - #ifdef XB_NDXINF_SUPPORT + #ifdef XB_INF_SUPPORT virtual xbInt16 AssociateIndex( const xbString &sType, const xbString &sName, xbInt16 iOption ); - xbLinkListNode<xbString> *GetNdxInfList() const; - #endif // XB_NDXINF_SUPPORT + xbLinkListNode<xbString> *GetInfList() const; + #endif // XB_INF_SUPPORT //#ifdef XB_MDX_SUPPORT //virtual xbInt16 GetCreateMdxBlockSize() const; @@ -365,12 +369,14 @@ class XBDLLEXPORT xbDbf : public xbFile { xbInt16 AddIndex( xbIx *ix, const xbString &sFmt ); void ClearTagList(); - virtual xbInt16 GetNdxInfFileName( xbString &sNdxIdxFileName ); xbInt16 RemoveIndex( xbIx * ix ); void UpdateSchemaIxFlag( xbInt16 iFldNo, unsigned char cVal ); virtual xbInt16 UpdateTagList (); - #endif + #endif // XB_INDEX_SUPPORT + #ifdef XB_INF_SUPPORT + virtual xbInt16 GetInfFileName( xbString &sNdxIdxFileName ); + #endif // XB_INF_SUPPORT #ifdef XB_LOCKING_SUPPORT @@ -384,11 +390,11 @@ class XBDLLEXPORT xbDbf : public xbFile { xbUInt32 ulCreateMemoBlockSize; // blocksize to use when creating dbt file #endif - #ifdef XB_NDXINF_SUPPORT - virtual xbInt16 DeleteNdxInfData(); - virtual xbInt16 LoadNdxInfData(); - virtual xbInt16 SaveNdxInfData(); - #endif // XB_NDXINF_SUPPORT + #ifdef XB_INF_SUPPORT + virtual xbInt16 DeleteInfData(); + virtual xbInt16 LoadInfData(); + virtual xbInt16 SaveInfData(); + #endif // XB_INF_SUPPORT /* #ifdef XB_MDX_SUPPORT @@ -454,9 +460,6 @@ class XBDLLEXPORT xbDbf : public xbFile { #ifdef XB_INDEX_SUPPORT xbIxList *ixList; // pointer to a list of indices associated with the table -// #ifdef XB_MDX_SUPPORT -// xbIx *ixMdx; // pointer to production multi-tag index file -// #endif xbIx *pCurIx; // Pointer to current index class void *vpCurIxTag; // Pointer to current tag xbString sCurIxType; // Current index type @@ -464,9 +467,9 @@ class XBDLLEXPORT xbDbf : public xbFile { #endif // XB_INDEX_SUPPORT -#ifdef XB_NDXINF_SUPPORT - xbLinkList<xbString> llNdxInfData; // linked list of strings containing ndx file entries -#endif // XB_NDXINF_SUPPORT +#ifdef XB_INF_SUPPORT + xbLinkList<xbString> llInfData; // linked list of strings containing ndx file entries +#endif // XB_INF_SUPPORT }; @@ -487,6 +490,7 @@ class XBDLLEXPORT xbDbf3 : public xbDbf { virtual xbInt16 CreateTable ( const xbString &sTableName, const xbString &sAlias, xbSchema *, xbInt16 iOverlay, xbInt16 iShareMode ); virtual xbInt16 GetVersion () const; virtual xbInt16 Open ( const xbString &sTableName, const xbString &sAlias, xbInt16 iOpenMode, xbInt16 iShareMode ); + virtual xbInt16 Rename ( const xbString sNewName ); #ifdef XB_MEMO_SUPPORT virtual xbInt16 SetCreateMemoBlockSize( xbUInt32 iBlockSize ); @@ -518,6 +522,7 @@ class XBDLLEXPORT xbDbf4 : public xbDbf { virtual xbInt16 CreateTable ( const xbString &sTableName, const xbString &sAlias, xbSchema *, xbInt16 iOverlay, xbInt16 iShareMode ); virtual xbInt16 GetVersion () const; virtual xbInt16 Open ( const xbString &sTableName, const xbString &sAlias, xbInt16 iOpenMode, xbInt16 iShareMode ); + virtual xbInt16 Rename ( const xbString sNewName ); #ifdef XB_MEMO_SUPPORT virtual xbInt16 SetCreateMemoBlockSize( xbUInt32 iBlockSize ); |