CustomPropertiesReader.h

Go to the documentation of this file.
00001 //
00002 //  Copyright (c) 2006 by Autodesk, Inc.
00003 //
00004 //  By using this code, you are agreeing to the terms and conditions of
00005 //  the License Agreement included in the documentation for this code.
00006 //
00007 //  AUTODESK MAKES NO WARRANTIES, EXPRESS OR IMPLIED, AS TO THE CORRECTNESS
00008 //  OF THIS CODE OR ANY DERIVATIVE WORKS WHICH INCORPORATE IT. AUTODESK
00009 //  PROVIDES THE CODE ON AN "AS-IS" BASIS AND EXPLICITLY DISCLAIMS ANY
00010 //  LIABILITY, INCLUDING CONSEQUENTIAL AND INCIDENTAL DAMAGES FOR ERRORS,
00011 //  OMISSIONS, AND OTHER PROBLEMS IN THE CODE.
00012 //
00013 //  Use, duplication, or disclosure by the U.S. Government is subject to
00014 //  restrictions set forth in FAR 52.227-19 (Commercial Computer Software
00015 //  Restricted Rights) and DFAR 252.227-7013(c)(1)(ii) (Rights in Technical
00016 //  Data and Computer Software), as applicable.
00017 //
00018 //  $Header: //DWF/Development/Components/Internal/DWF Toolkit/v7.6/develop/global/src/dwf/dwfx/reader/CustomPropertiesReader.h#2 $
00019 //  $DateTime: 2008/06/18 18:08:14 $
00020 //  $Author: gaoje $
00021 //  $Change: 101166 $
00022 //  $Revision: #2 $
00023 //
00024 //
00025 
00026 #ifndef _DWFTK_DWFXCUSTOMPROPERTIESREADER_H
00027 #define _DWFTK_DWFXCUSTOMPROPERTIESREADER_H
00028 
00033 
00034 #include "dwfcore/XML.h"
00035 using namespace DWFCore;
00036 
00037 #include "dwf/Toolkit.h"
00038 #include "dwf/package/XML.h"
00039 
00040 namespace DWFToolkit
00041 {
00042 
00043 //
00044 // fwd declaration
00045 //
00046 class DWFProperty;
00047 
00059 class DWFXCustomPropertiesReader : public DWFCore::DWFXMLCallback
00060                                    _DWFTK_EXPORT_API_MEMORY_CONTROL_BASE_MEMBER
00061 {
00062 
00063 public:
00064 
00070     _DWFTK_API
00071     DWFXCustomPropertiesReader()
00072         throw();
00073 
00079     _DWFTK_API
00080     virtual ~DWFXCustomPropertiesReader()
00081         throw();
00082 
00083 
00091     _DWFTK_API
00092     DWFXCustomPropertiesReader* filter() const
00093         throw();
00094 
00103     _DWFTK_API
00104     void setFilter( DWFXCustomPropertiesReader* pFilter )
00105         throw();
00106 
00114     _DWFTK_API
00115     virtual DWFProperty* provideProperty( DWFProperty* pProperty )
00116         throw();
00117 
00118 
00122     _DWFTK_API
00123     void notifyStartElement( const char*   zName,
00124                              const char**  ppAttributeList )
00125         throw();
00126 
00130     _DWFTK_API
00131     void notifyEndElement( const char*     zName )
00132         throw();
00133 
00137     _DWFTK_API
00138     void notifyStartNamespace( const char* zPrefix,
00139                                const char* zURI )
00140         throw();
00141 
00145     _DWFTK_API
00146     void notifyEndNamespace( const char*   zPrefix )
00147         throw();
00148 
00152     _DWFTK_API
00153     void notifyCharacterData( const char* zCData, 
00154                               int         nLength ) 
00155         throw();
00156 
00157 protected:
00158 
00163     DWFXMLElementBuilder    _oDefaultElementBuilder;
00164 
00170     DWFXMLElementBuilder*   _pElementBuilder;
00171 
00172 private:
00173 
00174     DWFXCustomPropertiesReader*     _pFilter;
00175 
00176     DWFProperty*                    _pCurrentProperty;
00177 
00178 private:
00179 
00180     //
00181     // Not implemented
00182     //
00183 
00184     DWFXCustomPropertiesReader( const DWFXCustomPropertiesReader& );
00185     DWFXCustomPropertiesReader& operator=( const DWFXCustomPropertiesReader& );
00186 
00187 };
00188 
00189 }
00190 
00191 #endif

Generated on Tue Jan 6 22:40:02 2009 for Autodesk DWF Toolkit by  doxygen 1.4.5