diff options
Diffstat (limited to 'xbase64/xbase64.h')
-rwxr-xr-x | xbase64/xbase64.h | 239 |
1 files changed, 0 insertions, 239 deletions
diff --git a/xbase64/xbase64.h b/xbase64/xbase64.h deleted file mode 100755 index 7267299..0000000 --- a/xbase64/xbase64.h +++ /dev/null @@ -1,239 +0,0 @@ -/* xbase64.h - - Xbase project source code - - This file contains a header file for the xbXBase class, which is the - base class for using the Xbase DBMS library. - - Copyright (C) 1997,2003 Gary A Kunkel - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - - Contact: - - Email: - - xdb-devel@lists.sourceforge.net - xdb-users@lists.sourceforge.net - - - Regular Mail: - - XBase Support - 149C South Main St - Keller Texas, 76248 - USA - -*/ - -#ifndef __XB_XBASE_H__ -#define __XB_XBASE_H__ - -#ifdef __GNU LesserG__ -#pragma interface -#endif - -#ifdef __WIN32__ -#include <xbase64/xbwincfg.h> -#else -#include <xbase64/xbconfig.h> -#endif - -#include <string.h> - -#if defined(__WIN32__) -#include "windows.h" - -// ripped from wxWindows - -// _declspec works in BC++ 5 and later, as well as VC++ -#if defined(__VISUALC__) || defined(__BORLANDC__) || defined(__GNU LesserC__) -# ifdef XBMAKINGDLL -# define XBDLLEXPORT __declspec( dllexport ) -# define XBDLLEXPORT_DATA(type) __declspec( dllexport ) type -# define XBDLLEXPORT_CTORFN -# elif defined(XBUSINGDLL) -# define XBDLLEXPORT __declspec( dllimport ) -# define XBDLLEXPORT_DATA(type) __declspec( dllimport ) type -# define XBDLLEXPORT_CTORFN -# else -# define XBDLLEXPORT -# define XBDLLEXPORT_DATA(type) type -# define XBDLLEXPORT_CTORFN -# endif - -#else - -# define XBDLLEXPORT -# define XBDLLEXPORT_DATA(type) type -# define XBDLLEXPORT_CTORFN -#endif - -#else // !Windows -# define XBDLLEXPORT -# define XBDLLEXPORT_DATA(type) type -# define XBDLLEXPORT_CTORFN -#endif // Win/!Win - - -#define XB_SINGLE_USER_MODE 0 -#define XB_UNLOCK 200 -#define XB_LOCK 201 -#define XB_LOCK_HOLD 202 - -#ifdef XB_LOCKING_ON - - #ifdef HAVE_SYS_LOCKING_H - #include <sys/locking.h> - #ifdef __MINGW32__ - #defibe locking _locking - #endif - #endif - - #ifdef HAVE_FCNTL_H - #include <fcntl.h> - #endif - - #ifdef HAVE_UNISTD_H - #include <unistd.h> - #endif - - #define XB_XBASE_LOCK_MODE 200 - #define XB_DBASE5_LOCK_MODE 201 - #define XB_CLIPPER5_LOCK_MODE 202 - #define XB_FOXPRO3_LOCK_MODE 203 - -#endif // XB_LOCKING_ON - -#include "xbtypes.h" -#include "xbretcod.h" -#include "xbdate.h" -#include "xbstring.h" - -#ifndef XB_MIN -#define XB_MIN(a, b) (((a) < (b)) ? (a) : (b)) -#endif /* XB_MIN */ - -// 3/18/04 next macro isn't currently used in the library - GK -//#ifndef XB_MAX -//#define XB_MAX(a, b) (((a) < (b)) ? (b) : (a)) -//#endif /* XB_MAX */ - -/*! \file xbase64.h -*/ - -class XBDLLEXPORT xbDbf; - -//! xbDbList struct -/*! -*/ -struct XBDLLEXPORT xbDbList{ - xbDbList * NextDbf; - char * DbfName; - xbDbf * dbf; -}; - -//! xbXBase class -/*! -*/ -class XBDLLEXPORT xbXBase { - public: - ~xbXBase(); - xbXBase(); - xbShort AddDbfToDbfList(xbDbf *d, const char *DatabaseName); - xbDbf * GetDbfPtr( const char *Name ); - xbShort DirectoryExistsInName( const char *Name ); - xbShort GetEndianType() { return EndianType; } - void DisplayError( xbShort ErrorCode ) const; - static const char* GetErrorMessage( xbShort ErrorCode ); - xbString & GetDefaultDateFormat() { return DefaultDateFormat; } - void SetDefaultDateFormat( const xbString & f ){ DefaultDateFormat = f; } - - /* next 6 routines handle both big endian and little endian machines */ - xbDouble GetDouble( const char *p ); - xbLong GetLong ( const char *p ); - xbULong GetULong ( const char *p ); - xbShort GetShort ( const char *p ); - xbULong GetHBFULong( const char *p ); - xbShort GetHBFShort ( const char *p ); - - void PutLong ( char *p, const xbLong l ); - void PutShort ( char *p, const xbShort s ); - void PutULong ( char *p, const xbULong l ); - void PutUShort( char *p, const xbUShort s ); - void PutDouble( char *p, const xbDouble d ); - - xbShort RemoveDbfFromDbfList( xbDbf * ); - -#ifdef XB_LOCKING_ON - xbShort GetLockRetryCount(){ return LockRetryCount; } - void SetLockRetryCount( xbShort lrc ) { LockRetryCount = lrc; } - xbShort LockFile( int fn, xbShort type, xbOffT len ); - xbShort GetLockMode() { return LockMode; } - xbShort SetLockMode( xbShort nlm ); -#endif - -protected: - xbDbList * DbfList; - xbDbList * FreeDbfList; - xbShort EndianType; /* B = Big Endian, L = Little Endian */ - -private: - xbString DefaultDateFormat; - -#ifdef XB_LOCKING_ON - xbShort LockRetryCount; - xbShort LockMode; -#endif -}; - -#include "xbdbf.h" - -#if defined(XB_EXPRESSIONS) -#include "xbexp.h" -#endif - -#if defined(XB_INDEX_ANY) -#include "xbindex.h" -#include "xbmindex.h" -#endif - -#ifdef XB_LOCKING_ON -#include "xblock.h" -#endif - -#ifdef XB_INDEX_NDX -#include "xbndx.h" -#endif - -#ifdef XB_INDEX_NTX -#include "xbntx.h" -#endif - -#ifdef XB_INDEX_CDX -#include "xbcdx.h" -#endif - -#if defined(XB_FILTERS) && !defined(XB_INDEX_ANY) -#error XB_FILTERS cant be used without index support -#elif defined(XB_FILTERS) -#include "xbfilter.h" -#endif - -#endif // __XB_XBASE_H__ - - - |