//====== Copyright © 1996-2008, Valve Corporation, All rights reserved. ======= // // Purpose: public interface to user remote file storage in Steam // //============================================================================= #ifndef ISTEAMREMOTESTORAGE_H #define ISTEAMREMOTESTORAGE_H #ifdef _WIN32 #pragma once #endif #include "isteamclient.h" //----------------------------------------------------------------------------- // Purpose: Functions for accessing, reading and writing files stored remotely // and cached locally //----------------------------------------------------------------------------- class ISteamRemoteStorage { public: // NOTE // // Filenames are case-insensitive, and will be converted to lowercase automatically. // So "foo.bar" and "Foo.bar" are the same file, and if you write "Foo.bar" then // iterate the files, the filename returned will be "foo.bar". // // file operations virtual bool FileWrite( const char *pchFile, const void *pvData, int32 cubData ) = 0; virtual int32 GetFileSize( const char *pchFile ) = 0; virtual int32 FileRead( const char *pchFile, void *pvData, int32 cubDataToRead ) = 0; virtual bool FileExists( const char *pchFile ) = 0; // iteration virtual int32 GetFileCount() = 0; virtual const char *GetFileNameAndSize( int iFile, int32 *pnFileSizeInBytes ) = 0; // quota management virtual bool GetQuota( int32 *pnTotalBytes, int32 *puAvailableBytes ) = 0; }; #define STEAMREMOTESTORAGE_INTERFACE_VERSION "STEAMREMOTESTORAGE_INTERFACE_VERSION002" #endif // ISTEAMREMOTESTORAGE_H