Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages | Examples

EModelSectionDescriptorReader.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 
00019 
00020 #ifndef _DWFTK_EMODEL_SECTION_DESCRIPTOR_READER_H
00021 #define _DWFTK_EMODEL_SECTION_DESCRIPTOR_READER_H
00022 
00027 
00028 
00029 
00030 #include "dwfcore/Core.h"
00031 using namespace DWFCore;
00032 
00033 #include "dwf/package/Units.h"
00034 #include "dwf/package/Property.h"
00035 #include "dwf/package/FontResource.h"
00036 #include "dwf/package/GraphicResource.h"
00037 #include "dwf/package/reader/SectionDescriptorReader.h"
00038 
00039 
00040 namespace DWFToolkit
00041 {
00042 
00072 class DWFEModelSectionDescriptorReader : public DWFSectionDescriptorReader
00073 {
00074 
00075 public:
00076 
00084     typedef enum
00085     {
00089         eProvideNone            =   0x000,
00090 
00094         eProvideName            =   0x001,
00098         eProvideVersion         =   0x002,
00102         eProvidePlotOrder       =   0x004,
00103 
00107         eProvideProperties      =   0x010,
00111         eProvideResources       =   0x020,
00115         eProvideUnits           =   0x040,
00116 
00120         eProvideUntypedResource =   0x100,
00124         eProvideFontResource    =   0x200,
00128         eProvideGraphicResource =   0x400,
00132         eProvideImageResource   =   0x800,
00133 
00137         eProvideAttributes      =   0x00F,
00141         eProvideElements        =   0xFF0,
00142 
00143 
00147         eProvideAll             =   0xFFF
00148 
00149     } teProviderType;
00150 
00151 public:
00152 
00160     _DWFTK_API
00161     DWFEModelSectionDescriptorReader( DWFPackageReader*  pPackageReader = NULL,
00162                                       unsigned int       nProviderFlags = eProvideAll )
00163         throw();
00164 
00170     _DWFTK_API
00171     virtual ~DWFEModelSectionDescriptorReader()
00172         throw();
00173 
00177     _DWFTK_API
00178     DWFEModelSectionDescriptorReader* filter() const
00179         throw();
00180 
00184     _DWFTK_API
00185     void setFilter( DWFEModelSectionDescriptorReader* pFilter )
00186         throw();
00187 
00195     _DWFTK_API
00196     virtual const char* provideName( const char* zName )
00197         throw();
00198 
00206     _DWFTK_API
00207     virtual double provideVersion( double nVersion )
00208         throw();
00209 
00217     _DWFTK_API
00218     virtual double providePlotOrder( double nPlotOrder )
00219         throw();
00220 
00229     _DWFTK_API
00230     virtual DWFUnits* provideUnits( DWFUnits* pUnits )
00231         throw();
00232 
00241     _DWFTK_API
00242     virtual DWFProperty* provideProperty( DWFProperty* pProperty )
00243         throw();
00244 
00253     _DWFTK_API
00254     virtual DWFResource* provideResource( DWFResource* pResource )
00255         throw();
00256 
00265     _DWFTK_API
00266     virtual DWFFontResource* provideFontResource( DWFFontResource* pResource )
00267         throw();
00268 
00277     _DWFTK_API
00278     virtual DWFGraphicResource* provideGraphicResource( DWFGraphicResource* pResource )
00279         throw();
00280 
00289     _DWFTK_API
00290     virtual DWFImageResource* provideImageResource( DWFImageResource* pResource )
00291         throw();
00292 
00296     _DWFTK_API
00297     void notifyStartElement( const char*   zName,
00298                              const char**  ppAttributeList )
00299         throw();
00300 
00304     _DWFTK_API
00305     void notifyEndElement( const char*     zName )
00306         throw();
00307 
00311     _DWFTK_API
00312     void notifyStartNamespace( const char* zPrefix,
00313                                const char* zURI )
00314         throw();
00315 
00319     _DWFTK_API
00320     void notifyEndNamespace( const char*   zPrefix )
00321         throw();
00322 
00323 protected:
00324 
00328     void _provideAttributes( const char**   ppAttributeList )
00329         throw();
00330 
00331 private:
00332 
00333     void _provideName( const char* zName )
00334         throw();
00335 
00336     void _provideVersion( double nVersion )
00337         throw();
00338 
00339     void _providePlotOrder( double nPlotOrder )
00340         throw();
00341 
00342     void _provideUnits( DWFUnits* pPaper )
00343         throw();
00344 
00345     void _provideProperty( DWFProperty* pProperty )
00346         throw();
00347 
00348     void _provideResource( DWFResource* pResource )
00349         throw();
00350 
00351     void _provideFontResource( DWFFontResource* pResource )
00352         throw();
00353 
00354     void _provideGraphicResource( DWFGraphicResource* pResource )
00355         throw();
00356 
00357     void _provideImageResource( DWFImageResource* pResource )
00358         throw();
00359 
00360 private:
00361 
00362     unsigned int _nProviderFlags;
00363     unsigned int _nCurrentCollectionProvider;
00364     DWFResource* _pCurrentResource;
00365     DWFEModelSectionDescriptorReader* _pFilter;
00366 
00367 private:
00368 
00369     //
00370     // Not implemented
00371     //
00372 
00373     DWFEModelSectionDescriptorReader( const DWFEModelSectionDescriptorReader& );
00374     DWFEModelSectionDescriptorReader& operator=( const DWFEModelSectionDescriptorReader& );
00375 };
00376 
00377 }
00378 
00379 #endif

Generated on Tue May 17 12:38:50 2005 for Autodesk DWF Toolkit by  doxygen 1.4.1