📄 spmsgblock.hpp
字号:
/* * Copyright 2007 Stephen Liu * For license terms, see the file COPYING along with this library. */#ifndef __spmsgblock_hpp__#define __spmsgblock_hpp__#include <stdio.h>class SP_Buffer;class SP_ArrayList;class SP_MsgBlock {public: virtual ~SP_MsgBlock(); virtual const void * getData() const = 0; virtual size_t getSize() const = 0;};class SP_MsgBlockList {public: SP_MsgBlockList(); ~SP_MsgBlockList(); size_t getTotalSize() const; int getCount() const; int append( SP_MsgBlock * msgBlock ); const SP_MsgBlock * getItem( int index ) const; SP_MsgBlock * takeItem( int index );private: SP_MsgBlockList( SP_MsgBlockList & ); SP_MsgBlockList & operator=( SP_MsgBlockList & ); SP_ArrayList * mList;};class SP_BufferMsgBlock : public SP_MsgBlock {public: SP_BufferMsgBlock(); SP_BufferMsgBlock( SP_Buffer * buffer, int toBeOwner ); virtual ~SP_BufferMsgBlock(); virtual const void * getData() const; virtual size_t getSize() const; int append( const void * buffer, size_t len = 0 );private: SP_BufferMsgBlock( SP_BufferMsgBlock & ); SP_BufferMsgBlock & operator=( SP_BufferMsgBlock & ); SP_Buffer * mBuffer; int mToBeOwner;};class SP_SimpleMsgBlock : public SP_MsgBlock {public: SP_SimpleMsgBlock(); SP_SimpleMsgBlock( void * data, size_t size, int toBeOwner ); virtual ~SP_SimpleMsgBlock(); virtual const void * getData() const; virtual size_t getSize() const; void setData( void * data, size_t size, int toBeOwner );private: SP_SimpleMsgBlock( SP_SimpleMsgBlock & ); SP_SimpleMsgBlock & operator=( SP_SimpleMsgBlock & ); void * mData; size_t mSize; int mToBeOwner;};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -