diff options
author | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2023-03-11 18:15:55 +0100 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2023-03-11 18:15:55 +0100 |
commit | a3aecc48a8ce32221f3e6f04e227531596301700 (patch) | |
tree | 5cbcd7f9ffa01d6024fb5d2f2b5d435b5b4c7577 /src/include/xbdbf.h | |
parent | 76f06edcf417fea572c0c0d2240ada4f377267ea (diff) | |
parent | 82f6dc9f22dded1754b36b00e34e0d6806c2a55e (diff) |
Merge branch 'feature/upstream' into develop
Diffstat (limited to 'src/include/xbdbf.h')
-rwxr-xr-x | src/include/xbdbf.h | 37 |
1 files changed, 26 insertions, 11 deletions
diff --git a/src/include/xbdbf.h b/src/include/xbdbf.h index c0842cb..16799f2 100755 --- a/src/include/xbdbf.h +++ b/src/include/xbdbf.h @@ -2,7 +2,7 @@ XBase64 Software Library -Copyright (c) 1997,2003,2014, 2022 Gary A Kunkel +Copyright (c) 1997,2003,2014,2022,2023 Gary A Kunkel The xb64 software library is covered under the terms of the GPL Version 3, 2007 license. @@ -168,11 +168,14 @@ class XBDLLEXPORT xbDbf : public xbFile { virtual xbInt16 DumpRecord ( xbUInt32 ulRecNo, xbInt16 iOutputDest = 0, xbInt16 iOutputFmt = 0 ); virtual xbInt16 GetAutoCommit () const; virtual xbInt16 GetAutoCommit ( xbInt16 iOption ) const; + virtual xbBool GetBof (); virtual xbUInt32 GetCurRecNo () const; virtual xbInt16 GetDbfStatus () const; + virtual xbBool GetEof (); virtual xbInt32 GetFieldCnt () const; virtual xbInt16 GetFirstRecord (); virtual xbInt16 GetFirstRecord ( xbInt16 iOption ); + virtual xbUInt16 GetHeaderLen () const; virtual xbInt16 GetLastRecord (); virtual xbInt16 GetLastRecord ( xbInt16 iOption ); @@ -360,7 +363,11 @@ class XBDLLEXPORT xbDbf : public xbFile { //virtual xbInt16 SetCreateMdxBlockSize( xbInt16 ulBlockSize ); //#endif - + #ifdef XB_BLOCKREAD_SUPPORT + xbInt16 DisableBlockReadProcessing(); + xbInt16 EnableBlockReadProcessing(); + xbBool GetBlockReadStatus() const; + #endif // XB_BLOCKREAD_SUPPORT protected: #ifdef XB_INDEX_SUPPORT @@ -378,6 +385,10 @@ class XBDLLEXPORT xbDbf : public xbFile { virtual xbInt16 GetInfFileName( xbString &sNdxIdxFileName ); #endif // XB_INF_SUPPORT + #ifdef XB_BLOCKREAD_SUPPORT + friend class xbBlockRead; + #endif // XB_BLOCKREAD_SUPPORT + #ifdef XB_LOCKING_SUPPORT void SetHeaderLocked ( xbBool bTableLocked ); @@ -426,7 +437,7 @@ class XBDLLEXPORT xbDbf : public xbFile { xbSchemaRec *SchemaPtr; // Pointer to field data char *RecBuf; // Pointer to record buffer - char *RecBuf2; // Pointer to original rec buf + char *RecBuf2; // Pointer to original rec buf allocation /* Next several variables are database header fields, up through dbase V */ @@ -448,28 +459,32 @@ class XBDLLEXPORT xbDbf : public xbFile { void ResetNoOfRecords(); -#ifdef XB_LOCKING_SUPPORT + #ifdef XB_LOCKING_SUPPORT xbInt16 iAutoLock; // 0 - autolock off, 1 - autolock on xbInt16 iLockFlavor; xbBool bTableLocked; // is the table locked xbBool bHeaderLocked; // is the header locked xbUInt32 ulAppendLocked; // record number of the new record for the append lock operation xbLinkListOrd<xbUInt32> lloRecLocks; // ordered link list of locked records -#endif - + #endif -#ifdef XB_INDEX_SUPPORT + #ifdef XB_INDEX_SUPPORT xbIxList *ixList; // pointer to a list of indices associated with the table xbIx *pCurIx; // Pointer to current index class void *vpCurIxTag; // Pointer to current tag xbString sCurIxType; // Current index type xbLinkList<xbTag *> llTags; // linked list of open tags + #endif // XB_INDEX_SUPPORT -#endif // XB_INDEX_SUPPORT + #ifdef XB_INF_SUPPORT + xbLinkList<xbString> llInfData; // linked list of strings containing ndx file entries + #endif // XB_INF_SUPPORT + + #ifdef XB_BLOCKREAD_SUPPORT + xbBlockRead *pRb; + xbBool bBlockReadEnabled; // if true, then block read mode is on + #endif -#ifdef XB_INF_SUPPORT - xbLinkList<xbString> llInfData; // linked list of strings containing ndx file entries -#endif // XB_INF_SUPPORT }; |