CustomSection.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 
00020 #ifndef _DWFTK_CUSTOM_SECTION_H
00021 #define _DWFTK_CUSTOM_SECTION_H
00022 
00027 
00028 
00029 #include "dwfcore/STL.h"
00030 
00031 #include "dwf/Toolkit.h"
00032 #include "dwf/package/Section.h"
00033 
00034 namespace DWFToolkit
00035 {
00036 
00044 class DWFCustomSection : public DWFSection
00045                          _DWFTK_EXPORT_API_MEMORY_CONTROL_BASE_MEMBER
00046 {
00047 
00048 public:
00049 
00053     typedef _DWFTK_STD_VECTOR(DWFCustomSection*)    tList;
00057     typedef DWFWCharKeySkipList<DWFCustomSection*>                            tMap;
00061     typedef std::multimap<const wchar_t*, DWFCustomSection*, tDWFWCharCompareLess> tMultiMap;
00062 
00063 public:
00064 
00070     class Factory _DWFTK_EXPORT_API_MEMORY_CONTROL_BASE
00071     {
00072 
00073     public:
00074 
00078         typedef _DWFTK_STD_VECTOR(DWFCustomSection::Factory*)       tList;
00082         typedef DWFWCharKeySkipList<DWFCustomSection::Factory*>     tMap;
00083 
00084     public:
00085 
00092         _DWFTK_API
00093         Factory( const DWFString& zType )
00094             throw();
00095 
00101         _DWFTK_API
00102         virtual ~Factory()
00103             throw();
00104 
00108         _DWFTK_API
00109         const DWFString& type() const
00110             throw();
00111 
00115         _DWFTK_API
00116         virtual DWFCustomSection* build( const DWFString&     zName,
00117                                          const DWFString&     zTitle,
00118                                          DWFPackageReader*    pPackageReader )
00119             throw( DWFException );
00120 
00124         _DWFTK_API
00125         virtual DWFCustomSection* build( const DWFString&     zType,
00126                                          const DWFString&     zName,
00127                                          const DWFString&     zTitle,
00128                                          DWFPackageReader*    pPackageReader )
00129             throw( DWFException );
00130 
00131     private:
00132 
00133         DWFString _zType;
00134     };
00135 
00136 public:
00137 
00150     _DWFTK_API
00151     DWFCustomSection( DWFPackageReader* pPackageReader )
00152         throw();
00153 
00169     _DWFTK_API
00170     DWFCustomSection( const DWFString&  zType,
00171                       const DWFString&  zName,
00172                       const DWFString&  zTitle,
00173                       DWFPackageReader* pPackageReader )
00174         throw();
00175 
00190     _DWFTK_API
00191     DWFCustomSection( const DWFString& zType,
00192                       const DWFString& zTitle,
00193                       const DWFString& zObjectID,
00194                       double           nVersion,
00195                       double           nPlotOrder,
00196                       const DWFSource& rSource )
00197         throw();
00198 
00205     _DWFTK_API
00206     DWFCustomSection( const DWFCustomSection& rSection )
00207         throw();
00208 
00215     _DWFTK_API
00216     DWFCustomSection& operator=( const DWFCustomSection& rSection )
00217         throw();
00218 
00224     _DWFTK_API
00225     virtual ~DWFCustomSection()
00226         throw();
00227 
00228 
00229 protected:
00230 
00231 };
00232 
00233 }
00234 
00235 #endif

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