From 0d8dceea4310fde5706b3ce1c70609d72a38efdf Mon Sep 17 00:00:00 2001 From: John Schoenick Date: Wed, 9 Sep 2015 18:35:41 -0700 Subject: Updated the SDK with the latest code from the TF and HL2 branches. --- mp/src/public/vstdlib/IKeyValuesSystem.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'mp/src/public/vstdlib/IKeyValuesSystem.h') diff --git a/mp/src/public/vstdlib/IKeyValuesSystem.h b/mp/src/public/vstdlib/IKeyValuesSystem.h index 1bd5a8ab..e999dd81 100644 --- a/mp/src/public/vstdlib/IKeyValuesSystem.h +++ b/mp/src/public/vstdlib/IKeyValuesSystem.h @@ -16,6 +16,9 @@ typedef int HKeySymbol; #define INVALID_KEY_SYMBOL (-1) +class IBaseFileSystem; +class KeyValues; + //----------------------------------------------------------------------------- // Purpose: Interface to shared data repository for KeyValues (included in vgui_controls.lib) // allows for central data storage point of KeyValues symbol table @@ -39,6 +42,12 @@ public: // for debugging, adds KeyValues record into global list so we can track memory leaks virtual void AddKeyValuesToMemoryLeakList(void *pMem, HKeySymbol name) = 0; virtual void RemoveKeyValuesFromMemoryLeakList(void *pMem) = 0; + + // maintain a cache of KeyValues we load from disk. This saves us quite a lot of time on app startup. + virtual void AddFileKeyValuesToCache( const KeyValues* _kv, const char *resourceName, const char *pathID ) = 0; + virtual bool LoadFileKeyValuesFromCache( KeyValues* _outKv, const char *resourceName, const char *pathID, IBaseFileSystem *filesystem ) const = 0; + virtual void InvalidateCache( ) = 0; + virtual void InvalidateCacheForFile( const char *resourceName, const char *pathID ) = 0; }; VSTDLIB_INTERFACE IKeyValuesSystem *KeyValuesSystem(); -- cgit v1.2.3