You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
1.6 KiB
71 lines
1.6 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
// $NoKeywords: $ |
|
// |
|
// Serialization/unserialization buffer |
|
//=============================================================================// |
|
|
|
#ifndef UTLSTREAMBUFFER_H |
|
#define UTLSTREAMBUFFER_H |
|
|
|
#ifdef _WIN32 |
|
#pragma once |
|
#endif |
|
|
|
#include "tier1/utlbuffer.h" |
|
#include "filesystem.h" |
|
|
|
|
|
//----------------------------------------------------------------------------- |
|
// Command parsing.. |
|
//----------------------------------------------------------------------------- |
|
class CUtlStreamBuffer : public CUtlBuffer |
|
{ |
|
typedef CUtlBuffer BaseClass; |
|
|
|
public: |
|
// See CUtlBuffer::BufferFlags_t for flags |
|
CUtlStreamBuffer( ); |
|
CUtlStreamBuffer( const char *pFileName, const char *pPath, int nFlags = 0, bool bDelayOpen = false ); |
|
~CUtlStreamBuffer(); |
|
|
|
// Open the file. normally done in constructor |
|
void Open( const char *pFileName, const char *pPath, int nFlags ); |
|
|
|
// close the file. normally done in destructor |
|
void Close(); |
|
|
|
// Is the file open? |
|
bool IsOpen() const; |
|
|
|
private: |
|
// error flags |
|
enum |
|
{ |
|
FILE_OPEN_ERROR = MAX_ERROR_FLAG << 1, |
|
FILE_WRITE_ERROR = MAX_ERROR_FLAG << 2, |
|
}; |
|
|
|
// Overflow functions |
|
bool StreamPutOverflow( int nSize ); |
|
bool StreamGetOverflow( int nSize ); |
|
|
|
// Grow allocation size to fit requested size |
|
void GrowAllocatedSize( int nSize ); |
|
|
|
// Reads bytes from the file; fixes up maxput if necessary and null terminates |
|
int ReadBytesFromFile( int nBytesToRead, int nReadOffset ); |
|
|
|
FileHandle_t OpenFile( const char *pFileName, const char *pPath ); |
|
|
|
FileHandle_t m_hFileHandle; |
|
|
|
char *m_pFileName; |
|
char *m_pPath; |
|
}; |
|
|
|
|
|
#endif // UTLSTREAMBUFFER_H |
|
|
|
|