00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00019 #ifndef INTELIB_SRAWBUF_HPP_SENTRY
00020 #define INTELIB_SRAWBUF_HPP_SENTRY
00021
00022 #include "sexpress.hpp"
00023
00025
00026 class SExpressionRawBuffer : public SExpression {
00027 char *buf;
00028 int len;
00029 public:
00031 static IntelibTypeId TypeId;
00032
00034 SExpressionRawBuffer(int size);
00035
00036 protected:
00037 ~SExpressionRawBuffer();
00038
00039 public:
00040
00041 #if INTELIB_TEXT_REPRESENTATIONS == 1
00042 virtual class SString TextRepresentation() const;
00043 #endif
00044 virtual SExpression* Clone() const;
00045
00047 void* GetBuffer() const { return buf; }
00049 int GetSize() const { return len; }
00051
00054 void Resize(int newsize);
00055
00057 int Append(void* buf, int buflen);
00058 };
00059
00060 #endif // sentry