blob: 9f6069abf58a4e923243570d57ed2ea48a68cbbb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#pragma once
using namespace std;
#include "LevelStorageSource.h"
#include "File.h"
class ProgressListener;
class LevelData;
class ConsoleSaveFile;
class DirectoryLevelStorageSource : public LevelStorageSource
{
protected:
const File baseDir;
public:
DirectoryLevelStorageSource(const File dir);
virtual wstring getName();
virtual vector<LevelSummary *> *getLevelList();
virtual void clearAll();
virtual LevelData *getDataTagFor(ConsoleSaveFile *saveFile, const wstring& levelId);
virtual void renameLevel(const wstring& levelId, const wstring& newLevelName);
virtual bool isNewLevelIdAcceptable(const wstring& levelId);
virtual void deleteLevel(const wstring& levelId);
protected:
static void deleteRecursive(vector<File *> *files);
public:
virtual shared_ptr<LevelStorage> selectLevel(ConsoleSaveFile *saveFile, const wstring& levelId, bool createPlayerDir);
virtual bool isConvertible(ConsoleSaveFile *saveFile, const wstring& levelId);
virtual bool requiresConversion(ConsoleSaveFile *saveFile, const wstring& levelId);
virtual bool convertLevel(ConsoleSaveFile *saveFile, const wstring& levelId, ProgressListener *progress);
};
|