ddnet/src/engine/shared/storage.h

49 lines
1 KiB
C
Raw Normal View History

#ifndef STORAGE_H
#define STORAGE_H
#include <base/system.h>
#include <engine/storage.h>
#include "engine.h"
// compiled-in data-dir path
#define DATA_DIR "data"
class CStorage : public IStorage
{
public:
char m_aApplicationSavePath[512];
char m_aDatadir[512];
2015-07-09 00:08:14 +00:00
CStorage()
{
m_aApplicationSavePath[0] = 0;
m_aDatadir[0] = 0;
}
2015-07-09 00:08:14 +00:00
int Init(const char *pApplicationName, const char *pArgv0);
2015-07-09 00:08:14 +00:00
int FindDatadir(const char *pArgv0);
virtual void ListDirectory(int Types, const char *pPath, FS_LISTDIR_CALLBACK pfnCallback, void *pUser);
2015-08-27 12:57:56 +00:00
virtual void ListDirectoryInfo(int Type, const char *pPath, FS_LISTDIR_INFO_CALLBACK pfnCallback, void *pUser) = 0;
2015-07-09 00:08:14 +00:00
virtual IOHANDLE OpenFile(const char *pFilename, int Flags, char *pBuffer = 0, int BufferSize = 0);
2015-07-09 00:08:14 +00:00
static IStorage *Create(const char *pApplicationName, const char *pArgv0)
{
CStorage *p = new CStorage();
if(p->Init(pApplicationName, pArgv0))
{
delete p;
p = 0;
}
return p;
}
};
2010-07-31 11:04:19 +00:00
IStorage *CreateStorage(const char *pApplicationName, const char *pArgv0);
#endif