aboutsummaryrefslogtreecommitdiff
path: root/backends
diff options
context:
space:
mode:
authorMax Horn2009-05-29 14:38:22 +0000
committerMax Horn2009-05-29 14:38:22 +0000
commitfb79b185717c9aae7c793e7f07d5d6b94aec4abf (patch)
tree6df973c3f64d5712d6df36caa0af30b6b6012561 /backends
parent518e005ec27ef323275b364a3cd16d24d7491674 (diff)
downloadscummvm-rg350-fb79b185717c9aae7c793e7f07d5d6b94aec4abf.tar.gz
scummvm-rg350-fb79b185717c9aae7c793e7f07d5d6b94aec4abf.tar.bz2
scummvm-rg350-fb79b185717c9aae7c793e7f07d5d6b94aec4abf.zip
Changed SaveFileManager methods to take Common::String params (instead of char pointers)
svn-id: r41000
Diffstat (limited to 'backends')
-rw-r--r--backends/events/default/default-events.cpp12
-rw-r--r--backends/platform/dc/vmsave.cpp18
-rw-r--r--backends/platform/ds/arm9/source/gbampsave.cpp10
-rw-r--r--backends/platform/ds/arm9/source/gbampsave.h10
-rw-r--r--backends/platform/ds/arm9/source/ramsave.cpp14
-rw-r--r--backends/platform/ds/arm9/source/ramsave.h10
-rw-r--r--backends/platform/ps2/savefilemgr.cpp56
-rw-r--r--backends/platform/ps2/savefilemgr.h8
-rw-r--r--backends/saves/default/default-saves.cpp8
-rw-r--r--backends/saves/default/default-saves.h8
-rw-r--r--backends/saves/savefile.cpp2
11 files changed, 79 insertions, 77 deletions
diff --git a/backends/events/default/default-events.cpp b/backends/events/default/default-events.cpp
index f610c6f8a5..9b2c8df287 100644
--- a/backends/events/default/default-events.cpp
+++ b/backends/events/default/default-events.cpp
@@ -144,8 +144,8 @@ DefaultEventManager::DefaultEventManager(EventProvider *boss) :
if (_recordMode == kRecorderRecord) {
_recordCount = 0;
_recordTimeCount = 0;
- _recordFile = g_system->getSavefileManager()->openForSaving(_recordTempFileName.c_str());
- _recordTimeFile = g_system->getSavefileManager()->openForSaving(_recordTimeFileName.c_str());
+ _recordFile = g_system->getSavefileManager()->openForSaving(_recordTempFileName);
+ _recordTimeFile = g_system->getSavefileManager()->openForSaving(_recordTimeFileName);
_recordSubtitles = ConfMan.getBool("subtitles");
}
@@ -155,8 +155,8 @@ DefaultEventManager::DefaultEventManager(EventProvider *boss) :
if (_recordMode == kRecorderPlayback) {
_playbackCount = 0;
_playbackTimeCount = 0;
- _playbackFile = g_system->getSavefileManager()->openForLoading(_recordFileName.c_str());
- _playbackTimeFile = g_system->getSavefileManager()->openForLoading(_recordTimeFileName.c_str());
+ _playbackFile = g_system->getSavefileManager()->openForLoading(_recordFileName);
+ _playbackTimeFile = g_system->getSavefileManager()->openForLoading(_recordTimeFileName);
if (!_playbackFile) {
warning("Cannot open playback file %s. Playback was switched off", _recordFileName.c_str());
@@ -235,11 +235,11 @@ DefaultEventManager::~DefaultEventManager() {
_recordTimeFile->finalize();
delete _recordTimeFile;
- _playbackFile = g_system->getSavefileManager()->openForLoading(_recordTempFileName.c_str());
+ _playbackFile = g_system->getSavefileManager()->openForLoading(_recordTempFileName);
assert(_playbackFile);
- _recordFile = g_system->getSavefileManager()->openForSaving(_recordFileName.c_str());
+ _recordFile = g_system->getSavefileManager()->openForSaving(_recordFileName);
_recordFile->writeUint32LE(RECORD_SIGNATURE);
_recordFile->writeUint32LE(RECORD_VERSION);
diff --git a/backends/platform/dc/vmsave.cpp b/backends/platform/dc/vmsave.cpp
index ab4b42648a..dbbe49fc74 100644
--- a/backends/platform/dc/vmsave.cpp
+++ b/backends/platform/dc/vmsave.cpp
@@ -318,13 +318,13 @@ public:
class VMSaveManager : public Common::SaveFileManager {
public:
- virtual Common::OutSaveFile *openForSaving(const char *filename) {
- return Common::wrapCompressedWriteStream(new OutVMSave(filename));
+ virtual Common::OutSaveFile *openForSaving(const Common::String &filename) {
+ return Common::wrapCompressedWriteStream(new OutVMSave(filename.c_str()));
}
- virtual Common::InSaveFile *openForLoading(const char *filename) {
+ virtual Common::InSaveFile *openForLoading(const Common::String &filename) {
InVMSave *s = new InVMSave();
- if (s->readSaveGame(filename)) {
+ if (s->readSaveGame(filename.c_str())) {
return Common::wrapCompressedReadStream(s);
} else {
delete s;
@@ -332,11 +332,11 @@ public:
}
}
- virtual bool removeSavefile(const char *filename) {
- return ::deleteSaveGame(filename);
+ virtual bool removeSavefile(const Common::String &filename) {
+ return ::deleteSaveGame(filename.c_str());
}
- virtual Common::StringList listSavefiles(const char *glob);
+ virtual Common::StringList listSavefiles(const Common::String &pattern);
};
void OutVMSave::finalize()
@@ -421,12 +421,12 @@ uint32 OutVMSave::write(const void *buf, uint32 cnt)
}
-Common::StringList VMSaveManager::listSavefiles(const char *glob)
+Common::StringList VMSaveManager::listSavefiles(const Common::String &pattern)
{
Common::StringList list;
for (int i=0; i<24; i++)
- tryList(glob, i, list);
+ tryList(pattern.c_str(), i, list);
return list;
}
diff --git a/backends/platform/ds/arm9/source/gbampsave.cpp b/backends/platform/ds/arm9/source/gbampsave.cpp
index 385935e816..3ca0bb3bb8 100644
--- a/backends/platform/ds/arm9/source/gbampsave.cpp
+++ b/backends/platform/ds/arm9/source/gbampsave.cpp
@@ -144,7 +144,7 @@ GBAMPSaveFileManager::~GBAMPSaveFileManager() {
}
-GBAMPSaveFile* GBAMPSaveFileManager::openSavefile(char const* name, bool saveOrLoad) {
+GBAMPSaveFile *GBAMPSaveFileManager::openSavefile(const char *name, bool saveOrLoad) {
char fileSpec[128];
strcpy(fileSpec, getSavePath());
@@ -156,7 +156,7 @@ GBAMPSaveFile* GBAMPSaveFileManager::openSavefile(char const* name, bool saveOrL
}
// consolePrintf("Opening the file: %s\n", fileSpec);
- GBAMPSaveFile* sf = new GBAMPSaveFile(fileSpec, saveOrLoad);
+ GBAMPSaveFile *sf = new GBAMPSaveFile(fileSpec, saveOrLoad);
if (sf->isOpen()) {
// consolePrintf("Ok");
return sf;
@@ -180,7 +180,7 @@ const char *GBAMPSaveFileManager::getSavePath() const {
return dir;
}
-Common::StringList GBAMPSaveFileManager::listSavefiles(const char *pattern) {
+Common::StringList GBAMPSaveFileManager::listSavefiles(const Common::String &pattern) {
enum { TYPE_NO_MORE = 0, TYPE_FILE = 1, TYPE_DIR = 2 };
char name[256];
@@ -225,7 +225,7 @@ Common::StringList GBAMPSaveFileManager::listSavefiles(const char *pattern) {
}
- if (Common::matchString(name, pattern)) {
+ if (Common::matchString(name, pattern.c_str())) {
list.push_back(name);
}
}
@@ -236,5 +236,3 @@ Common::StringList GBAMPSaveFileManager::listSavefiles(const char *pattern) {
return list;
}
-
-
diff --git a/backends/platform/ds/arm9/source/gbampsave.h b/backends/platform/ds/arm9/source/gbampsave.h
index c92d5d6151..e45065df42 100644
--- a/backends/platform/ds/arm9/source/gbampsave.h
+++ b/backends/platform/ds/arm9/source/gbampsave.h
@@ -66,13 +66,13 @@ public:
GBAMPSaveFile *openSavefile(const char *filename, bool saveOrLoad);
- virtual Common::OutSaveFile* openForSaving(const char* filename) { return openSavefile(filename, true); }
- virtual Common::InSaveFile* openForLoading(const char* filename) { return openSavefile(filename, false); }
+ virtual Common::OutSaveFile* openForSaving(const Common::String &filename) { return openSavefile(filename.c_str(), true); }
+ virtual Common::InSaveFile* openForLoading(const Common::String &filename) { return openSavefile(filename.c_str(), false); }
- virtual bool removeSavefile(const char *filename) { return false; } // TODO: Implement this
- virtual Common::StringList listSavefiles(const char *pattern);
+ virtual bool removeSavefile(const Common::String &filename) { return false; } // TODO: Implement this
+ virtual Common::StringList listSavefiles(const Common::String &pattern);
- void deleteFile(char* name);
+ void deleteFile(const Common::String &name);
void listFiles();
const char *getSavePath() const;
diff --git a/backends/platform/ds/arm9/source/ramsave.cpp b/backends/platform/ds/arm9/source/ramsave.cpp
index 82830e9102..ff756205ab 100644
--- a/backends/platform/ds/arm9/source/ramsave.cpp
+++ b/backends/platform/ds/arm9/source/ramsave.cpp
@@ -358,9 +358,9 @@ void DSSaveFileManager::listFiles() {
DSSaveFileManager* DSSaveFileManager::instancePtr = NULL;
-DSSaveFile *DSSaveFileManager::openSavefile(const char* filename, bool saveOrLoad) {
+DSSaveFile *DSSaveFileManager::openSavefile(const char *filename, bool saveOrLoad) {
for (int r = 0; r < 8; r++) {
- if (gbaSave[r].isValid() && (gbaSave[r].matches((char *) filename))) {
+ if (gbaSave[r].isValid() && (gbaSave[r].matches(filename))) {
// consolePrintf("Matched save %d (%d)\n", r, gbaSave[r].getSize());
gbaSave[r].reset();
//consolePrintf("reset ");
@@ -384,17 +384,17 @@ DSSaveFile* DSSaveFile::clone() {
return new DSSaveFile(&save, saveCompressed, saveData);
}
-void DSSaveFileManager::deleteFile(char* name) {
+void DSSaveFileManager::deleteFile(const char* name) {
// consolePrintf("Deleting %s", name);
for (int r = 0; r < 8; r++) {
- if (gbaSave[r].isValid() && (gbaSave[r].matches((char *) name))) {
+ if (gbaSave[r].isValid() && (gbaSave[r].matches(name))) {
gbaSave[r].deleteFile();
}
}
flushToSaveRAM();
}
-bool DSSaveFileManager::removeSavefile(const char *filename) {
+bool DSSaveFileManager::removeSavefile(const Common::String &filename) {
consolePrintf("DSSaveFileManager::removeSavefile : Not implemented yet.\n");
assert(false);
//TODO: Implement this. Most likely, you just have to use the code of deleteFile?
@@ -402,7 +402,7 @@ bool DSSaveFileManager::removeSavefile(const char *filename) {
}
-Common::StringList DSSaveFileManager::listSavefiles(const char *pattern) {
+Common::StringList DSSaveFileManager::listSavefiles(const Common::String &pattern) {
consolePrintf("DSSaveFileManager::listSavefiles : Not implemented yet.\n");
assert(false);
return Common::StringList();
@@ -424,7 +424,7 @@ void DSSaveFileManager::listSavefiles(const char *prefix, bool *marks, int num)
for (int saveNum = 0; saveNum < num; saveNum++) {
for (int r = 0; r < 8; r++) {
- if (gbaSave[r].isValid() && (gbaSave[r].matches((char *) prefix, saveNum))) {
+ if (gbaSave[r].isValid() && (gbaSave[r].matches(prefix, saveNum))) {
marks[saveNum] = true;
}
}
diff --git a/backends/platform/ds/arm9/source/ramsave.h b/backends/platform/ds/arm9/source/ramsave.h
index 709b6fc6c1..47172d7844 100644
--- a/backends/platform/ds/arm9/source/ramsave.h
+++ b/backends/platform/ds/arm9/source/ramsave.h
@@ -122,11 +122,11 @@ public:
DSSaveFile *openSavefile(const char *filename, bool saveOrLoad);
- virtual Common::OutSaveFile* openForSaving(const char* filename) { return openSavefile(filename, true); }
- virtual Common::InSaveFile* openForLoading(const char* filename) { return openSavefile(filename, false); }
+ virtual Common::OutSaveFile* openForSaving(const Common::String &filename) { return openSavefile(filename.c_str(), true); }
+ virtual Common::InSaveFile* openForLoading(const Common::String &filename) { return openSavefile(filename.c_str(), false); }
- virtual bool removeSavefile(const char *filename);
- virtual Common::StringList listSavefiles(const char *pattern);
+ virtual bool removeSavefile(const Common::String &filename);
+ virtual Common::StringList listSavefiles(const Common::String &pattern);
void flushToSaveRAM();
@@ -144,7 +144,7 @@ public:
static void setExtraData(int data);
protected:
- DSSaveFile *makeSaveFile(const char *filename, bool saveOrLoad);
+ DSSaveFile *makeSaveFile(const Common::String &filename, bool saveOrLoad);
};
#endif
diff --git a/backends/platform/ps2/savefilemgr.cpp b/backends/platform/ps2/savefilemgr.cpp
index d15beb418a..1271a43d42 100644
--- a/backends/platform/ps2/savefilemgr.cpp
+++ b/backends/platform/ps2/savefilemgr.cpp
@@ -82,7 +82,7 @@ void Ps2SaveFileManager::mcSplit(char *full, char *game, char *ext) {
// TODO
}
-Common::InSaveFile *Ps2SaveFileManager::openForLoading(const char *filename) {
+Common::InSaveFile *Ps2SaveFileManager::openForLoading(const Common::String &filename) {
Common::FSNode savePath(ConfMan.get("savepath")); // TODO: is this fast?
Common::SeekableReadStream *sf;
@@ -93,33 +93,35 @@ Common::InSaveFile *Ps2SaveFileManager::openForLoading(const char *filename) {
if (_getDev(savePath) == MC_DEV) {
// if (strncmp(savePath.getPath().c_str(), "mc0:", 4) == 0) {
- char *game=0, *ext=0, path[32], temp[32];
+ char path[32];
// FIXME : hack for indy4 iq-points
- if (strcmp(filename, "iq-points") == 0) {
+ if (filename == "iq-points") {
mcCheck("mc0:ScummVM/indy4");
sprintf(path, "mc0:ScummVM/indy4/iq-points");
}
// FIXME : hack for bs1 saved games
- else if (strcmp(filename, "SAVEGAME.INF") == 0) {
+ else if (filename == "SAVEGAME.INF") {
mcCheck("mc0:ScummVM/sword1");
sprintf(path, "mc0:ScummVM/sword1/SAVEGAME.INF");
}
else {
- printf("MC : filename = %s\n", filename);
- strcpy(temp, filename);
+ char temp[32];
+ printf("MC : filename = %s\n", filename.c_str());
+ strcpy(temp, filename.c_str());
// mcSplit(temp, game, ext);
- game = strdup(strtok(temp, "."));
- ext = strdup(strtok(NULL, "*"));
+ char *game = strdup(strtok(temp, "."));
+ char *ext = strdup(strtok(NULL, "*"));
sprintf(path, "mc0:ScummVM/%s", game); // per game path
// mcCheck(path); // needed on load ?
sprintf(path, "mc0:ScummVM/%s/%s.sav", game, ext);
+
+ free(game);
+ free(ext);
}
- free(game);
- free(ext);
Common::FSNode file(path);
@@ -142,11 +144,11 @@ Common::InSaveFile *Ps2SaveFileManager::openForLoading(const char *filename) {
return Common::wrapCompressedReadStream(sf);
}
-Common::OutSaveFile *Ps2SaveFileManager::openForSaving(const char *filename) {
+Common::OutSaveFile *Ps2SaveFileManager::openForSaving(const Common::String &filename) {
Common::FSNode savePath(ConfMan.get("savepath")); // TODO: is this fast?
Common::WriteStream *sf;
- printf("openForSaving : %s\n", filename);
+ printf("openForSaving : %s\n", filename.c_str());
if (!savePath.exists() || !savePath.isDirectory())
return NULL;
@@ -155,33 +157,35 @@ Common::OutSaveFile *Ps2SaveFileManager::openForSaving(const char *filename) {
if (_getDev(savePath) == MC_DEV) {
// if (strncmp(savePath.getPath().c_str(), "mc0:", 4) == 0) {
- char *game=0, *ext=0, path[32], temp[32];
+ char path[32];
// FIXME : hack for indy4 iq-points
- if (strcmp(filename, "iq-points") == 0) {
+ if (filename == "iq-points") {
mcCheck("mc0:ScummVM/indy4");
sprintf(path, "mc0:ScummVM/indy4/iq-points");
}
// FIXME : hack for bs1 saved games
- else if (strcmp(filename, "SAVEGAME.INF") == 0) {
+ else if (filename == "SAVEGAME.INF") {
mcCheck("mc0:ScummVM/sword1");
sprintf(path, "mc0:ScummVM/sword1/SAVEGAME.INF");
}
else {
- strcpy(temp, filename);
+ char temp[32];
+ strcpy(temp, filename.c_str());
// mcSplit(temp, game, ext);
- game = strdup(strtok(temp, "."));
- ext = strdup(strtok(NULL, "*"));
+ char *game = strdup(strtok(temp, "."));
+ char *ext = strdup(strtok(NULL, "*"));
sprintf(path, "mc0:ScummVM/%s", game); // per game path
mcCheck(path);
sprintf(path, "mc0:ScummVM/%s/%s.sav", game, ext);
+
+ free(game);
+ free(ext);
}
Common::FSNode file(path);
sf = file.createWriteStream();
- free(game);
- free(ext);
} else {
Common::FSNode file = savePath.getChild(filename);
sf = file.createWriteStream();
@@ -191,7 +195,7 @@ Common::OutSaveFile *Ps2SaveFileManager::openForSaving(const char *filename) {
return Common::wrapCompressedWriteStream(sf);
}
-bool Ps2SaveFileManager::removeSavefile(const char *filename) {
+bool Ps2SaveFileManager::removeSavefile(const Common::String &filename) {
Common::FSNode savePath(ConfMan.get("savepath")); // TODO: is this fast?
Common::FSNode file;
@@ -200,12 +204,12 @@ bool Ps2SaveFileManager::removeSavefile(const char *filename) {
if (_getDev(savePath) == MC_DEV) {
// if (strncmp(savePath.getPath().c_str(), "mc0:", 4) == 0) {
- char *game=0, *ext=0, path[32], temp[32];
- strcpy(temp, filename);
+ char path[32], temp[32];
+ strcpy(temp, filename.c_str());
// mcSplit(temp, game, ext);
- game = strdup(strtok(temp, "."));
- ext = strdup(strtok(NULL, "*"));
+ char *game = strdup(strtok(temp, "."));
+ char *ext = strdup(strtok(NULL, "*"));
sprintf(path, "mc0:ScummVM/%s", game); // per game path
mcCheck(path);
sprintf(path, "mc0:ScummVM/%s/%s.sav", game, ext);
@@ -224,7 +228,7 @@ bool Ps2SaveFileManager::removeSavefile(const char *filename) {
return true;
}
-Common::StringList Ps2SaveFileManager::listSavefiles(const char *pattern) {
+Common::StringList Ps2SaveFileManager::listSavefiles(const Common::String &pattern) {
Common::FSNode savePath(ConfMan.get("savepath")); // TODO: is this fast?
Common::String _dir;
Common::String search;
diff --git a/backends/platform/ps2/savefilemgr.h b/backends/platform/ps2/savefilemgr.h
index 806aae0913..b1599c70f6 100644
--- a/backends/platform/ps2/savefilemgr.h
+++ b/backends/platform/ps2/savefilemgr.h
@@ -37,10 +37,10 @@ public:
Ps2SaveFileManager(OSystem_PS2 *system, Gs2dScreen *screen);
virtual ~Ps2SaveFileManager();
- virtual Common::InSaveFile *openForLoading(const char *filename);
- virtual Common::OutSaveFile *openForSaving(const char *filename);
- virtual Common::StringList listSavefiles(const char *regex);
- virtual bool removeSavefile(const char *filename);
+ virtual Common::InSaveFile *openForLoading(const Common::String &filename);
+ virtual Common::OutSaveFile *openForSaving(const Common::String &filename);
+ virtual Common::StringList listSavefiles(const Common::String &pattern);
+ virtual bool removeSavefile(const Common::String &filename);
// void writeSaveNonblocking(char *name, void *buf, uint32 size);
// void saveThread(void);
diff --git a/backends/saves/default/default-saves.cpp b/backends/saves/default/default-saves.cpp
index a6adb19112..69af78404d 100644
--- a/backends/saves/default/default-saves.cpp
+++ b/backends/saves/default/default-saves.cpp
@@ -54,7 +54,7 @@ void DefaultSaveFileManager::checkPath(const Common::FSNode &dir) {
}
}
-Common::StringList DefaultSaveFileManager::listSavefiles(const char *pattern) {
+Common::StringList DefaultSaveFileManager::listSavefiles(const Common::String &pattern) {
Common::FSNode savePath(getSavePath());
checkPath(savePath);
if (getError() != Common::kNoError)
@@ -74,7 +74,7 @@ Common::StringList DefaultSaveFileManager::listSavefiles(const char *pattern) {
return results;
}
-Common::InSaveFile *DefaultSaveFileManager::openForLoading(const char *filename) {
+Common::InSaveFile *DefaultSaveFileManager::openForLoading(const Common::String &filename) {
// Ensure that the savepath is valid. If not, generate an appropriate error.
Common::FSNode savePath(getSavePath());
checkPath(savePath);
@@ -91,7 +91,7 @@ Common::InSaveFile *DefaultSaveFileManager::openForLoading(const char *filename)
return Common::wrapCompressedReadStream(sf);
}
-Common::OutSaveFile *DefaultSaveFileManager::openForSaving(const char *filename) {
+Common::OutSaveFile *DefaultSaveFileManager::openForSaving(const Common::String &filename) {
// Ensure that the savepath is valid. If not, generate an appropriate error.
Common::FSNode savePath(getSavePath());
checkPath(savePath);
@@ -106,7 +106,7 @@ Common::OutSaveFile *DefaultSaveFileManager::openForSaving(const char *filename)
return Common::wrapCompressedWriteStream(sf);
}
-bool DefaultSaveFileManager::removeSavefile(const char *filename) {
+bool DefaultSaveFileManager::removeSavefile(const Common::String &filename) {
clearError();
Common::FSNode savePath(getSavePath());
diff --git a/backends/saves/default/default-saves.h b/backends/saves/default/default-saves.h
index 94674a34a8..6fe250f9b2 100644
--- a/backends/saves/default/default-saves.h
+++ b/backends/saves/default/default-saves.h
@@ -39,10 +39,10 @@ public:
DefaultSaveFileManager();
DefaultSaveFileManager(const Common::String &defaultSavepath);
- virtual Common::StringList listSavefiles(const char *pattern);
- virtual Common::InSaveFile *openForLoading(const char *filename);
- virtual Common::OutSaveFile *openForSaving(const char *filename);
- virtual bool removeSavefile(const char *filename);
+ virtual Common::StringList listSavefiles(const Common::String &pattern);
+ virtual Common::InSaveFile *openForLoading(const Common::String &filename);
+ virtual Common::OutSaveFile *openForSaving(const Common::String &filename);
+ virtual bool removeSavefile(const Common::String &filename);
protected:
/**
diff --git a/backends/saves/savefile.cpp b/backends/saves/savefile.cpp
index 29d477a6c1..d2fc913f14 100644
--- a/backends/saves/savefile.cpp
+++ b/backends/saves/savefile.cpp
@@ -31,7 +31,7 @@
namespace Common {
-bool SaveFileManager::renameSavefile(const char *oldFilename, const char *newFilename) {
+bool SaveFileManager::renameSavefile(const String &oldFilename, const String &newFilename) {
InSaveFile *inFile = 0;
OutSaveFile *outFile = 0;