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 _OSXMLENCODEBUFFER_H_
00029 #define _OSXMLENCODEBUFFER_H_
00030
00031 #include "rtxmlsrc/OSXMLMessageBuffer.h"
00032
00038 class EXTXMLCLASS OSXMLEncodeBuffer : public OSXMLMessageBuffer {
00039 protected:
00040 OSXMLEncodeBuffer (OSRTContext* pContext) :
00041 OSXMLMessageBuffer (XMLEncode, pContext) {}
00042 public:
00046 EXTXMLMETHOD OSXMLEncodeBuffer ();
00047
00058 EXTXMLMETHOD OSXMLEncodeBuffer (OSOCTET* pMsgBuf, size_t msgBufLen);
00059
00069 int addXMLHeader (const OSUTF8CHAR* version = OSUTF8("1.0"),
00070 const OSUTF8CHAR* encoding = OSUTF8(OSXMLHDRUTF8),
00071 OSBOOL newLine = TRUE);
00072
00082 EXTXMLMETHOD int addXMLText (const OSUTF8CHAR* text);
00083
00090 virtual size_t getMsgLen () {
00091 return getByteIndex();
00092 }
00093
00101 EXTXMLMETHOD virtual int init ();
00102
00118 virtual OSBOOL isA (Type bufferType) {
00119 return bufferType == XMLEncode;
00120 }
00121
00126 inline void nullTerminate () {
00127 OSRTZTERM (getCtxtPtr());
00128 }
00129
00135 EXTXMLMETHOD void setFragment (OSBOOL value = TRUE);
00136
00147 EXTXMLMETHOD virtual long write (const char* filename);
00148
00160 EXTXMLMETHOD virtual long write (FILE* fp);
00161 } ;
00162
00163 #endif
00164