OSXMLEncodeBuffer.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2003-2010 Objective Systems, Inc.
00003  *
00004  * This software is furnished under a license and may be used and copied
00005  * only in accordance with the terms of such license and with the
00006  * inclusion of the above copyright notice. This software or any other
00007  * copies thereof may not be provided or otherwise made available to any
00008  * other person. No title to and ownership of the software is hereby
00009  * transferred.
00010  *
00011  * The information in this software is subject to change without notice
00012  * and should not be construed as a commitment by Objective Systems, Inc.
00013  *
00014  * PROPRIETARY NOTICE
00015  *
00016  * This software is an unpublished work subject to a confidentiality agreement
00017  * and is protected by copyright and trade secret law.  Unauthorized copying,
00018  * redistribution or other use of this work is prohibited.
00019  *
00020  * The above notice of copyright on this source code product does not indicate
00021  * any actual or intended publication of such source code.
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 (int 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