SignatureSectionDescriptorReader.h

Go to the documentation of this file.
00001 //
00002 //  Copyright (c) 1996-2005 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/package/reader/SignatureSectionDescriptorReader.h#2 $
00019 //  $DateTime: 2008/06/18 18:08:14 $
00020 //  $Author: gaoje $
00021 //  $Change: 101166 $
00022 //  $Revision: #2 $
00023 //
00024 
00025 
00026 
00027 #ifndef _DWFTK_SIGNATURE_SECTION_DESCRIPTOR_READER_H
00028 #define _DWFTK_SIGNATURE_SECTION_DESCRIPTOR_READER_H
00029 
00034 
00035 
00036 #include "dwfcore/Core.h"
00037 using namespace DWFCore;
00038 
00039 #include "dwf/package/Property.h"
00040 #include "dwf/package/SignatureResource.h"
00041 #include "dwf/package/reader/SectionDescriptorReader.h"
00042 
00043 
00044 namespace DWFToolkit
00045 {
00046 
00076 class DWFSignatureSectionDescriptorReader : public DWFSectionDescriptorReader
00077                                        _DWFTK_EXPORT_API_MEMORY_CONTROL_BASE_MEMBER
00078 {
00079 
00080 public:
00081 
00089     typedef enum
00090     {
00094         eProvideNone                        =   0x000,
00095 
00099         eProvideName                        =   0x001,
00103         eProvideVersion                     =   0x002,
00107         eProvideObjectID                    =   0x004,
00108 
00112         eProvideProperties                  =   0x010,
00116         eProvideResources                   =   0x020,
00117 
00121         eProvideUntypedResource             =   0x040,
00125         eProvideSignatureResource           =   0x080,
00126 
00130         eProvideAttributes                  =   0x007,
00131         
00135         eProvideElements                    =   0x0F0,
00136 
00140         eProvideAll                         =   0x0FF
00141 
00142     } teProviderType;
00143 
00144 public:
00145 
00153     _DWFTK_API
00154     DWFSignatureSectionDescriptorReader( DWFPackageReader*  pPackageReader = NULL,
00155                                     unsigned int       nProviderFlags = eProvideAll )
00156         throw();
00157 
00163     _DWFTK_API
00164     virtual ~DWFSignatureSectionDescriptorReader()
00165         throw();
00166 
00170     _DWFTK_API
00171     DWFSignatureSectionDescriptorReader* filter() const
00172         throw();
00173 
00177     _DWFTK_API
00178     void setFilter( DWFSignatureSectionDescriptorReader* pFilter )
00179         throw();
00180 
00188     _DWFTK_API
00189     virtual const char* provideName( const char* zName )
00190         throw();
00191 
00199     _DWFTK_API
00200     virtual const char* provideObjectID( const char* zObjectID )
00201         throw();
00202 
00210     _DWFTK_API
00211     virtual double provideVersion( double nVersion )
00212         throw();
00213 
00222     _DWFTK_API
00223     virtual DWFProperty* provideProperty( DWFProperty* pProperty )
00224         throw();
00225 
00234     _DWFTK_API
00235     virtual DWFResource* provideResource( DWFResource* pResource )
00236         throw();
00237 
00246     _DWFTK_API
00247     virtual DWFSignatureResource* provideSignatureResource( DWFSignatureResource* pResource )
00248         throw();
00249 
00253     _DWFTK_API
00254     void notifyStartElement( const char*   zName,
00255                              const char**  ppAttributeList )
00256         throw();
00257 
00261     _DWFTK_API
00262     void notifyEndElement( const char*     zName )
00263         throw();
00264 
00268     _DWFTK_API
00269     void notifyStartNamespace( const char* zPrefix,
00270                                const char* zURI )
00271         throw();
00272 
00276     _DWFTK_API
00277     void notifyEndNamespace( const char*   zPrefix )
00278         throw();
00279 
00280 protected:
00281 
00285     void _provideAttributes( const char**   ppAttributeList )
00286         throw();
00287 
00288 private:
00289 
00290     void _provideName( const char* zName )
00291         throw();
00292 
00293     void _provideObjectID( const char* zObjectID )
00294         throw();
00295 
00296     void _provideVersion( double nVersion )
00297         throw();
00298 
00299     void _provideProperty( DWFProperty* pProperty )
00300         throw();
00301 
00302     void _provideResource( DWFResource* pResource )
00303         throw();
00304 
00305     void _provideSignatureResource( DWFSignatureResource* pResource )
00306         throw();
00307 
00308 private:
00309 
00310     unsigned int                    _nProviderFlags;
00311     unsigned int                    _nCurrentCollectionProvider;
00312 
00313     DWFResource*                    _pCurrentResource;
00314     DWFSignatureSectionDescriptorReader* _pFilter;
00315 
00316 private:
00317 
00318     //
00319     // Not implemented
00320     //
00321 
00322     DWFSignatureSectionDescriptorReader( const DWFSignatureSectionDescriptorReader& );
00323     DWFSignatureSectionDescriptorReader& operator=( const DWFSignatureSectionDescriptorReader& );
00324 };
00325 
00326 }
00327 
00328 #endif

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