[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 RDDFUNCS
 The virtual method table for the work area
------------------------------------------------------------------------------
 Structure

     typedef struct _RDDFUNCS
     {
     
        /* Movement and positioning methods */
     
        DBENTRYP_SP  bof;
        DBENTRYP_SP  eof;
        DBENTRYP_SP  found;
        DBENTRYP_V   goBottom;
        DBENTRYP_L   go;
        DBENTRYP_I   goToId;
        DBENTRYP_V   goTop;
        DBENTRYP_SI  seek;
        DBENTRYP_L   skip;
        DBENTRYP_L   skipFilter;
        DBENTRYP_L   skipRaw;
     
        /* Data management */
     
        DBENTRYP_VP  addField;
        DBENTRYP_S   append;
        DBENTRYP_I   createFields;
        DBENTRYP_V   delete;
        DBENTRYP_SP  deleted;
        DBENTRYP_SP  fieldCount;
        DBENTRYP_VP  fieldDisplay;
        DBENTRYP_SSI fieldInfo;
        DBENTRYP_SVP fieldName;
        DBENTRYP_V   flush;
        DBENTRYP_PP  getRec;
        DBENTRYP_SI  getValue;
        DBENTRYP_SVP getVarLen;
        DBENTRYP_V   goCold;
        DBENTRYP_V   goHot;
        DBENTRYP_VP  putRec;
        DBENTRYP_SI  putValue;
        DBENTRYP_V   recall;
        DBENTRYP_LP  reccount;
        DBENTRYP_ISI recInfo;
        DBENTRYP_I   recno;
        DBENTRYP_S   setFieldExtent;
     
        /* Work Area/Database management */
     
        DBENTRYP_VP  alias;
        DBENTRYP_V   close;
        DBENTRYP_VP  create;
        DBENTRYP_SI  info;
        DBENTRYP_V   new;
        DBENTRYP_VP  open;
        DBENTRYP_V   release;
        DBENTRYP_SP  structSize;
        DBENTRYP_VP  sysName;
        DBENTRYP_VP  dbEval;
        DBENTRYP_V   pack;
        DBENTRYP_LSP packRec;
        DBENTRYP_VP  sort;
        DBENTRYP_VP  trans;
        DBENTRYP_VP  transRec;
        DBENTRYP_V   zap;
     
        /* Relational Methods */
     
        DBENTRYP_VP  childEnd;
        DBENTRYP_VP  childStart;
        DBENTRYP_VP  childSync;
        DBENTRYP_V   syncChildren;
        DBENTRYP_V   clearRel;
        DBENTRYP_V   forceRel;
        DBENTRYP_SVP relArea;
        DBENTRYP_VP  relEval;
        DBENTRYP_SVP relText;
        DBENTRYP_VP  setRel;
     
        /* Order Management */
     
        DBENTRYP_VP  orderListAdd;
        DBENTRYP_V   orderListClear;
        DBENTRYP_VP  orderListDelete;
        DBENTRYP_VP  orderListFocus;
        DBENTRYP_V   orderListRebuild;
     
        DBENTRYP_VP  orderCondition;
        DBENTRYP_VP  orderCreate;
        DBENTRYP_VP  orderDestroy;
        DBENTRYP_SVP orderInfo;
     
        /* Filters and Scope Settings */
     
        DBENTRYP_V    clearFilter;
        DBENTRYP_V    clearLocate;
        DBENTRYP_V    clearScope;
        DBENTRYP_VPLP countScope;
        DBENTRYP_VP   filterText;
        DBENTRYP_SI   scopeInfo;
        DBENTRYP_VP   setFilter;
        DBENTRYP_VP   setLocate;
        DBENTRYP_VP   setScope;
        DBENTRYP_VLP  skipScope;
     
        /* Miscellaneous */
     
     
        DBENTRYP_VP  compile;
        DBENTRYP_VP  error;
        DBENTRYP_I   evalBlock;
     
        /* Network operations */
     
        DBENTRYP_VSP rawlock;
        DBENTRYP_VP  lock;
        DBENTRYP_L   unlock;
     
        /* Memo file methods */
     
        DBENTRYP_V    closeMemFile;
        DBENTRYP_VP   createMemFile;
        DBENTRYP_SVP  getValueFile;
        DBENTRYP_VP   openMemFile;
        DBENTRYP_SVP  putValueFile;
     
        /* Database file header methods */
     
        DBENTRYP_V    readDBHeader;
        DBENTRYP_V    writeDBHeader;
     
        /* Special and reserved methods. */
     
        DBENTRYP_SVP  whoCares;
     
     } RDDFUNCS;

     typedef RDDFUNCS  far * LPRDDFUNCS;
     typedef LPRDDFUNCS far * LPLPRDDFUNCS;

 Elements

     The elements of the RDDFUNCS structure define the slots of the virtual
     method table.  Each slot in the table represents the location of a
     specific method (i.e., the address of the function that acts as the
     pseudomethod).  Methods that will not be supported by the RDD should
     have a NULL placed in its corresponding slot.  When the RDD is
     initialized, CA-Clipper will use the default behavior of the superclass
     instead.  If no functionality is provided by the superclass, CA-Clipper
     will generate an appropriate "unsupported" error.

     Warning!  Under no circumstance should the virtual method table be
     expanded.  The size and ordinal positioning of the methods in the table
     is critical.  Failure to adhere to this arrangement will cause
     unpredictable results and potential memory corruption.

 Files  Header file is Rdd.api.

 Used By    AREA


See Also: AREA
This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson