ccommbufferbase.h
00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 #ifndef __CCOMMBUFFERBASE_H__
00022 #define __CCOMMBUFFERBASE_H__
00023 
00024 #include "ccommbuffer.h"
00025 
00026 NAMESPACE_BEGIN
00027 
00032 class SIM_API cCommBufferBase : public cCommBuffer
00033 {
00034   protected:
00035     char *mBuffer;    
00036     int mBufferSize;  
00037     int mMsgSize;     
00038     int mPosition;    
00039 
00040   protected:
00041     void extendBufferFor(int dataSize);
00042 
00043   public:
00047     cCommBufferBase();
00048 
00052     virtual ~cCommBufferBase();
00053 
00059     char *getBuffer() const;
00060 
00064     int getBufferLength() const;
00065 
00070     void allocateAtLeast(int size);
00071 
00076     void setMessageSize(int size);
00077 
00081     int getMessageSize() const;
00082 
00086     void reset();
00087 
00093     virtual bool isBufferEmpty() const;
00094 
00100     virtual void assertBufferEmpty();
00102 };
00103 
00104 NAMESPACE_END
00105 
00106 
00107 #endif