diff options
Diffstat (limited to 'mp/src/public/iregistry.h')
| -rw-r--r-- | mp/src/public/iregistry.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/mp/src/public/iregistry.h b/mp/src/public/iregistry.h new file mode 100644 index 00000000..338a8e38 --- /dev/null +++ b/mp/src/public/iregistry.h @@ -0,0 +1,52 @@ +//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+// $NoKeywords: $
+//===========================================================================//
+#if !defined( UTIL_REGISTRY_H )
+#define UTIL_REGISTRY_H
+#ifdef _WIN32
+#pragma once
+#endif
+
+#include "tier0/platform.h"
+
+
+//-----------------------------------------------------------------------------
+// Purpose: Interface to registry
+//-----------------------------------------------------------------------------
+abstract_class IRegistry
+{
+public:
+ // We have to have a virtual destructor since otherwise the derived class destructors
+ // will not be called.
+ virtual ~IRegistry() {}
+
+ // Init/shutdown
+ virtual bool Init( const char *platformName ) = 0;
+ virtual void Shutdown( void ) = 0;
+
+ // Read/write integers
+ virtual int ReadInt( const char *key, int defaultValue = 0 ) = 0;
+ virtual void WriteInt( const char *key, int value ) = 0;
+
+ // Read/write strings
+ virtual const char *ReadString( const char *key, const char *defaultValue = 0 ) = 0;
+ virtual void WriteString( const char *key, const char *value ) = 0;
+
+ // Read/write helper methods
+ virtual int ReadInt( const char *pKeyBase, const char *pKey, int defaultValue = 0 ) = 0;
+ virtual void WriteInt( const char *pKeyBase, const char *key, int value ) = 0;
+ virtual const char *ReadString( const char *pKeyBase, const char *key, const char *defaultValue ) = 0;
+ virtual void WriteString( const char *pKeyBase, const char *key, const char *value ) = 0;
+};
+
+extern IRegistry *registry;
+
+// Creates it and calls Init
+IRegistry *InstanceRegistry( char const *subDirectoryUnderValve );
+// Calls Shutdown and deletes it
+void ReleaseInstancedRegistry( IRegistry *reg );
+
+#endif // UTIL_REGISTRY_H
|