CorePropertiesReader.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/opc/reader/CorePropertiesReader.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_OPCCOREPROPERTIESREADER_H
00027 #define _DWFTK_OPCCOREPROPERTIESREADER_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 OPCCorePropertiesReader : 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     OPCCorePropertiesReader( unsigned int nProviderFlags = eProvideAll )
00099         throw();
00100 
00106     _DWFTK_API
00107     virtual ~OPCCorePropertiesReader()
00108         throw();
00109 
00110 
00118     _DWFTK_API
00119     OPCCorePropertiesReader* filter() const
00120         throw();
00121 
00130     _DWFTK_API
00131     void setFilter( OPCCorePropertiesReader* pFilter )
00132         throw();
00133 
00134 
00142     _DWFTK_API
00143     virtual DWFString provideKeywords( const DWFString& zValue )
00144         throw();
00145 
00153     _DWFTK_API
00154     virtual DWFString provideContentType( const DWFString& zValue )
00155         throw();
00156 
00164     _DWFTK_API
00165     virtual DWFString provideCategory( const DWFString& zValue )
00166         throw();
00167 
00175     _DWFTK_API
00176     virtual DWFString provideVersion( const DWFString& zValue )
00177         throw();
00178 
00186     _DWFTK_API
00187     virtual DWFString provideRevision( const DWFString& zValue )
00188         throw();
00189 
00197     _DWFTK_API
00198     virtual DWFString provideLastModifiedBy( const DWFString& zValue )
00199         throw();
00200 
00208     _DWFTK_API
00209     virtual DWFString provideLastPrinted( const DWFString& zValue )
00210         throw();
00211 
00219     _DWFTK_API
00220     virtual DWFString provideContentStatus( const DWFString& zValue )
00221         throw();
00222 
00230     _DWFTK_API
00231     virtual DWFString provideCreator( const DWFString& zValue )
00232         throw();
00233 
00241     _DWFTK_API
00242     virtual DWFString provideIdentifier( const DWFString& zValue )
00243         throw();
00244 
00252     _DWFTK_API
00253     virtual DWFString provideTitle( const DWFString& zValue )
00254         throw();
00255 
00263     _DWFTK_API
00264     virtual DWFString provideSubject( const DWFString& zValue )
00265         throw();
00266 
00274     _DWFTK_API
00275     virtual DWFString provideDescription( const DWFString& zValue )
00276         throw();
00277 
00285     _DWFTK_API
00286     virtual DWFString provideLanguage( const DWFString& zValue )
00287         throw();
00288 
00296     _DWFTK_API
00297     virtual DWFString provideCreated( const DWFString& zValue )
00298         throw();
00299 
00307     _DWFTK_API
00308     virtual DWFString provideModified( const DWFString& zValue )
00309         throw();
00310 
00314     _DWFTK_API
00315     void notifyStartElement( const char*   zName,
00316                              const char**  ppAttributeList )
00317         throw();
00318 
00322     _DWFTK_API
00323     void notifyEndElement( const char*     zName )
00324         throw();
00325 
00329     _DWFTK_API
00330     void notifyStartNamespace( const char* zPrefix,
00331                                const char* zURI )
00332         throw();
00333 
00337     _DWFTK_API
00338     void notifyEndNamespace( const char*   zPrefix )
00339         throw();
00340 
00344     _DWFTK_API
00345     void notifyCharacterData( const char* zCData, 
00346                               int         nLength ) 
00347         throw();
00348 
00349 protected:
00350 
00355     OPCXMLElementBuilder    _oDefaultElementBuilder;
00356 
00362     OPCXMLElementBuilder*   _pElementBuilder;
00363 
00364 private:
00365 
00366     unsigned int                    _nProviderFlags;
00367     OPCCorePropertiesReader*        _pFilter;
00368     DWFString                       _zCDataAccumulator;
00369 
00370 private:
00371 
00372     //
00373     // Not implemented
00374     //
00375 
00376     OPCCorePropertiesReader( const OPCCorePropertiesReader& );
00377     OPCCorePropertiesReader& operator=( const OPCCorePropertiesReader& );
00378 
00379 };
00380 
00381 }
00382 
00383 #endif

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