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

systemstreamer.hpp

Go to the documentation of this file.
00001 #if !defined(_SystemSTREAMER_HPP)
00002 #define _SystemSTREAMER_HPP
00003 //============================================================================= 
00004 //
00005 // XDFLengine library
00006 //
00007 //----------------------------------------------------------------------------- 
00008 //  SystemSTREAMER.HPP
00009 //----------------------------------------------------------------------------- 
00015 //_____________________________________________________________________________
00016 //
00017 //  Copyright (C) 2003 Guillaume Baurand. All Rights Reserved.
00018 //
00019 //  This file is part of the XDFLengine project.
00020 //
00021 //  The XDFLengine is free software; you can redistribute it and/or modify
00022 //  it under the terms of the GNU General Public License as published by
00023 //  the Free Software Foundation; either version 2 of the License, or
00024 //  (at your option) any later version.
00025 //
00026 //  This program is distributed in the hope that it will be useful,
00027 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
00028 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00029 //  GNU General Public License for more details.
00030 //
00031 //  You should have received a copy of the GNU General Public License
00032 //  along with this program; if not, write to the Free Software
00033 //  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,
00034 //  USA.
00035 //
00036 //  For more information, 
00037 //      contact  : guillaume@baurand.net 
00038 //      or visit : http://xdflengine.sourceforge.net
00039 //
00040 //============================================================================= 
00041 
00042 #   include "config/commonincs.hpp"
00043 #   include "processor/xmlstreamerfactory.hpp"
00044 
00045 
00046 BEGIN_XDFLENGINE_NS
00047 
00048 
00049 //============================================================================= 
00050 //  CLASS SystemSTREAMERFACTORY
00051 //----------------------------------------------------------------------------- 
00053 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00054 class XDFLENGINE_EXPORT SystemStreamerFactory:public XMLStreamerFactory
00055 {
00056 
00057     public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00058 
00059         //_____________________________________________________________________
00060         //  GETSTREAMER
00061         //---------------------------------------------------------------------
00062         XMLStreamer* getStreamer(StreamerParams* p_pParameters, XMLFlowContext* p_pStreamContext, XMLStreamConsumer* p_pStreamConsumer) const;
00063 };
00064 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00065 //=============================================================================
00066 
00067 
00068 
00069 //============================================================================= 
00070 //  CLASS SAXSystemHANDLER
00071 //----------------------------------------------------------------------------- 
00073 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00074 class XDFLENGINE_EXPORT SAXSystemHandler : public ContentHandler
00075 {
00076 
00077     private: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00078     
00079         XMLStreamConsumer*  m_pStreamConsumer;
00080         XMLFlowContext*     m_pContext; // Parsing context
00081 
00082     public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00083 
00084     // CONTRUCTOR & DESTRUCTOR
00085 
00086         //_____________________________________________________________________
00087         //  SAXSystemHANDLER
00088         //---------------------------------------------------------------------
00090         //_____________________________________________________________________ 
00091         SAXSystemHandler(XMLFlowContext* p_pContext, XMLStreamConsumer* p_pStreamConsumer);
00092 
00093         //_____________________________________________________________________
00094         //  ~SAXSystemHANDLER
00095         //---------------------------------------------------------------------
00097         //_____________________________________________________________________ 
00098         ~SAXSystemHandler();
00099 
00100      
00101     // CONTENTHANDLER ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     
00102         
00103 
00104         //____________________________________________________________________
00105         //  STARTELEMENT
00106         //--------------------------------------------------------------------
00107         void startElement(  const XMLCh* const uri,  const XMLCh* const localname,   const XMLCh* const qname, const Attributes& attrs);    
00108 
00109         //____________________________________________________________________
00110         //  CHARACTERS
00111         //--------------------------------------------------------------------
00117         //_____________________________________________________________________ 
00118         void characters(  const XMLCh* const chars,   const unsigned int length);
00119 
00120         //____________________________________________________________________
00121         //  ENDELEMENT
00122         //--------------------------------------------------------------------
00123         void endElement (  const XMLCh* const uri,   const XMLCh* const localname,   const XMLCh* const qname);
00124 
00125         // not implemented : 
00126         void startDocument (){};
00127         void endDocument    (){};
00128         void startPrefixMapping ( const XMLCh* const prefix,const XMLCh* const uri){};
00129         void endPrefixMapping ( const XMLCh* const prefix){};
00130         void processingInstruction ( const XMLCh* const target, const XMLCh* const data){};
00131         void ignorableWhitespace ( const XMLCh* const chars, const unsigned int length){};
00132         void setDocumentLocator ( const Locator* const locator) {};
00133         void skippedEntity ( const XMLCh* const name){};
00134 };
00135 
00136 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00137 //=============================================================================
00138 
00139 END_XDFLENGINE_NS
00140 
00141 #endif
00142 

Generated on Sat Oct 4 13:20:02 2003 for XDFLengine by doxygen1.3-rc2