38 lines
721 B
C++
38 lines
721 B
C++
#ifndef FUNNY_FORMAT_H
|
|
#define FUNNY_FORMAT_H
|
|
|
|
#include "tier0/platform.h"
|
|
#include "ifilesystem.h"
|
|
#include "tier1/utlvector.h"
|
|
|
|
struct FunnyFormatParameter_t
|
|
{
|
|
const char *m_szName;
|
|
uint32_t m_nDataSize;
|
|
void *m_pData;
|
|
};
|
|
|
|
struct FunnyFormatObject_t
|
|
{
|
|
|
|
}
|
|
|
|
struct FunnyFormatData_t
|
|
{
|
|
bool m_bIsBinary;
|
|
CUtlVector<FunnyFormatParameter_t> m_parameters;
|
|
CUtlVector<FunnyFormatObject_t> m_parameters;
|
|
};
|
|
|
|
abstract_class IFunnyFormatManager
|
|
{
|
|
public:
|
|
virtual FunnyFormatData_t ReadFile( IFileHandle *pHandle ) = 0;
|
|
virtual FunnyFormatData_t ReadBinaryFile( IFileHandle *pHandle ) = 0;
|
|
virtual void WriteFile( IFileHandle *pHandle, FunnyFormatData_t data ) = 0;
|
|
};
|
|
|
|
IFunnyFormatManager *FunnyFormatManager();
|
|
|
|
#endif
|