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 _OSRTMSGBUF_H_
00029 #define _OSRTMSGBUF_H_
00030
00031 #include "rtxsrc/OSRTCtxtHolder.h"
00032 #include "rtxsrc/OSRTMsgBufIF.h"
00033
00046 class EXTRTCLASS OSRTMessageBuffer : public OSRTMessageBufferIF
00047 {
00048 protected:
00049 OSRTCtxtHolder mCtxtHolder;
00050
00055 Type mBufferType;
00056
00066 EXTRTMETHOD OSRTMessageBuffer (Type bufferType, OSRTContext* pContext = 0);
00067
00068 public:
00073 virtual ~OSRTMessageBuffer () {}
00074
00078 virtual void* getAppInfo () { return 0; }
00079
00086 virtual size_t getByteIndex () {
00087 return getCtxtPtr()->buffer.byteIndex;
00088 }
00089
00094 virtual OSRTCtxtPtr getContext () {
00095 return mCtxtHolder.getContext ();
00096 }
00097
00102 virtual OSCTXT* getCtxtPtr () {
00103 return mCtxtHolder.getCtxtPtr ();
00104 }
00105
00113 virtual char* getErrorInfo () {
00114 return mCtxtHolder.getErrorInfo ();
00115 }
00116
00133 virtual char* getErrorInfo (char* pBuf, size_t& bufSize) {
00134 return mCtxtHolder.getErrorInfo (pBuf, bufSize);
00135 }
00136
00141 virtual OSOCTET* getMsgCopy () {
00142 return 0;
00143 }
00144
00149 virtual const OSOCTET* getMsgPtr () {
00150 return getCtxtPtr()->buffer.data;
00151 }
00152
00162 inline int getStatus () const {
00163 return mCtxtHolder.getStatus();
00164 }
00165
00173 virtual int init () { return 0; }
00174
00186 virtual EXTRTMETHOD int initBuffer (OSOCTET* pMsgBuf, size_t msgBufLen);
00187
00192 virtual void printErrorInfo () {
00193 mCtxtHolder.printErrorInfo ();
00194 }
00195
00200 virtual void resetErrorInfo () {
00201 mCtxtHolder.resetErrorInfo ();
00202 }
00203
00207 virtual void setAppInfo (void*) {}
00208
00214 virtual EXTRTMETHOD void setDiag (OSBOOL value=TRUE);
00215
00216 } ;
00217
00220 #endif