diff options
| author | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
|---|---|---|
| committer | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
| commit | 3bf9df6b2785fa6d951086978a3e66f49427166a (patch) | |
| tree | 2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /engine/saverestore_filesystem.h | |
| download | archived-source-engine-2018-hl2-src-master.tar.xz archived-source-engine-2018-hl2-src-master.zip | |
Diffstat (limited to 'engine/saverestore_filesystem.h')
| -rw-r--r-- | engine/saverestore_filesystem.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/engine/saverestore_filesystem.h b/engine/saverestore_filesystem.h new file mode 100644 index 0000000..9ae6d39 --- /dev/null +++ b/engine/saverestore_filesystem.h @@ -0,0 +1,51 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: Interface for filesystem calls used by the saverestore system +// to manupulate the save directory. +// +//=============================================================================// +#ifndef SAVERESTOREFILESYSTEM_H +#define SAVERESTOREFILESYSTEM_H +#ifdef _WIN32 +#pragma once +#endif + +#include "utlmap.h" +#include "utlsymbol.h" +#include "filesystem.h" + +abstract_class ISaveRestoreFileSystem +{ +public: + virtual FileHandle_t Open( const char *pFileName, const char *pOptions, const char *pathID = NULL ) = 0; + virtual void Close( FileHandle_t ) = 0; + virtual int Read( void *pOutput, int size, FileHandle_t file ) = 0; + virtual int Write( void const* pInput, int size, FileHandle_t file ) = 0; + virtual void Seek( FileHandle_t file, int pos, FileSystemSeek_t method ) = 0; + virtual unsigned int Tell( FileHandle_t file ) = 0; + virtual unsigned int Size( FileHandle_t file ) = 0; + virtual unsigned int Size( const char *pFileName, const char *pPathID = NULL ) = 0; + + virtual bool FileExists( const char *pFileName, const char *pPathID = NULL ) = 0; + virtual void RenameFile( char const *pOldPath, char const *pNewPath, const char *pathID = NULL ) = 0; + virtual void RemoveFile( char const* pRelativePath, const char *pathID = NULL ) = 0; + + virtual void AsyncFinishAllWrites( void ) = 0; + virtual void AsyncRelease( FSAsyncControl_t hControl ) = 0; + virtual FSAsyncStatus_t AsyncWrite( const char *pFileName, const void *pSrc, int nSrcBytes, bool bFreeMemory, bool bAppend, FSAsyncControl_t *pControl = NULL ) = 0; + virtual FSAsyncStatus_t AsyncFinish( FSAsyncControl_t hControl, bool wait = false ) = 0; + virtual FSAsyncStatus_t AsyncAppend( const char *pFileName, const void *pSrc, int nSrcBytes, bool bFreeMemory, FSAsyncControl_t *pControl = NULL ) = 0; + virtual FSAsyncStatus_t AsyncAppendFile( const char *pDestFileName, const char *pSrcFileName, FSAsyncControl_t *pControl = NULL ) = 0; + + virtual void DirectoryCopy( const char *pPath, const char *pDestFileName, bool bIsXSave ) = 0; + virtual bool DirectoryExtract( FileHandle_t pFile, int fileCount, bool bIsXSave ) = 0; + virtual int DirectoryCount( const char *pPath ) = 0; + virtual void DirectoryClear( const char *pPath, bool bIsXSave ) = 0; + + virtual void AuditFiles( void ) = 0; + virtual bool LoadFileFromDisk( const char *pFilename ) = 0; +}; + +extern ISaveRestoreFileSystem *g_pSaveRestoreFileSystem; + +#endif // SAVERESTOREFILESYSTEM_H |