aboutsummaryrefslogtreecommitdiff
path: root/sp/src/public/chunkfile.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/chunkfile.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/chunkfile.h')
-rw-r--r--sp/src/public/chunkfile.h394
1 files changed, 197 insertions, 197 deletions
diff --git a/sp/src/public/chunkfile.h b/sp/src/public/chunkfile.h
index 6c78d592..6359ace9 100644
--- a/sp/src/public/chunkfile.h
+++ b/sp/src/public/chunkfile.h
@@ -1,197 +1,197 @@
-//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose:
-//
-// $NoKeywords: $
-//===========================================================================//
-
-#ifndef CHUNKFILE_H
-#define CHUNKFILE_H
-
-#ifdef _WIN32
-#pragma once
-#endif
-
-#include <stdio.h>
-#include "tokenreader.h"
-
-
-#define MAX_INDENT_DEPTH 80
-#define MAX_KEYVALUE_LEN 1024
-
-
-class CChunkFile;
-class Vector2D;
-class Vector;
-class Vector4D;
-
-
-//
-// Modes for Open.
-//
-enum ChunkFileOpenMode_t
-{
- ChunkFile_Read = 0,
- ChunkFile_Write,
-};
-
-
-//
-// Return codes.
-//
-enum ChunkFileResult_t
-{
- ChunkFile_Ok = 0,
- ChunkFile_Fail,
- ChunkFile_OpenFail,
- ChunkFile_EndOfChunk,
- ChunkFile_EOF,
- ChunkFile_UnexpectedEOF,
- ChunkFile_UnexpectedSymbol,
- ChunkFile_OutOfMemory,
- ChunkFile_StringTooLong,
- ChunkFile_NotHandled
-};
-
-
-enum ChunkType_t
-{
- ChunkType_Key = 0,
- ChunkType_Chunk,
-};
-
-
-typedef ChunkFileResult_t (*DefaultChunkHandler_t)(CChunkFile *pFile, void *pData, char const *pChunkName);
-
-typedef ChunkFileResult_t (*ChunkHandler_t)(CChunkFile *pFile, void *pData);
-typedef ChunkFileResult_t (*KeyHandler_t)(const char *szKey, const char *szValue, void *pData);
-typedef bool (*ChunkErrorHandler_t)(CChunkFile *pFile, const char *szChunkName, void *pData);
-
-
-struct ChunkHandlerInfo_t
-{
- char szChunkName[80];
- ChunkHandler_t pfnHandler;
- void *pData;
-};
-
-
-struct ChunkHandlerInfoNode_t
-{
- ChunkHandlerInfo_t Handler;
- struct ChunkHandlerInfoNode_t *pNext;
-};
-
-
-//
-// Consider handling chunks with handler objects instead of callbacks.
-//
-//class CChunkHandler
-//{
-// virtual ChunkFileResult_t HandleChunk(const char *szName);
-// virtual ChunkFileResult_t HandleKey(const char *szKey, const char *szValue);
-// virtual bool HandleError(const char *szChunkName, ChunkFileResult_t eError);
-//};
-
-
-class CChunkHandlerMap
-{
- public:
-
- CChunkHandlerMap(void);
- ~CChunkHandlerMap(void);
-
- void AddHandler(const char *pszChunkName, ChunkHandler_t pfnHandler, void *pData);
- ChunkHandler_t GetHandler(const char *pszChunkName, void **pData);
-
- void SetErrorHandler(ChunkErrorHandler_t pfnHandler, void *pData);
- ChunkErrorHandler_t GetErrorHandler(void **pData);
-
- protected:
-
- ChunkHandlerInfoNode_t *m_pHandlers;
- ChunkErrorHandler_t m_pfnErrorHandler;
- void *m_pErrorData;
-};
-
-
-class CChunkFile
-{
- public:
-
- CChunkFile(void);
- ~CChunkFile(void);
-
- ChunkFileResult_t Open(const char *pszFileName, ChunkFileOpenMode_t eMode);
- ChunkFileResult_t Close(void);
- const char *GetErrorText(ChunkFileResult_t eResult);
-
- //
- // Functions for writing chunk files.
- //
- ChunkFileResult_t BeginChunk(const char *pszChunkName);
- ChunkFileResult_t EndChunk(void);
-
- ChunkFileResult_t WriteKeyValue(const char *pszKey, const char *pszValue);
- ChunkFileResult_t WriteKeyValueBool(const char *pszKey, bool bValue);
- ChunkFileResult_t WriteKeyValueColor(const char *pszKey, unsigned char r, unsigned char g, unsigned char b);
- ChunkFileResult_t WriteKeyValueFloat(const char *pszKey, float fValue);
- ChunkFileResult_t WriteKeyValueInt(const char *pszKey, int nValue);
- ChunkFileResult_t WriteKeyValuePoint(const char *pszKey, const Vector &Point);
- ChunkFileResult_t WriteKeyValueVector2(const char *pszKey, const Vector2D &vec);
- ChunkFileResult_t WriteKeyValueVector3(const char *pszKey, const Vector &vec);
- ChunkFileResult_t WriteKeyValueVector4( const char *pszKey, const Vector4D &vec);
-
- ChunkFileResult_t WriteLine(const char *pszLine);
-
- //
- // Functions for reading chunk files.
- //
- ChunkFileResult_t ReadChunk(KeyHandler_t pfnKeyHandler = NULL, void *pData = NULL);
- ChunkFileResult_t ReadNext(char *szKey, char *szValue, int nValueSize, ChunkType_t &eChunkType);
- ChunkFileResult_t HandleChunk(const char *szChunkName);
- void HandleError(const char *szChunkName, ChunkFileResult_t eError);
-
- // These functions should more really be named Parsexxx and possibly moved elsewhere.
- static bool ReadKeyValueBool(const char *pszValue, bool &bBool);
- static bool ReadKeyValueColor(const char *pszValue, unsigned char &chRed, unsigned char &chGreen, unsigned char &chBlue);
- static bool ReadKeyValueInt(const char *pszValue, int &nInt);
- static bool ReadKeyValueFloat(const char *pszValue, float &flFloat);
- static bool ReadKeyValuePoint(const char *pszValue, Vector &Point);
- static bool ReadKeyValueVector2(const char *pszValue, Vector2D &vec);
- static bool ReadKeyValueVector3(const char *pszValue, Vector &vec);
- static bool ReadKeyValueVector4( const char *pszValue, Vector4D &vec);
-
- // The default chunk handler gets called before any other chunk handlers.
- //
- // If the handler returns ChunkFile_Ok, then it goes into the chunk.
- // If the handler returns ChunkFile_NotHandled, then the chunk is
- // passed to the regular handlers.
- //
- // If you pass NULL in here, then it disables the default chunk handler.
- void SetDefaultChunkHandler( DefaultChunkHandler_t pHandler, void *pData );
-
- void PushHandlers(CChunkHandlerMap *pHandlerMap);
- void PopHandlers(void);
-
- protected:
-
- void BuildIndentString(char *pszDest, int nDepth);
-
- TokenReader m_TokenReader;
-
- FILE *m_hFile;
- char m_szErrorToken[80];
- char m_szIndent[MAX_INDENT_DEPTH];
- int m_nCurrentDepth;
-
- // See SetDefaultChunkHandler..
- DefaultChunkHandler_t m_DefaultChunkHandler;
- void *m_pDefaultChunkHandlerData;
-
- CChunkHandlerMap *m_HandlerStack[MAX_INDENT_DEPTH];
- int m_nHandlerStackDepth;
-};
-
-
-#endif // CHUNKFILE_H
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+// $NoKeywords: $
+//===========================================================================//
+
+#ifndef CHUNKFILE_H
+#define CHUNKFILE_H
+
+#ifdef _WIN32
+#pragma once
+#endif
+
+#include <stdio.h>
+#include "tokenreader.h"
+
+
+#define MAX_INDENT_DEPTH 80
+#define MAX_KEYVALUE_LEN 1024
+
+
+class CChunkFile;
+class Vector2D;
+class Vector;
+class Vector4D;
+
+
+//
+// Modes for Open.
+//
+enum ChunkFileOpenMode_t
+{
+ ChunkFile_Read = 0,
+ ChunkFile_Write,
+};
+
+
+//
+// Return codes.
+//
+enum ChunkFileResult_t
+{
+ ChunkFile_Ok = 0,
+ ChunkFile_Fail,
+ ChunkFile_OpenFail,
+ ChunkFile_EndOfChunk,
+ ChunkFile_EOF,
+ ChunkFile_UnexpectedEOF,
+ ChunkFile_UnexpectedSymbol,
+ ChunkFile_OutOfMemory,
+ ChunkFile_StringTooLong,
+ ChunkFile_NotHandled
+};
+
+
+enum ChunkType_t
+{
+ ChunkType_Key = 0,
+ ChunkType_Chunk,
+};
+
+
+typedef ChunkFileResult_t (*DefaultChunkHandler_t)(CChunkFile *pFile, void *pData, char const *pChunkName);
+
+typedef ChunkFileResult_t (*ChunkHandler_t)(CChunkFile *pFile, void *pData);
+typedef ChunkFileResult_t (*KeyHandler_t)(const char *szKey, const char *szValue, void *pData);
+typedef bool (*ChunkErrorHandler_t)(CChunkFile *pFile, const char *szChunkName, void *pData);
+
+
+struct ChunkHandlerInfo_t
+{
+ char szChunkName[80];
+ ChunkHandler_t pfnHandler;
+ void *pData;
+};
+
+
+struct ChunkHandlerInfoNode_t
+{
+ ChunkHandlerInfo_t Handler;
+ struct ChunkHandlerInfoNode_t *pNext;
+};
+
+
+//
+// Consider handling chunks with handler objects instead of callbacks.
+//
+//class CChunkHandler
+//{
+// virtual ChunkFileResult_t HandleChunk(const char *szName);
+// virtual ChunkFileResult_t HandleKey(const char *szKey, const char *szValue);
+// virtual bool HandleError(const char *szChunkName, ChunkFileResult_t eError);
+//};
+
+
+class CChunkHandlerMap
+{
+ public:
+
+ CChunkHandlerMap(void);
+ ~CChunkHandlerMap(void);
+
+ void AddHandler(const char *pszChunkName, ChunkHandler_t pfnHandler, void *pData);
+ ChunkHandler_t GetHandler(const char *pszChunkName, void **pData);
+
+ void SetErrorHandler(ChunkErrorHandler_t pfnHandler, void *pData);
+ ChunkErrorHandler_t GetErrorHandler(void **pData);
+
+ protected:
+
+ ChunkHandlerInfoNode_t *m_pHandlers;
+ ChunkErrorHandler_t m_pfnErrorHandler;
+ void *m_pErrorData;
+};
+
+
+class CChunkFile
+{
+ public:
+
+ CChunkFile(void);
+ ~CChunkFile(void);
+
+ ChunkFileResult_t Open(const char *pszFileName, ChunkFileOpenMode_t eMode);
+ ChunkFileResult_t Close(void);
+ const char *GetErrorText(ChunkFileResult_t eResult);
+
+ //
+ // Functions for writing chunk files.
+ //
+ ChunkFileResult_t BeginChunk(const char *pszChunkName);
+ ChunkFileResult_t EndChunk(void);
+
+ ChunkFileResult_t WriteKeyValue(const char *pszKey, const char *pszValue);
+ ChunkFileResult_t WriteKeyValueBool(const char *pszKey, bool bValue);
+ ChunkFileResult_t WriteKeyValueColor(const char *pszKey, unsigned char r, unsigned char g, unsigned char b);
+ ChunkFileResult_t WriteKeyValueFloat(const char *pszKey, float fValue);
+ ChunkFileResult_t WriteKeyValueInt(const char *pszKey, int nValue);
+ ChunkFileResult_t WriteKeyValuePoint(const char *pszKey, const Vector &Point);
+ ChunkFileResult_t WriteKeyValueVector2(const char *pszKey, const Vector2D &vec);
+ ChunkFileResult_t WriteKeyValueVector3(const char *pszKey, const Vector &vec);
+ ChunkFileResult_t WriteKeyValueVector4( const char *pszKey, const Vector4D &vec);
+
+ ChunkFileResult_t WriteLine(const char *pszLine);
+
+ //
+ // Functions for reading chunk files.
+ //
+ ChunkFileResult_t ReadChunk(KeyHandler_t pfnKeyHandler = NULL, void *pData = NULL);
+ ChunkFileResult_t ReadNext(char *szKey, char *szValue, int nValueSize, ChunkType_t &eChunkType);
+ ChunkFileResult_t HandleChunk(const char *szChunkName);
+ void HandleError(const char *szChunkName, ChunkFileResult_t eError);
+
+ // These functions should more really be named Parsexxx and possibly moved elsewhere.
+ static bool ReadKeyValueBool(const char *pszValue, bool &bBool);
+ static bool ReadKeyValueColor(const char *pszValue, unsigned char &chRed, unsigned char &chGreen, unsigned char &chBlue);
+ static bool ReadKeyValueInt(const char *pszValue, int &nInt);
+ static bool ReadKeyValueFloat(const char *pszValue, float &flFloat);
+ static bool ReadKeyValuePoint(const char *pszValue, Vector &Point);
+ static bool ReadKeyValueVector2(const char *pszValue, Vector2D &vec);
+ static bool ReadKeyValueVector3(const char *pszValue, Vector &vec);
+ static bool ReadKeyValueVector4( const char *pszValue, Vector4D &vec);
+
+ // The default chunk handler gets called before any other chunk handlers.
+ //
+ // If the handler returns ChunkFile_Ok, then it goes into the chunk.
+ // If the handler returns ChunkFile_NotHandled, then the chunk is
+ // passed to the regular handlers.
+ //
+ // If you pass NULL in here, then it disables the default chunk handler.
+ void SetDefaultChunkHandler( DefaultChunkHandler_t pHandler, void *pData );
+
+ void PushHandlers(CChunkHandlerMap *pHandlerMap);
+ void PopHandlers(void);
+
+ protected:
+
+ void BuildIndentString(char *pszDest, int nDepth);
+
+ TokenReader m_TokenReader;
+
+ FILE *m_hFile;
+ char m_szErrorToken[80];
+ char m_szIndent[MAX_INDENT_DEPTH];
+ int m_nCurrentDepth;
+
+ // See SetDefaultChunkHandler..
+ DefaultChunkHandler_t m_DefaultChunkHandler;
+ void *m_pDefaultChunkHandlerData;
+
+ CChunkHandlerMap *m_HandlerStack[MAX_INDENT_DEPTH];
+ int m_nHandlerStackDepth;
+};
+
+
+#endif // CHUNKFILE_H