xps/FixedDocument.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/xps/FixedDocument.h#1 $
00019 //  $DateTime: 2008/02/20 08:38:28 $
00020 //  $Author: appacsviewers $
00021 //  $Change: 84992 $
00022 //  $Revision: #1 $
00023 //
00024 //
00025 
00026 #ifndef _DWFTK_XPSFIXEDDOCUMENT_H
00027 #define _DWFTK_XPSFIXEDDOCUMENT_H
00028 
00033 
00034 #include "dwfcore/Owner.h"
00035 using namespace DWFCore;
00036 
00037 #include "dwf/opc/XMLPart.h"
00038 #include "dwf/xps/FixedPage.h"
00039 
00040 namespace DWFToolkit
00041 {
00042 
00050 class XPSFixedDocument : public OPCXMLPart
00051                        , protected DWFOwner
00052 {
00053 
00057     static const char* const kzName;
00058 
00059 public:
00060 
00064     typedef DWFOrderedVector<XPSFixedDocument*>         tList;
00068     typedef DWFStringKeySkipList<XPSFixedDocument*>     tMap;
00073     typedef DWFCachingIterator<XPSFixedDocument*>       tCachingIterator;
00078     typedef DWFIterator<XPSFixedDocument*>              tIterator;
00083     typedef DWFConstIterator<XPSFixedDocument*>         tConstIterator;
00084 
00085 public:
00086 
00092     _DWFTK_API
00093     XPSFixedDocument()
00094         throw();
00095 
00101     _DWFTK_API
00102     virtual ~XPSFixedDocument()
00103         throw();
00104 
00114     _DWFTK_API
00115     virtual bool addFixedPage( XPSFixedPage* pFixedPage,
00116                               bool bOwn = true )
00117         throw();
00118 
00132     _DWFTK_API
00133     virtual bool insertFixedPage( XPSFixedPage* pFixedPage, 
00134                                   XPSFixedPage* pAfterPage,
00135                                   bool bOwn = true )
00136         throw();
00137 
00146     _DWFTK_API
00147     virtual bool removeFixedPage( XPSFixedPage* pFixedPage )
00148         throw();
00149 
00157     _DWFTK_API
00158     XPSFixedPage* const fixedPage( const DWFString& zURI ) const
00159         throw();
00160 
00168     _DWFTK_API
00169     XPSFixedPage::tConstIterator* fixedPages() const
00170         throw()
00171     {
00172         return _oFixedPages.constIterator();
00173     }
00174 
00175 #ifndef DWFTK_READ_ONLY
00176 
00177     _DWFTK_API
00178     virtual void serializeXML( DWFXMLSerializer& rSerializer )
00179         throw( DWFException );
00180 
00181 #endif
00182 
00183 protected:
00184 
00185     _DWFTK_API
00186     void notifyOwnableDeletion( DWFOwnable& rOwnable )
00187         throw( DWFException );
00188 
00189 private:
00190 
00191     XPSFixedPage::tList         _oFixedPages;
00192 
00193 private:
00194 
00195     //
00196     // Not implemented
00197     //
00198     XPSFixedDocument( const XPSFixedDocument& );
00199     XPSFixedDocument& operator=( const XPSFixedDocument& );
00200 
00201 };
00202 
00203 
00204 //
00205 // required for win32 dll external linkage
00206 //
00207 #ifdef  _DWFCORE_WIN32_SYSTEM
00208 #ifndef DWFTK_STATIC
00209 
00210 //DNT_START
00211 _declspec(selectany) const char* const XPSFixedDocument::kzName = "FixedDocument.fdoc";
00212 //DNT_END
00213 
00214 #endif
00215 #endif
00216 
00217 }
00218 
00219 #endif
00220 

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