Publisher.h

Go to the documentation of this file.
00001 //
00002 //  Copyright (c) 1996-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 
00019 #ifndef _DWFTK_PUBLISHER_H
00020 #define _DWFTK_PUBLISHER_H
00021 
00022 
00027 
00028 #ifndef DWFTK_READ_ONLY
00029 
00030 
00031 
00032 #include "dwfcore/STL.h"
00033 #include "dwfcore/Iterator.h"
00034 #include "dwfcore/Exception.h"
00035 #include "dwfcore/InputStream.h"
00036 using namespace DWFCore;
00037 
00038 #include "dwf/Toolkit.h"
00039 #include "dwf/publisher/PublishableResource.h"
00040 #include "dwf/publisher/PublishableSection.h"
00041 #include "dwf/publisher/PropertyVisitor.h"
00042 #include "dwf/publisher/EmbeddedFontVisitor.h"
00043 #include "dwf/publisher/PublishedObject.h"
00044 
00045 
00046 
00047 namespace DWFToolkit
00048 {
00049 
00050 
00051 
00082 class DWFPublisher _DWFTK_EXPORT_API_MEMORY_CONTROL_BASE
00083 {
00084 
00085 public:
00086 
00087 
00092     typedef enum teMetadataVersion
00093     {
00094         ePublishContentDefinition,
00095         ePublishObjectDefinition
00096 
00097     } teMetadataVersion;
00098 
00099 public:
00100 
00106     _DWFTK_API
00107     DWFPublisher()
00108         throw()
00109         : _pPublishedObjectVisitor( NULL )
00110         , _pPropertyVisitor( NULL )
00111         , _pEmbeddedFontVisitor( NULL )
00112     {;}
00113 
00119     _DWFTK_API
00120     virtual ~DWFPublisher()
00121         throw()
00122     {;}
00123 
00129     _DWFTK_API
00130     virtual void publish()
00131         throw( DWFException )
00132     {;}
00133 
00141     _DWFTK_API
00142     virtual DWFPublishedObject::Visitor* getPublishedObjectVisitor()
00143         throw( DWFException )
00144     {
00145         return _pPublishedObjectVisitor;
00146     }
00147 
00156     _DWFTK_API
00157     void setPublishedObjectVisitor( DWFPublishedObject::Visitor* pVisitor )
00158         throw()
00159     {
00160         _pPublishedObjectVisitor = pVisitor;
00161     }
00162 
00169     _DWFTK_API
00170     virtual DWFPropertyVisitor* getPropertyVisitor()
00171         throw( DWFException )
00172     {
00173         return _pPropertyVisitor;
00174     }
00175 
00183     _DWFTK_API
00184     void setPropertyVisitor( DWFPropertyVisitor* pVisitor )
00185         throw()
00186     {
00187         _pPropertyVisitor = pVisitor;
00188     }
00189 
00196     _DWFTK_API
00197     virtual DWFEmbeddedFontVisitor* getEmbeddedFontVisitor()
00198         throw( DWFException )
00199     {
00200         return _pEmbeddedFontVisitor;
00201     }
00202 
00210     _DWFTK_API
00211     void setEmbeddedFontVisitor( DWFEmbeddedFontVisitor* pVisitor )
00212         throw()
00213     {
00214         _pEmbeddedFontVisitor = pVisitor;
00215     }
00216 
00225     _DWFTK_API
00226     virtual void preprocess( DWFPublishable* )
00227         throw( DWFException )
00228     {;}
00229 
00238     _DWFTK_API
00239     virtual void postprocess( DWFPublishable* )
00240         throw( DWFException )
00241     {;}
00242 
00243 private:
00244 
00245     DWFPublishedObject::Visitor*    _pPublishedObjectVisitor;
00246     DWFPropertyVisitor*             _pPropertyVisitor;
00247     DWFEmbeddedFontVisitor*         _pEmbeddedFontVisitor;
00248 
00249 private:
00250 
00251     DWFPublisher( const DWFPublisher& );
00252     DWFPublisher& operator=( const DWFPublisher& );
00253 };
00254 
00255 
00256 }
00257 
00258 
00259 
00260 
00261 
00262 #endif  
00263 #endif
00264 

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