DWFPropertiesReader.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/DWFPropertiesReader.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_DWFXDWFPROPERTIESREADER_H
00027 #define _DWFTK_DWFXDWFPROPERTIESREADER_H
00028 
00033 
00034 #include "dwfcore/XML.h"
00035 using namespace DWFCore;
00036 
00037 #include "dwf/opc/reader/XMLElementBuilder.h"
00038 
00039 namespace DWFToolkit
00040 {
00041 
00053 class DWFXDWFPropertiesReader : public DWFCore::DWFXMLCallback
00054                                 _DWFTK_EXPORT_API_MEMORY_CONTROL_BASE_MEMBER
00055 {
00056 
00057 public:
00058 
00065     typedef enum teProviderType
00066     {
00070         eProvideNone                =   0x00,
00071 
00075         eProvideProperties          =   0x01,
00076 
00080         eProvideElements            =   0xF0,
00081 
00085         eProvideAll                 =   0xFF
00086 
00087     } teProviderType;
00088 
00089 public:
00090 
00097     _DWFTK_API
00098     DWFXDWFPropertiesReader( unsigned int nProviderFlags = eProvideAll )
00099         throw();
00100 
00106     _DWFTK_API
00107     virtual ~DWFXDWFPropertiesReader()
00108         throw();
00109 
00110 
00118     _DWFTK_API
00119     DWFXDWFPropertiesReader* filter() const
00120         throw();
00121 
00130     _DWFTK_API
00131     void setFilter( DWFXDWFPropertiesReader* pFilter )
00132         throw();
00133 
00134 
00142     _DWFTK_API
00143     virtual DWFString provideSourceProductVendor( const DWFString& zValue )
00144         throw();
00145 
00153     _DWFTK_API
00154     virtual DWFString provideSourceProductName( const DWFString& zValue )
00155         throw();
00156 
00164     _DWFTK_API
00165     virtual DWFString provideSourceProductVersion( const DWFString& zValue )
00166         throw();
00167 
00175     _DWFTK_API
00176     virtual DWFString provideDWFProductVendor( const DWFString& zValue )
00177         throw();
00178 
00186     _DWFTK_API
00187     virtual DWFString provideDWFProductVersion( const DWFString& zValue )
00188         throw();
00189 
00197     _DWFTK_API
00198     virtual DWFString provideDWFToolkitVersion( const DWFString& zValue )
00199         throw();
00200 
00208     _DWFTK_API
00209     virtual DWFString provideDWFFormatVersion( const DWFString& zValue )
00210         throw();
00211 
00219     _DWFTK_API
00220     virtual DWFString providePasswordEncrypted( const DWFString& zValue )
00221         throw();
00222 
00226     _DWFTK_API
00227     void notifyStartElement( const char*   zName,
00228                              const char**  ppAttributeList )
00229         throw();
00230 
00234     _DWFTK_API
00235     void notifyEndElement( const char*     zName )
00236         throw();
00237 
00241     _DWFTK_API
00242     void notifyStartNamespace( const char* zPrefix,
00243                                const char* zURI )
00244         throw();
00245 
00249     _DWFTK_API
00250     void notifyEndNamespace( const char*   zPrefix )
00251         throw();
00252 
00256     _DWFTK_API
00257     void notifyCharacterData( const char* zCData, 
00258                               int         nLength ) 
00259         throw();
00260 
00261 private:
00262 
00263     void _provideProperty( const char** ppAttributeList )
00264         throw();
00265 
00266 private:
00267 
00268     unsigned int                    _nProviderFlags;
00269     DWFXDWFPropertiesReader*        _pFilter;
00270 
00271 private:
00272 
00273     //
00274     // Not implemented
00275     //
00276 
00277     DWFXDWFPropertiesReader( const DWFXDWFPropertiesReader& );
00278     DWFXDWFPropertiesReader& operator=( const DWFXDWFPropertiesReader& );
00279 
00280 };
00281 
00282 }
00283 
00284 #endif

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