home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c221 / 6.ddi / MWHC.006 / Y2 < prev    next >
Encoding:
Text File  |  1992-06-07  |  1.4 KB  |  49 lines

  1. #ifndef __RWVPAGE_H__
  2. #define __RWVPAGE_H__
  3. pragma push_align_members(64);
  4.  
  5. /*
  6.  * RWVirtualPageHeap: Abstraction of a page heap, swapped to unknown parts
  7.  *
  8.  * $Header:   E:/vcs/rw/vpage.h_v   1.0   11 Mar 1992 14:10:00   KEFFER  $
  9.  *
  10.  ****************************************************************************
  11.  *
  12.  * Rogue Wave Software, Inc.
  13.  * P.O. Box 2328
  14.  * Corvallis, OR 97339
  15.  *
  16.  * Copyright (C) 1992. This software is subject to copyright 
  17.  * protection under the laws of the United States and other countries.
  18.  *
  19.  ***************************************************************************
  20.  *
  21.  * $Log:   E:/vcs/rw/vpage.h_v  $
  22.  * 
  23.  *    Rev 1.0   11 Mar 1992 14:10:00   KEFFER
  24.  * Initial revision.
  25.  */
  26.  
  27. #include "rw/tooldefs.h"
  28.  
  29. typedef unsigned RWHandle;
  30.  
  31. class RWExport RWVirtualPageHeap {
  32. protected:
  33.   unsigned        _pageSize;
  34. public:
  35.   RWVirtualPageHeap(unsigned pgsize) : _pageSize(pgsize) { }
  36.   virtual        ~RWVirtualPageHeap() { }
  37.  
  38.   unsigned        pageSize() const {return _pageSize;}
  39.  
  40.   virtual RWHandle    allocate()           = 0;    // Allocate a page
  41.   virtual void        deallocate(RWHandle) = 0;    // Deallocate it
  42.   virtual void        dirty(RWHandle)      = 0;    // Declare page as dirty
  43.   virtual void*        lock(RWHandle)       = 0;    // Lock a page
  44.   virtual void        unlock(RWHandle)     = 0;    // Unlock a page
  45. };
  46.  
  47. pragma pop_align_members();
  48. #endif    /* __RWVPAGE_H__ */
  49.