about summary refs log tree commit diff
path: root/src/engine/e_packer.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/e_packer.h')
-rw-r--r--src/engine/e_packer.h58
1 files changed, 30 insertions, 28 deletions
diff --git a/src/engine/e_packer.h b/src/engine/e_packer.h
index 71b99ff7..5dc80e7a 100644
--- a/src/engine/e_packer.h
+++ b/src/engine/e_packer.h
@@ -1,35 +1,37 @@
 /* copyright (c) 2007 magnus auvinen, see licence.txt for more info */
 
-enum
+class CPacker
 {
-	PACKER_BUFFER_SIZE=1024*2
-};
+	enum
+	{
+		PACKER_BUFFER_SIZE=1024*2
+	};
 
-typedef struct
-{
+	unsigned char m_aBuffer[PACKER_BUFFER_SIZE];
+	unsigned char *m_pCurrent;
+	unsigned char *m_pEnd;
+	int m_Error;
+public:
+	void Reset();
+	void AddInt(int i);
+	void AddString(const char *pStr, int Limit);
+	void AddRaw(const unsigned char *pData, int Size);
 	
-	unsigned char buffer[PACKER_BUFFER_SIZE];
-	unsigned char *current;
-	unsigned char *end;
-	int error;
-} PACKER;
+	int Size() const { return (int)(m_pCurrent-m_aBuffer); }
+	const unsigned char *Data() const { return m_aBuffer; }
+	bool Error() const { return m_Error; }
+};
 
-typedef struct
+class CUnpacker
 {
-	const unsigned char *current;
-	const unsigned char *start;
-	const unsigned char *end;
-	int error;
-} UNPACKER;
-
-void packer_reset(PACKER *p);
-void packer_add_int(PACKER *p, int i);
-void packer_add_string(PACKER *p, const char *str, int limit);
-void packer_add_raw(PACKER *p, const unsigned char *data, int size);
-int packer_size(PACKER *p);
-const unsigned char *packer_data(PACKER *p);
-
-void unpacker_reset(UNPACKER *p, const unsigned char *data, int size);
-int unpacker_get_int(UNPACKER *p);
-const char *unpacker_get_string(UNPACKER *p);
-const unsigned char *unpacker_get_raw(UNPACKER *p, int size);
+	const unsigned char *m_pStart;
+	const unsigned char *m_pCurrent;
+	const unsigned char *m_pEnd;
+	int m_Error;
+public:
+	void Reset(const unsigned char *pData, int Size);
+	int GetInt();
+	const char *GetString();
+	const unsigned char *GetRaw(int Size);
+	bool Error() const { return m_Error; }
+};