Main Page   Class Hierarchy   Compound List   File List   Compound Members   Related Pages  

SoapParserXerces.h

00001 /*
00002  *   Copyright 2003-2004 The Apache Software Foundation.
00003  *
00004  *   Licensed under the Apache License, Version 2.0 (the "License");
00005  *   you may not use this file except in compliance with the License.
00006  *   You may obtain a copy of the License at
00007  *
00008  *       http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  *   Unless required by applicable law or agreed to in writing, software
00011  *   distributed under the License is distributed on an "AS IS" BASIS,
00012  *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  *   See the License for the specific language governing permissions and
00014  *   limitations under the License.
00015  */
00016 
00017 /*
00018  *    @author sanjaya singharage (sanjayas@opensource.lk)
00019  */
00020 
00021 
00022 #ifdef WIN32
00023 #pragma warning (disable : 4786)
00024 #endif
00025 
00026 #if !defined(__SoapParserXerces_H_INCLUDED__)
00027 #define __SoapParserXerces_H_INCLUDED__
00028 
00029 #include <axis/server/Packet.h>
00030 #include "../xml/QName.h"
00031 #include "../xml/Event.h"
00032 #include <axis/server/AnyElement.h>
00033 #include <axis/server/XMLParser.h>
00034 #include "XercesHandler.h"
00035 
00036 #include <xercesc/sax2/SAX2XMLReader.hpp>
00037 #include <xercesc/parsers/SAXParser.hpp>
00038 #include <xercesc/framework/XMLPScanToken.hpp>
00039 #include "SoapInputSource.h"
00040 /* using namespace std; */
00041 XERCES_CPP_NAMESPACE_USE
00042 
00043 class SoapParserXerces: public XMLParser
00044 {
00045 
00046 public:
00047     SoapParserXerces();
00048     ~SoapParserXerces();
00049 
00050     int SetInputStream(const Ax_soapstream* pInputStream);
00051     const Ax_soapstream* GetInputStream(){return m_pInputStream;};
00052     int Init();
00053     const XML_Ch* GetNS4Prefix(const XML_Ch* prefix);
00054     int GetStatus();
00055     const AnyElement* Next();
00056     AXIS_TRANSPORT_STATUS GetTransportStatus(){ return m_nTransportStatus;};
00057     void SetTransportStatus(AXIS_TRANSPORT_STATUS nStatus)
00058     { m_nTransportStatus = nStatus;};
00059 
00060 
00061     const Ax_soapstream* m_pInputStream;
00062 
00063 private:
00064     int m_nStatus;
00065     SAX2XMLReader* m_pParser;
00066     /* SAXParser* m_pParser; */
00067     AXIS_TRANSPORT_STATUS m_nTransportStatus;
00068     XMLPScanToken token;
00069     XercesHandler Xhandler;
00070     bool firstParsed;
00071     SoapInputSource* is;
00072 
00073 
00074 };
00075 
00076 #endif

Generated on Fri Apr 9 12:21:29 2004 for axiscpp by doxygen1.2.18