00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00028 #ifndef _RTXCPPMSGBUF_H_
00029 #define _RTXCPPMSGBUF_H_
00030
00031 #include "rtxsrc/rtxCppMsgBufIF.h"
00032
00033 #ifndef _NO_DEPRECATED
00034 #include "rtxsrc/rtxCppException.h"
00035 #endif
00036
00045 class EXTERNRTX OSMessageBuffer : public OSMessageBufferIF {
00046 protected:
00051 OSCtxtPtr mpContext;
00052
00057 Type mBufferType;
00058
00068 OSMessageBuffer (Type bufferType, OSContext* pContext = 0);
00069
00070 public:
00075 virtual ~OSMessageBuffer () {}
00076
00081 virtual OSCtxtPtr getContext () {
00082 return mpContext;
00083 }
00084
00089 virtual OSCTXT* getCtxtPtr () {
00090 return mpContext->getPtr();
00091 }
00092
00100 virtual char* getErrorInfo () {
00101 return mpContext->getErrorInfo ();
00102 }
00103
00120 virtual char* getErrorInfo (char* pBuf, size_t& bufSize) {
00121 return mpContext->getErrorInfo (pBuf, bufSize);
00122 }
00123
00128 virtual OSOCTET* getMsgCopy () {
00129 return 0;
00130 }
00131
00141 inline int getStatus () const {
00142 return mpContext->getStatus();
00143 }
00144
00149 virtual const OSOCTET* getMsgPtr () {
00150 return getCtxtPtr()->buffer.data;
00151 }
00152
00153 virtual int initBuffer (OSOCTET* pMsgBuf, size_t msgBufLen);
00154
00155 } ;
00156
00157 #endif