Move DisposeAfterUse::Flag from Common to global namespace, and into a new header common/types.h

svn-id: r47180
This commit is contained in:
Max Horn 2010-01-08 22:07:35 +00:00
parent 474d49946f
commit 0cf53b025d
27 changed files with 73 additions and 42 deletions

View File

@ -26,7 +26,7 @@
#ifndef COMMON_STREAM_H
#define COMMON_STREAM_H
#include "common/scummsys.h"
#include "common/types.h"
#include "common/endian.h"
namespace Common {
@ -391,10 +391,6 @@ public:
};
namespace DisposeAfterUse {
enum Flag { NO, YES };
}
/**
* SubReadStream provides access to a ReadStream restricted to the range
* [currentPosition, currentPosition+end).

35
common/types.h Normal file
View File

@ -0,0 +1,35 @@
/* ScummVM - Graphic Adventure Engine
*
* ScummVM is the legal property of its developers, whose names
* are too numerous to list here. Please refer to the COPYRIGHT
* file distributed with this source distribution.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* $URL$
* $Id$
*/
#ifndef COMMON_TYPES_H
#define COMMON_TYPES_H
#include "common/scummsys.h"
namespace DisposeAfterUse {
enum Flag { NO, YES };
}
#endif

View File

@ -84,7 +84,7 @@ const uint8 *PCjrSound::getVoicePointer(uint voiceNum) {
}
IIgsSample::IIgsSample(uint8 *data, uint32 len, int resnum, SoundMgr &manager) : AgiSound(manager) {
Common::MemoryReadStream stream(data, len, Common::DisposeAfterUse::YES);
Common::MemoryReadStream stream(data, len, DisposeAfterUse::YES);
// Check that the header was read ok and that it's of the correct type
if (_header.read(stream) && _header.type == AGI_SOUND_SAMPLE) { // An Apple IIGS AGI sample resource

View File

@ -209,7 +209,7 @@ int loadOverlay(const char *scriptName) {
debug(1, "OVL loading done...");
Common::MemoryReadStream s(unpackedBuffer, unpackedSize, Common::DisposeAfterUse::YES);
Common::MemoryReadStream s(unpackedBuffer, unpackedSize, DisposeAfterUse::YES);
unpackedBuffer = NULL;
ovlData = overlayTable[scriptIdx].ovlData;
@ -590,7 +590,7 @@ int loadOverlay(const char *scriptName) {
loadPackedFileToMem(fileIdx, (uint8 *) unpackedBuffer);
}
Common::MemoryReadStream s2(unpackedBuffer, unpackedSize, Common::DisposeAfterUse::YES);
Common::MemoryReadStream s2(unpackedBuffer, unpackedSize, DisposeAfterUse::YES);
unpackedBuffer = NULL;
ovlData->specialString1Length = s2.readUint16BE();

View File

@ -65,7 +65,7 @@ Common::SeekableReadStream *ResMan::open(uint32 fileRef) {
}
// Returning the resource substream
return new Common::SeekableSubReadStream(gjdFile, resInfo.offset, resInfo.offset + resInfo.size, Common::DisposeAfterUse::YES);
return new Common::SeekableSubReadStream(gjdFile, resInfo.offset, resInfo.offset + resInfo.size, DisposeAfterUse::YES);
}

View File

@ -138,7 +138,7 @@ Common::InSaveFile *SaveLoad::openForLoading(const Common::String &target, int s
}
// Return a substream, skipping the metadata
Common::SeekableSubReadStream *sub = new Common::SeekableSubReadStream(savefile, metaDataSize, savefile->size(), Common::DisposeAfterUse::YES);
Common::SeekableSubReadStream *sub = new Common::SeekableSubReadStream(savefile, metaDataSize, savefile->size(), DisposeAfterUse::YES);
// Move to the beginning of the substream
sub->seek(0, SEEK_SET);

View File

@ -78,7 +78,7 @@ Common::SeekableReadStream *PlainArchive::createReadStreamForMember(const Common
if (!parent)
return 0;
return new Common::SeekableSubReadStream(parent, fDesc->_value.offset, fDesc->_value.offset + fDesc->_value.size, Common::DisposeAfterUse::YES);
return new Common::SeekableSubReadStream(parent, fDesc->_value.offset, fDesc->_value.offset + fDesc->_value.size, DisposeAfterUse::YES);
}
// -> CachedArchive implementation
@ -130,7 +130,7 @@ Common::SeekableReadStream *CachedArchive::createReadStreamForMember(const Commo
if (fDesc == _files.end())
return 0;
return new Common::MemoryReadStream(fDesc->_value.data, fDesc->_value.size, Common::DisposeAfterUse::NO);
return new Common::MemoryReadStream(fDesc->_value.data, fDesc->_value.size, DisposeAfterUse::NO);
}
// ResFileLoader implementations

View File

@ -152,7 +152,7 @@ Common::Error KyraEngine_HoF::loadGameState(int slot) {
int loadedZTable = _characterShapeFile;
Common::SeekableSubReadStreamEndian in(saveFile, saveFile->pos(), saveFile->size(), !header.originalSave, Common::DisposeAfterUse::YES);
Common::SeekableSubReadStreamEndian in(saveFile, saveFile->pos(), saveFile->size(), !header.originalSave, DisposeAfterUse::YES);
_screen->hideMouse();

View File

@ -54,7 +54,7 @@ Common::Error LoLEngine::loadGameState(int slot) {
_screen->fillRect(112, 0, 287, 119, 0, 0);
_screen->updateScreen();
Common::SeekableSubReadStreamEndian in(saveFile, saveFile->pos(), saveFile->size(), !header.originalSave, Common::DisposeAfterUse::YES);
Common::SeekableSubReadStreamEndian in(saveFile, saveFile->pos(), saveFile->size(), !header.originalSave, DisposeAfterUse::YES);
for (int i = 0; i < 4; i++) {
LoLCharacter *c = &_characters[i];

View File

@ -150,7 +150,7 @@ Common::Error KyraEngine_MR::loadGameState(int slot) {
int curShapes = _characterShapeFile;
Common::SeekableSubReadStreamEndian in(saveFile, saveFile->pos(), saveFile->size(), !header.originalSave, Common::DisposeAfterUse::YES);
Common::SeekableSubReadStreamEndian in(saveFile, saveFile->pos(), saveFile->size(), !header.originalSave, DisposeAfterUse::YES);
_screen->hideMouse();

View File

@ -2969,7 +2969,7 @@ bool Screen::loadPaletteTable(const char *filename, int firstPalette) {
}
void Screen::loadPalette(const byte *data, Palette &pal, int bytes) {
Common::MemoryReadStream stream(data, bytes, Common::DisposeAfterUse::NO);
Common::MemoryReadStream stream(data, bytes, DisposeAfterUse::NO);
if (_isAmiga)
pal.loadAmigaPalette(stream, 0, stream.size() / Palette::kAmigaBytesPerColor);

View File

@ -59,7 +59,7 @@ public:
MadsPackEntry &getItem(int index) const { return _items[index]; }
MadsPackEntry &operator[](int index) const { return _items[index]; }
Common::MemoryReadStream *getItemStream(int index) {
return new Common::MemoryReadStream(_items[index].data, _items[index].size, Common::DisposeAfterUse::NO);
return new Common::MemoryReadStream(_items[index].data, _items[index].size, DisposeAfterUse::NO);
}
int getDataOffset() const { return _dataOffset; }
};

View File

@ -45,7 +45,7 @@ Common::MemoryReadStream *RedReader::load(const char *redFilename, const char *f
lzhDec->decompress(fd, fileBuf, fileEntry.compSize, fileEntry.origSize);
delete lzhDec;
return new Common::MemoryReadStream(fileBuf, fileEntry.origSize, Common::DisposeAfterUse::YES);
return new Common::MemoryReadStream(fileBuf, fileEntry.origSize, DisposeAfterUse::YES);
}

View File

@ -247,7 +247,7 @@ Common::SeekableReadStream *MohawkBitmap::decompressLZ(Common::SeekableReadStrea
}
}
return new Common::MemoryReadStream(outputData, uncompressedSize, Common::DisposeAfterUse::YES);
return new Common::MemoryReadStream(outputData, uncompressedSize, DisposeAfterUse::YES);
}
void MohawkBitmap::unpackLZ() {
@ -316,7 +316,7 @@ void MohawkBitmap::unpackRiven() {
}
delete _data;
_data = new Common::MemoryReadStream(uncompressedData, _header.bytesPerRow * _header.height, Common::DisposeAfterUse::YES);
_data = new Common::MemoryReadStream(uncompressedData, _header.bytesPerRow * _header.height, DisposeAfterUse::YES);
}
static byte getLastTwoBits(byte c) {

View File

@ -263,7 +263,7 @@ void MohawkEngine_LivingBooks::loadANI(uint16 resourceId) {
Common::SeekableSubReadStreamEndian *MohawkEngine_LivingBooks::wrapStreamEndian(uint32 tag, uint16 id) {
Common::SeekableReadStream *dataStream = getRawData(tag, id);
return new Common::SeekableSubReadStreamEndian(dataStream, 0, dataStream->size(), isBigEndian(), Common::DisposeAfterUse::YES);
return new Common::SeekableSubReadStreamEndian(dataStream, 0, dataStream->size(), isBigEndian(), DisposeAfterUse::YES);
}
Common::String MohawkEngine_LivingBooks::getStringFromConfig(Common::String section, Common::String key) {

View File

@ -441,13 +441,13 @@ Audio::AudioStream *Sound::makeMohawkWaveStream(Common::SeekableReadStream *stre
flags |= Audio::Mixer::FLAG_LOOP;
return Audio::makeLinearInputStream(data_chunk.audio_data, data_chunk.size, data_chunk.sample_rate, flags, data_chunk.loopStart, data_chunk.loopEnd);
} else if (data_chunk.encoding == kCodecADPCM) {
Common::MemoryReadStream *dataStream = new Common::MemoryReadStream(data_chunk.audio_data, data_chunk.size, Common::DisposeAfterUse::YES);
Common::MemoryReadStream *dataStream = new Common::MemoryReadStream(data_chunk.audio_data, data_chunk.size, DisposeAfterUse::YES);
uint32 blockAlign = data_chunk.channels * data_chunk.bitsPerSample / 8;
return makeLoopingAudioStream(Audio::makeADPCMStream(dataStream, true, data_chunk.size, Audio::kADPCMIma, data_chunk.sample_rate, data_chunk.channels, blockAlign), loop ? 0 : 1);
} else if (data_chunk.encoding == kCodecMPEG2) {
#ifdef USE_MAD
Common::MemoryReadStream *dataStream = new Common::MemoryReadStream(data_chunk.audio_data, data_chunk.size, Common::DisposeAfterUse::YES);
Common::MemoryReadStream *dataStream = new Common::MemoryReadStream(data_chunk.audio_data, data_chunk.size, DisposeAfterUse::YES);
return Audio::makeLoopingAudioStream(Audio::makeMP3Stream(dataStream, true), loop ? 0 : 1);
#else
warning ("MAD library not included - unable to play MP2 audio");

View File

@ -467,7 +467,7 @@ int QTPlayer::readCMOV(MOVatom atom) {
// Load data into a new MemoryReadStream and assign _fd to be that
Common::SeekableReadStream *oldStream = _fd;
_fd = new Common::MemoryReadStream(uncompressedData, uncompressedSize, Common::DisposeAfterUse::YES);
_fd = new Common::MemoryReadStream(uncompressedData, uncompressedSize, DisposeAfterUse::YES);
// Read the contents of the uncompressed data
MOVatom a = { MKID_BE('moov'), 0, uncompressedSize };
@ -1224,7 +1224,7 @@ void QTPlayer::updateAudioBuffer() {
}
// Now queue the buffer
_audStream->queueAudioStream(createAudioStream(new Common::MemoryReadStream(wStream->getData(), wStream->size(), Common::DisposeAfterUse::YES)));
_audStream->queueAudioStream(createAudioStream(new Common::MemoryReadStream(wStream->getData(), wStream->size(), DisposeAfterUse::YES)));
delete wStream;
}
}

View File

@ -133,7 +133,7 @@ Common::SeekableReadStream *NSArchive::createReadStreamForMember(const Common::S
int offset = _archiveOffsets[index];
int endOffset = _archiveOffsets[index] + _archiveLenghts[index];
return new Common::SeekableSubReadStream(_stream, offset, endOffset, Common::DisposeAfterUse::NO);
return new Common::SeekableSubReadStream(_stream, offset, endOffset, DisposeAfterUse::NO);
}
bool NSArchive::hasFile(const Common::String &name) {
@ -670,7 +670,7 @@ public:
ppDecrunchBuffer(src, dest, crlen-8, decrlen);
free(src);
_stream = new Common::MemoryReadStream(dest, decrlen, Common::DisposeAfterUse::YES);
_stream = new Common::MemoryReadStream(dest, decrlen, DisposeAfterUse::YES);
_dispose = true;
}

View File

@ -678,7 +678,7 @@ void Parallaction_ns::initFonts() {
_introFont = _disk->loadFont("slide");
} else {
_dialogueFont = _disk->loadFont("comic");
Common::MemoryReadStream stream(_amigaTopazFont, 2600, Common::DisposeAfterUse::NO);
Common::MemoryReadStream stream(_amigaTopazFont, 2600, DisposeAfterUse::NO);
_labelFont = new AmigaFont(stream);
_menuFont = _disk->loadFont("slide");
_introFont = _disk->loadFont("intro");

View File

@ -83,17 +83,17 @@ void Sound::playSoundBuffer(Audio::SoundHandle *handle, SoundBuffer &buffer, int
switch (buffer.soundType) {
#ifdef USE_MAD
case kSoundMP3:
stream = Audio::makeMP3Stream(new Common::MemoryReadStream(buffer.buffer, buffer.size, Common::DisposeAfterUse::YES), true);
stream = Audio::makeMP3Stream(new Common::MemoryReadStream(buffer.buffer, buffer.size, DisposeAfterUse::YES), true);
break;
#endif
#ifdef USE_VORBIS
case kSoundOGG:
stream = Audio::makeVorbisStream(new Common::MemoryReadStream(buffer.buffer, buffer.size, Common::DisposeAfterUse::YES), true);
stream = Audio::makeVorbisStream(new Common::MemoryReadStream(buffer.buffer, buffer.size, DisposeAfterUse::YES), true);
break;
#endif
#ifdef USE_FLAC
case kSoundFLAC:
stream = Audio::makeFlacStream(new Common::MemoryReadStream(buffer.buffer, buffer.size, Common::DisposeAfterUse::YES), true);
stream = Audio::makeFlacStream(new Common::MemoryReadStream(buffer.buffer, buffer.size, DisposeAfterUse::YES), true);
break;
#endif
default:

View File

@ -218,10 +218,10 @@ Audio::RewindableAudioStream *AudioPlayer::getAudioStream(uint32 number, uint32
if (audioRes->headerSize > 0) {
// SCI1.1
Common::MemoryReadStream headerStream(audioRes->header, audioRes->headerSize, Common::DisposeAfterUse::NO);
Common::MemoryReadStream headerStream(audioRes->header, audioRes->headerSize, DisposeAfterUse::NO);
if (readSOLHeader(&headerStream, audioRes->headerSize, size, _audioRate, audioFlags)) {
Common::MemoryReadStream dataStream(audioRes->data, audioRes->size, Common::DisposeAfterUse::NO);
Common::MemoryReadStream dataStream(audioRes->data, audioRes->size, DisposeAfterUse::NO);
data = readSOLAudio(&dataStream, size, audioFlags, flags);
}
} else {
@ -229,7 +229,7 @@ Audio::RewindableAudioStream *AudioPlayer::getAudioStream(uint32 number, uint32
if (audioRes->size > 4) {
if (memcmp(audioRes->data, "RIFF", 4) == 0) {
// WAVE detected
Common::MemoryReadStream *waveStream = new Common::MemoryReadStream(audioRes->data, audioRes->size, Common::DisposeAfterUse::NO);
Common::MemoryReadStream *waveStream = new Common::MemoryReadStream(audioRes->data, audioRes->size, DisposeAfterUse::NO);
audioStream = Audio::makeWAVStream(waveStream, true);
}
}

View File

@ -223,7 +223,7 @@ void ScummEngine_v4::prepareSavegame() {
if (!writeStream->err()) {
// wrap uncompressing MemoryReadStream around the savegame data
_savePreparedSavegame = Common::wrapCompressedReadStream(
new Common::MemoryReadStream(memStream->getData(), memStream->size(), Common::DisposeAfterUse::YES));
new Common::MemoryReadStream(memStream->getData(), memStream->size(), DisposeAfterUse::YES));
}
}
// free the CompressedWriteStream and MemoryWriteStreamDynamic

View File

@ -66,7 +66,7 @@ public:
};
SafeSubReadStream::SafeSubReadStream(SeekableReadStream *parentStream, uint32 begin, uint32 end)
: SeekableSubReadStream(parentStream, begin, end, Common::DisposeAfterUse::NO) {
: SeekableSubReadStream(parentStream, begin, end, DisposeAfterUse::NO) {
_previousPos = 0;
}
@ -302,7 +302,7 @@ Audio::AudioStream *makePSXCLUStream(Common::File *file, int size) {
byte *buffer = (byte *)malloc(size);
file->read(buffer, size);
return new Audio::VagStream(new Common::MemoryReadStream(buffer, size, Common::DisposeAfterUse::YES));
return new Audio::VagStream(new Common::MemoryReadStream(buffer, size, DisposeAfterUse::YES));
}
// ----------------------------------------------------------------------------

View File

@ -81,7 +81,7 @@ Common::SeekableReadStream *Pack::getStream(uint32 id) const {
if (id < 1 || id > count)
return 0;
//debug(0, "stream: %04x-%04x", offsets[id - 1], offsets[id]);
return new Common::SeekableSubReadStream(&file, offsets[id - 1], offsets[id], Common::DisposeAfterUse::NO);
return new Common::SeekableSubReadStream(&file, offsets[id - 1], offsets[id], DisposeAfterUse::NO);
}
} // End of namespace TeenAgent

View File

@ -874,7 +874,7 @@ bool PCMMusicPlayer::getNextChunk() {
"offset %d (script %d.%d)", sampleCLength, sampleOffset,
_scriptNum, _scriptIndex - 1);
sampleStream = new Common::MemoryReadStream(buffer, sampleCLength, Common::DisposeAfterUse::YES);
sampleStream = new Common::MemoryReadStream(buffer, sampleCLength, DisposeAfterUse::YES);
delete _curChunk;
_curChunk = makeADPCMStream(sampleStream, true, sampleCLength,

View File

@ -132,7 +132,7 @@ bool SoundManager::playSample(int id, Audio::Mixer::SoundType type, Audio::Sound
_vm->_mixer->setVolumeForSoundType(Audio::Mixer::kSpeechSoundType, _vm->_config->_voiceVolume);
Common::MemoryReadStream *compressedStream =
new Common::MemoryReadStream(sampleBuf, sampleLen, Common::DisposeAfterUse::YES);
new Common::MemoryReadStream(sampleBuf, sampleLen, DisposeAfterUse::YES);
Audio::AudioStream *sampleStream = 0;
// play it
@ -283,7 +283,7 @@ bool SoundManager::playSample(int id, int sub, bool bLooped, int x, int y, int p
error(FILE_IS_CORRUPT, _vm->getSampleFile(sampleLanguage));
Common::MemoryReadStream *compressedStream =
new Common::MemoryReadStream(sampleBuf, sampleLen, Common::DisposeAfterUse::YES);
new Common::MemoryReadStream(sampleBuf, sampleLen, DisposeAfterUse::YES);
Audio::AudioStream *sampleStream = 0;
switch (_soundMode) {

View File

@ -2336,7 +2336,7 @@ Common::MemoryReadStream *Vmd::getExtraData(const char *fileName) {
}
Common::MemoryReadStream *stream =
new Common::MemoryReadStream(data, _extraData[i].realSize, Common::DisposeAfterUse::YES);
new Common::MemoryReadStream(data, _extraData[i].realSize, DisposeAfterUse::YES);
return stream;
}