home *** CD-ROM | disk | FTP | other *** search
- #include "..\MEMORY\MEMORY.HPP"
-
- // ------------------------------------------------------------------
- // File: MEMORY.CPP
- // Path: ...\REHACK\MEMORY\MEMORY.CPP
- // Version: 0.01
- // Author: Pat Reilly
- // CIS Id: 71333,2764
- // Created On: 6/28/93
- // Modified On:
- // Description: VMemManager class for REHACK. See MEMORY.TXT for
- // more details.
- // Tabs: 4
- // ------------------------------------------------------------------
-
- MemType VMemManager::allocScheme[5] =
- { MemConv, MemEMS, MemXMS, MemDisk, MemUnknown };
-
- MemoryObject *VMemManager::allocate(word sz)
- {
- MemoryObject* mem;
- int n;
-
- if( sz == 0 ) return 0;
-
- for( n = 0; allocScheme[n] != MemUnknown && n < 4; n++ )
- {
- if( allocScheme[n] == MemConv )
- mem = new ConvMemory(sz);
- else if( allocScheme[n] == MemEMS )
- mem = new EmsMemory(sz);
- else if( allocScheme[n] == MemXMS )
- mem = new XmsMemory(sz);
- else if( allocScheme[n] == MemDisk )
- mem = new DiskMemory(sz);
- else
- mem = 0;
-
- if( mem != 0 && mem->memSize() == sz )
- return mem;
- delete mem;
- }
- return 0;
- }
-