summaryrefslogtreecommitdiff
path: root/src/include/xbdbf.h
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff-webhosting.net>2023-03-11 18:15:55 +0100
committerJörg Frings-Fürst <debian@jff-webhosting.net>2023-03-11 18:15:55 +0100
commita3aecc48a8ce32221f3e6f04e227531596301700 (patch)
tree5cbcd7f9ffa01d6024fb5d2f2b5d435b5b4c7577 /src/include/xbdbf.h
parent76f06edcf417fea572c0c0d2240ada4f377267ea (diff)
parent82f6dc9f22dded1754b36b00e34e0d6806c2a55e (diff)
Merge branch 'feature/upstream' into develop
Diffstat (limited to 'src/include/xbdbf.h')
-rwxr-xr-xsrc/include/xbdbf.h37
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
};