home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / OS2 / DB02_SRC.ZIP / OBJECT.H < prev    next >
C/C++ Source or Header  |  1993-11-05  |  4KB  |  132 lines

  1. /**************************************************************************
  2.  * Source Id :
  3.  *
  4.  * $Id: object.h,v 1.14 1993/10/18 11:21:42 kevinl Exp $
  5.  *-------------------------------------------------------------------------
  6.  * Project Notes :
  7.  *
  8.  *  Diamond Base
  9.  *  ============
  10.  *      A solid database implementation, spurred on by the continuing
  11.  *  Metal (Lead) Base saga.
  12.  *
  13.  *  Project Team :
  14.  *        A. Davison
  15.  *        K. Lentin
  16.  *        D. Platt
  17.  *
  18.  *    Project Commenced : 05-02-1993
  19.  *
  20.  *-------------------------------------------------------------------------
  21.  *  Module Notes :
  22.  *
  23.  *  Virtual object base class.
  24.  *
  25.  *
  26.  *  Original Author : Krazy Kev
  27.  *
  28.  *-------------------------------------------------------------------------
  29.  * Revision History:
  30.  *
  31.  * $Log: object.h,v $
  32.  * Revision 1.14  1993/10/18  11:21:42  kevinl
  33.  * Added record number to object
  34.  *
  35.  * Revision 1.13  1993/07/13  04:45:25  kevinl
  36.  * Added getData, putData, startData and endData for MULTI
  37.  *
  38.  * Revision 1.12  1993/07/11  02:22:07  kevinl
  39.  * Nuked some int\'s and ternery operators
  40.  *
  41.  * Revision 1.11  1993/07/02  05:17:46  kevinl
  42.  * {get,has,set}Unique
  43.  * Commented out invalidate
  44.  *
  45.  * Revision 1.10  1993/06/23  05:21:22  kevinl
  46.  * Mallocs are now in angular brackets
  47.  *
  48.  * Revision 1.9  1993/06/20  13:37:02  kevinl
  49.  * Includes dbstr.h, numStrings(), getArray() for String support
  50.  *
  51.  * Revision 1.8  1993/05/01  14:42:24  kevinl
  52.  * Removed ;'s from inlines
  53.  *
  54.  * Revision 1.7  1993/04/27  07:03:13  kevinl
  55.  * added isUnique
  56.  *
  57.  * Revision 1.6  1993/04/01  11:21:16  kevinl
  58.  * Added getUniqeu to class.
  59.  *
  60.  * Revision 1.5  1993/03/17  14:29:37  kevinl
  61.  * Multiple include protection
  62.  * Valid/invalid objects
  63.  * added !, [] and void* operators
  64.  * added compare and rewrote isEqual, isLessThan
  65.  *
  66.  * Revision 1.4  1993/02/18  22:32:08  davison
  67.  * Added in numKey and default value
  68.  *
  69.  * Revision 1.3  1993/02/17  12:17:05  kevinl
  70.  * Added isEqual
  71.  *
  72.  * Revision 1.2  1993/02/13  00:56:53  kevinl
  73.  * added setKey
  74.  *
  75.  * Revision 1.1  1993/02/08  14:41:27  darrenp
  76.  * Initial revision
  77.  *
  78.  **************************************************************************/
  79.  
  80. #ifndef __OBJECT_H__
  81. #define __OBJECT_H__
  82.  
  83. #include <defs.h>
  84. #include <dbstr.h>
  85.  
  86. class object
  87. {
  88.     long recNum;
  89. //    int valid;
  90. public:
  91.  
  92.     //object(void) { valid = 1; }
  93.     object(void) {}
  94.     //void invalidate(void) {valid = 0;}
  95.     //virtual inline int operator!()
  96.     //    {
  97.     //        return !valid;
  98.     //    }
  99.     inline    long    getRecNum(void) { return recNum; }
  100.     inline    void    setRecNum(long r) { recNum = r; }
  101.     virtual inline operator void*() = 0;
  102.     virtual inline void getData(void) { }
  103.     virtual inline void putData(void) { }
  104.     virtual inline void startData(void) { }
  105.     virtual inline void endData(void) { }
  106.     virtual long getDataLength(void) = 0;
  107.     virtual pKeyType getKey(long keyNum=0) = 0;
  108.     virtual bool hasUnique(void) = 0;
  109.     virtual long getUnique(void) = 0;
  110.     virtual void setUnique(long uniq) = 0;
  111.     virtual inline pKeyType operator [](long i)
  112.         {
  113.             return getKey(i);
  114.         }
  115.     virtual long getKeyLength(long keyNum=0) = 0;
  116.     virtual void setKey(pKeyType newKey, long keyNum=0) = 0;
  117.     virtual long compare(pKeyType key, long keyNum=0) = 0;
  118.     virtual bool isUnique(long keyNum=0) = 0;
  119.     virtual long numStrings(void) = 0;
  120.     virtual _db_strStruct* getArray(void) = 0;
  121.     virtual inline bool isLessThan(pKeyType key, long keyNum=0)
  122.         {
  123.             return (compare(key, keyNum)<0)?true:false;
  124.         }
  125.     virtual inline bool isEqual(pKeyType key, long keyNum=0)
  126.         {
  127.             return (compare(key, keyNum)==0)?true:false;
  128.         }
  129. };
  130.  
  131. #endif
  132.