rtSaxCppSoap.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2003-2008 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  *****************************************************************************/
00024 
00029 #ifndef _RTSAXCPPSOAP_H_
00030 #define _RTSAXCPPSOAP_H_
00031 
00032 #include "rtxsrc/rtxCppDynOctStr.h"
00033 #include "rtxsrc/OSRTContext.h"
00034 #include "rtxsrc/OSRTMemBuf.h"
00035 #include "rtxsrc/rtxCppXmlString.h"
00036 #include "rtxmlsrc/osrtxml.h"
00037 #include "rtxmlsrc/rtSaxCppParser.h"
00038 #include "rtxmlsrc/rtXmlCppMsgBuf.h"
00039 
00040 class EXTERNXML OSXMLSoapHandler : public OSXMLDefaultHandler {
00041  private:
00042    OSXMLDefaultHandler* mpMsgSaxHandler;
00043    OSXMLDefaultHandler* mpFaultMsgSaxHandler;
00044    OSRTMemBuf mCurrElemValue;
00045 //   OSXMLStringClass mFaultCode;
00046 //   OSXMLStringClass mFaultString;
00047    OSBOOL mbEnvelopeParsed;
00048    OSBOOL mbFault;
00049    OSBOOL mbProcessingDetailFault;
00050    OSBOOL mbParsingHeader;
00051 
00052  public:
00053    OSXMLSoapHandler 
00054       (OSXMLDefaultHandler* msgSaxHandler,
00055        OSRTContext* pContext,
00056        OSXMLDefaultHandler* faultSaxHandler = 0);
00057    ~OSXMLSoapHandler ();
00058 
00059    virtual int startElement 
00060       (const OSUTF8CHAR* const uri, 
00061        const OSUTF8CHAR* const localname, 
00062        const OSUTF8CHAR* const qname, 
00063        const OSUTF8CHAR* const* attrs);
00064 
00065    virtual int characters 
00066       (const OSUTF8CHAR* const chars, unsigned int length);
00067 
00068    virtual int endElement
00069       (const OSUTF8CHAR* const uri,
00070        const OSUTF8CHAR* const localname,
00071        const OSUTF8CHAR* const qname);
00072 
00073    OSBOOL isSoapEnv(const OSUTF8CHAR* uri);
00074 } ;
00075 
00076 #endif /* _RTSAXCPPSOAP_H_ */