aboutsummaryrefslogtreecommitdiff
path: root/sp/src/public/icvar.h
diff options
context:
space:
mode:
authorJørgen P. Tjernø <[email protected]>2013-12-02 19:31:46 -0800
committerJørgen P. Tjernø <[email protected]>2013-12-02 19:46:31 -0800
commitf56bb35301836e56582a575a75864392a0177875 (patch)
treede61ddd39de3e7df52759711950b4c288592f0dc /sp/src/public/icvar.h
parentMark some more files as text. (diff)
downloadsource-sdk-2013-f56bb35301836e56582a575a75864392a0177875.tar.xz
source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.zip
Fix line endings. WHAMMY.
Diffstat (limited to 'sp/src/public/icvar.h')
-rw-r--r--sp/src/public/icvar.h406
1 files changed, 203 insertions, 203 deletions
diff --git a/sp/src/public/icvar.h b/sp/src/public/icvar.h
index 89475b3d..369adc58 100644
--- a/sp/src/public/icvar.h
+++ b/sp/src/public/icvar.h
@@ -1,203 +1,203 @@
-//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose:
-//
-//===========================================================================//
-
-#ifndef ICVAR_H
-#define ICVAR_H
-#ifdef _WIN32
-#pragma once
-#endif
-
-#include "appframework/IAppSystem.h"
-#include "tier1/iconvar.h"
-
-class ConCommandBase;
-class ConCommand;
-class ConVar;
-class Color;
-
-
-//-----------------------------------------------------------------------------
-// ConVars/ComCommands are marked as having a particular DLL identifier
-//-----------------------------------------------------------------------------
-typedef int CVarDLLIdentifier_t;
-
-
-//-----------------------------------------------------------------------------
-// Used to display console messages
-//-----------------------------------------------------------------------------
-abstract_class IConsoleDisplayFunc
-{
-public:
- virtual void ColorPrint( const Color& clr, const char *pMessage ) = 0;
- virtual void Print( const char *pMessage ) = 0;
- virtual void DPrint( const char *pMessage ) = 0;
-};
-
-
-//-----------------------------------------------------------------------------
-// Purpose: Applications can implement this to modify behavior in ICvar
-//-----------------------------------------------------------------------------
-#define CVAR_QUERY_INTERFACE_VERSION "VCvarQuery001"
-abstract_class ICvarQuery : public IAppSystem
-{
-public:
- // Can these two convars be aliased?
- virtual bool AreConVarsLinkable( const ConVar *child, const ConVar *parent ) = 0;
-};
-
-
-//-----------------------------------------------------------------------------
-// Purpose: DLL interface to ConVars/ConCommands
-//-----------------------------------------------------------------------------
-abstract_class ICvar : public IAppSystem
-{
-public:
- // Allocate a unique DLL identifier
- virtual CVarDLLIdentifier_t AllocateDLLIdentifier() = 0;
-
- // Register, unregister commands
- virtual void RegisterConCommand( ConCommandBase *pCommandBase ) = 0;
- virtual void UnregisterConCommand( ConCommandBase *pCommandBase ) = 0;
- virtual void UnregisterConCommands( CVarDLLIdentifier_t id ) = 0;
-
- // If there is a +<varname> <value> on the command line, this returns the value.
- // Otherwise, it returns NULL.
- virtual const char* GetCommandLineValue( const char *pVariableName ) = 0;
-
- // Try to find the cvar pointer by name
- virtual ConCommandBase *FindCommandBase( const char *name ) = 0;
- virtual const ConCommandBase *FindCommandBase( const char *name ) const = 0;
- virtual ConVar *FindVar ( const char *var_name ) = 0;
- virtual const ConVar *FindVar ( const char *var_name ) const = 0;
- virtual ConCommand *FindCommand( const char *name ) = 0;
- virtual const ConCommand *FindCommand( const char *name ) const = 0;
-
- // Get first ConCommandBase to allow iteration
- virtual ConCommandBase *GetCommands( void ) = 0;
- virtual const ConCommandBase *GetCommands( void ) const = 0;
-
- // Install a global change callback (to be called when any convar changes)
- virtual void InstallGlobalChangeCallback( FnChangeCallback_t callback ) = 0;
- virtual void RemoveGlobalChangeCallback( FnChangeCallback_t callback ) = 0;
- virtual void CallGlobalChangeCallbacks( ConVar *var, const char *pOldString, float flOldValue ) = 0;
-
- // Install a console printer
- virtual void InstallConsoleDisplayFunc( IConsoleDisplayFunc* pDisplayFunc ) = 0;
- virtual void RemoveConsoleDisplayFunc( IConsoleDisplayFunc* pDisplayFunc ) = 0;
- virtual void ConsoleColorPrintf( const Color& clr, PRINTF_FORMAT_STRING const char *pFormat, ... ) const = 0;
- virtual void ConsolePrintf( PRINTF_FORMAT_STRING const char *pFormat, ... ) const = 0;
- virtual void ConsoleDPrintf( PRINTF_FORMAT_STRING const char *pFormat, ... ) const = 0;
-
- // Reverts cvars which contain a specific flag
- virtual void RevertFlaggedConVars( int nFlag ) = 0;
-
- // Method allowing the engine ICvarQuery interface to take over
- // A little hacky, owing to the fact the engine is loaded
- // well after ICVar, so we can't use the standard connect pattern
- virtual void InstallCVarQuery( ICvarQuery *pQuery ) = 0;
-
-#if defined( _X360 )
- virtual void PublishToVXConsole( ) = 0;
-#endif
- virtual bool IsMaterialThreadSetAllowed( ) const = 0;
- virtual void QueueMaterialThreadSetValue( ConVar *pConVar, const char *pValue ) = 0;
- virtual void QueueMaterialThreadSetValue( ConVar *pConVar, int nValue ) = 0;
- virtual void QueueMaterialThreadSetValue( ConVar *pConVar, float flValue ) = 0;
- virtual bool HasQueuedMaterialThreadConVarSets() const = 0;
- virtual int ProcessQueuedMaterialThreadConVarSets() = 0;
-
-protected: class ICVarIteratorInternal;
-public:
- /// Iteration over all cvars.
- /// (THIS IS A SLOW OPERATION AND YOU SHOULD AVOID IT.)
- /// usage:
- /// { ICVar::Iterator iter(g_pCVar);
- /// for ( iter.SetFirst() ; iter.IsValid() ; iter.Next() )
- /// {
- /// ConCommandBase *cmd = iter.Get();
- /// }
- /// }
- /// The Iterator class actually wraps the internal factory methods
- /// so you don't need to worry about new/delete -- scope takes care
- // of it.
- /// We need an iterator like this because we can't simply return a
- /// pointer to the internal data type that contains the cvars --
- /// it's a custom, protected class with unusual semantics and is
- /// prone to change.
- class Iterator
- {
- public:
- inline Iterator(ICvar *icvar);
- inline ~Iterator(void);
- inline void SetFirst( void );
- inline void Next( void );
- inline bool IsValid( void );
- inline ConCommandBase *Get( void );
- private:
- ICVarIteratorInternal *m_pIter;
- };
-
-protected:
- // internals for ICVarIterator
- class ICVarIteratorInternal
- {
- public:
- // warning: delete called on 'ICvar::ICVarIteratorInternal' that is abstract but has non-virtual destructor [-Wdelete-non-virtual-dtor]
- virtual ~ICVarIteratorInternal() {}
- virtual void SetFirst( void ) = 0;
- virtual void Next( void ) = 0;
- virtual bool IsValid( void ) = 0;
- virtual ConCommandBase *Get( void ) = 0;
- };
-
- virtual ICVarIteratorInternal *FactoryInternalIterator( void ) = 0;
- friend class Iterator;
-};
-
-inline ICvar::Iterator::Iterator(ICvar *icvar)
-{
- m_pIter = icvar->FactoryInternalIterator();
-}
-
-inline ICvar::Iterator::~Iterator( void )
-{
- delete m_pIter;
-}
-
-inline void ICvar::Iterator::SetFirst( void )
-{
- m_pIter->SetFirst();
-}
-
-inline void ICvar::Iterator::Next( void )
-{
- m_pIter->Next();
-}
-
-inline bool ICvar::Iterator::IsValid( void )
-{
- return m_pIter->IsValid();
-}
-
-inline ConCommandBase * ICvar::Iterator::Get( void )
-{
- return m_pIter->Get();
-}
-
-#define CVAR_INTERFACE_VERSION "VEngineCvar004"
-
-
-//-----------------------------------------------------------------------------
-// These global names are defined by tier1.h, duplicated here so you
-// don't have to include tier1.h
-//-----------------------------------------------------------------------------
-
-// These are marked DLL_EXPORT for Linux.
-DLL_EXPORT ICvar *cvar;
-extern ICvar *g_pCVar;
-
-
-#endif // ICVAR_H
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+//===========================================================================//
+
+#ifndef ICVAR_H
+#define ICVAR_H
+#ifdef _WIN32
+#pragma once
+#endif
+
+#include "appframework/IAppSystem.h"
+#include "tier1/iconvar.h"
+
+class ConCommandBase;
+class ConCommand;
+class ConVar;
+class Color;
+
+
+//-----------------------------------------------------------------------------
+// ConVars/ComCommands are marked as having a particular DLL identifier
+//-----------------------------------------------------------------------------
+typedef int CVarDLLIdentifier_t;
+
+
+//-----------------------------------------------------------------------------
+// Used to display console messages
+//-----------------------------------------------------------------------------
+abstract_class IConsoleDisplayFunc
+{
+public:
+ virtual void ColorPrint( const Color& clr, const char *pMessage ) = 0;
+ virtual void Print( const char *pMessage ) = 0;
+ virtual void DPrint( const char *pMessage ) = 0;
+};
+
+
+//-----------------------------------------------------------------------------
+// Purpose: Applications can implement this to modify behavior in ICvar
+//-----------------------------------------------------------------------------
+#define CVAR_QUERY_INTERFACE_VERSION "VCvarQuery001"
+abstract_class ICvarQuery : public IAppSystem
+{
+public:
+ // Can these two convars be aliased?
+ virtual bool AreConVarsLinkable( const ConVar *child, const ConVar *parent ) = 0;
+};
+
+
+//-----------------------------------------------------------------------------
+// Purpose: DLL interface to ConVars/ConCommands
+//-----------------------------------------------------------------------------
+abstract_class ICvar : public IAppSystem
+{
+public:
+ // Allocate a unique DLL identifier
+ virtual CVarDLLIdentifier_t AllocateDLLIdentifier() = 0;
+
+ // Register, unregister commands
+ virtual void RegisterConCommand( ConCommandBase *pCommandBase ) = 0;
+ virtual void UnregisterConCommand( ConCommandBase *pCommandBase ) = 0;
+ virtual void UnregisterConCommands( CVarDLLIdentifier_t id ) = 0;
+
+ // If there is a +<varname> <value> on the command line, this returns the value.
+ // Otherwise, it returns NULL.
+ virtual const char* GetCommandLineValue( const char *pVariableName ) = 0;
+
+ // Try to find the cvar pointer by name
+ virtual ConCommandBase *FindCommandBase( const char *name ) = 0;
+ virtual const ConCommandBase *FindCommandBase( const char *name ) const = 0;
+ virtual ConVar *FindVar ( const char *var_name ) = 0;
+ virtual const ConVar *FindVar ( const char *var_name ) const = 0;
+ virtual ConCommand *FindCommand( const char *name ) = 0;
+ virtual const ConCommand *FindCommand( const char *name ) const = 0;
+
+ // Get first ConCommandBase to allow iteration
+ virtual ConCommandBase *GetCommands( void ) = 0;
+ virtual const ConCommandBase *GetCommands( void ) const = 0;
+
+ // Install a global change callback (to be called when any convar changes)
+ virtual void InstallGlobalChangeCallback( FnChangeCallback_t callback ) = 0;
+ virtual void RemoveGlobalChangeCallback( FnChangeCallback_t callback ) = 0;
+ virtual void CallGlobalChangeCallbacks( ConVar *var, const char *pOldString, float flOldValue ) = 0;
+
+ // Install a console printer
+ virtual void InstallConsoleDisplayFunc( IConsoleDisplayFunc* pDisplayFunc ) = 0;
+ virtual void RemoveConsoleDisplayFunc( IConsoleDisplayFunc* pDisplayFunc ) = 0;
+ virtual void ConsoleColorPrintf( const Color& clr, PRINTF_FORMAT_STRING const char *pFormat, ... ) const = 0;
+ virtual void ConsolePrintf( PRINTF_FORMAT_STRING const char *pFormat, ... ) const = 0;
+ virtual void ConsoleDPrintf( PRINTF_FORMAT_STRING const char *pFormat, ... ) const = 0;
+
+ // Reverts cvars which contain a specific flag
+ virtual void RevertFlaggedConVars( int nFlag ) = 0;
+
+ // Method allowing the engine ICvarQuery interface to take over
+ // A little hacky, owing to the fact the engine is loaded
+ // well after ICVar, so we can't use the standard connect pattern
+ virtual void InstallCVarQuery( ICvarQuery *pQuery ) = 0;
+
+#if defined( _X360 )
+ virtual void PublishToVXConsole( ) = 0;
+#endif
+ virtual bool IsMaterialThreadSetAllowed( ) const = 0;
+ virtual void QueueMaterialThreadSetValue( ConVar *pConVar, const char *pValue ) = 0;
+ virtual void QueueMaterialThreadSetValue( ConVar *pConVar, int nValue ) = 0;
+ virtual void QueueMaterialThreadSetValue( ConVar *pConVar, float flValue ) = 0;
+ virtual bool HasQueuedMaterialThreadConVarSets() const = 0;
+ virtual int ProcessQueuedMaterialThreadConVarSets() = 0;
+
+protected: class ICVarIteratorInternal;
+public:
+ /// Iteration over all cvars.
+ /// (THIS IS A SLOW OPERATION AND YOU SHOULD AVOID IT.)
+ /// usage:
+ /// { ICVar::Iterator iter(g_pCVar);
+ /// for ( iter.SetFirst() ; iter.IsValid() ; iter.Next() )
+ /// {
+ /// ConCommandBase *cmd = iter.Get();
+ /// }
+ /// }
+ /// The Iterator class actually wraps the internal factory methods
+ /// so you don't need to worry about new/delete -- scope takes care
+ // of it.
+ /// We need an iterator like this because we can't simply return a
+ /// pointer to the internal data type that contains the cvars --
+ /// it's a custom, protected class with unusual semantics and is
+ /// prone to change.
+ class Iterator
+ {
+ public:
+ inline Iterator(ICvar *icvar);
+ inline ~Iterator(void);
+ inline void SetFirst( void );
+ inline void Next( void );
+ inline bool IsValid( void );
+ inline ConCommandBase *Get( void );
+ private:
+ ICVarIteratorInternal *m_pIter;
+ };
+
+protected:
+ // internals for ICVarIterator
+ class ICVarIteratorInternal
+ {
+ public:
+ // warning: delete called on 'ICvar::ICVarIteratorInternal' that is abstract but has non-virtual destructor [-Wdelete-non-virtual-dtor]
+ virtual ~ICVarIteratorInternal() {}
+ virtual void SetFirst( void ) = 0;
+ virtual void Next( void ) = 0;
+ virtual bool IsValid( void ) = 0;
+ virtual ConCommandBase *Get( void ) = 0;
+ };
+
+ virtual ICVarIteratorInternal *FactoryInternalIterator( void ) = 0;
+ friend class Iterator;
+};
+
+inline ICvar::Iterator::Iterator(ICvar *icvar)
+{
+ m_pIter = icvar->FactoryInternalIterator();
+}
+
+inline ICvar::Iterator::~Iterator( void )
+{
+ delete m_pIter;
+}
+
+inline void ICvar::Iterator::SetFirst( void )
+{
+ m_pIter->SetFirst();
+}
+
+inline void ICvar::Iterator::Next( void )
+{
+ m_pIter->Next();
+}
+
+inline bool ICvar::Iterator::IsValid( void )
+{
+ return m_pIter->IsValid();
+}
+
+inline ConCommandBase * ICvar::Iterator::Get( void )
+{
+ return m_pIter->Get();
+}
+
+#define CVAR_INTERFACE_VERSION "VEngineCvar004"
+
+
+//-----------------------------------------------------------------------------
+// These global names are defined by tier1.h, duplicated here so you
+// don't have to include tier1.h
+//-----------------------------------------------------------------------------
+
+// These are marked DLL_EXPORT for Linux.
+DLL_EXPORT ICvar *cvar;
+extern ICvar *g_pCVar;
+
+
+#endif // ICVAR_H