diff options
Diffstat (limited to 'src/engine/storage.h')
| -rw-r--r-- | src/engine/storage.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/engine/storage.h b/src/engine/storage.h new file mode 100644 index 00000000..4f875d40 --- /dev/null +++ b/src/engine/storage.h @@ -0,0 +1,25 @@ +#ifndef ENGINE_STORAGE_H +#define ENGINE_STORAGE_H + +#include "kernel.h" + +class IStorage : public IInterface +{ + MACRO_INTERFACE("storage", 0) +public: + enum + { + TYPE_SAVE = 1, + TYPE_CURRENT = 2, + TYPE_DATA = 4, + TYPE_ALL = ~0 + }; + + virtual void ListDirectory(int Types, const char *pPath, FS_LISTDIR_CALLBACK pfnCallback, void *pUser) = 0; + virtual IOHANDLE OpenFile(const char *pFilename, int Flags, char *pBuffer = 0, int BufferSize = 0) = 0; +}; + +extern IStorage *CreateStorage(const char *pApplicationName, const char *pArgv0); + + +#endif |