SignatureSection.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_SIGNATURE_SECTION_H
00021 #define _DWFTK_SIGNATURE_SECTION_H
00022 
00027 
00028 
00029 #include "dwfcore/STL.h"
00030 #include "dwfcore/SkipList.h"
00031 using namespace DWFCore;
00032 
00033 #include "dwf/Toolkit.h"
00034 #include "dwf/package/Section.h"
00035 #include "dwf/package/reader/SignatureSectionDescriptorReader.h"
00036 #include "dwf/package/writer/PackageWriter.h"
00037 #include "dwf/package/Signature.h"
00038 
00039 namespace DWFToolkit
00040 {
00041 
00052 class DWFSignatureSection
00053             : public DWFSection
00054             , public DWFSignatureSectionDescriptorReader
00055             _DWFTK_EXPORT_API_MEMORY_CONTROL_BASE_MEMBER
00056 {
00057 
00058 public:
00059 
00063     typedef _DWFTK_STD_VECTOR(DWFSignatureSection*)                                      tList;
00067     typedef DWFWCharKeySkipList<DWFSignatureSection*>                                    tMap;
00071     typedef std::multimap<const wchar_t*, DWFSignatureSection*, tDWFWCharCompareLess>    tMultiMap;
00072 
00073 public:
00074 
00080     class Factory : public DWFSection::Factory
00081                     _DWFTK_EXPORT_API_MEMORY_CONTROL_BASE_MEMBER
00082     {
00083 
00084     public:
00085 
00091         _DWFTK_API
00092         Factory()
00093             throw();
00094 
00100         _DWFTK_API
00101         virtual ~Factory()
00102             throw();
00103 
00118         _DWFTK_API
00119         virtual DWFSection* build( const DWFString&     zName,
00120                                    const DWFString&     zTitle,
00121                                    DWFPackageReader*    pPackageReader )
00122             throw( DWFException );
00123     };
00124 
00125 public:
00126 
00141     _DWFTK_API
00142     DWFSignatureSection( const DWFString&  zName,
00143                     const DWFString&  zTitle,
00144                     DWFPackageReader* pPackageReader )
00145         throw();
00146 
00160     _DWFTK_API
00161     DWFSignatureSection( const DWFString& zTitle,
00162                     const DWFString& zObjectID,
00163                     double           nPlotOrder,
00164                     const DWFSource& rSource )
00165         throw();
00166 
00172     _DWFTK_API
00173     virtual ~DWFSignatureSection()
00174         throw();
00175 
00190     _DWFTK_API
00191     DWFInterface* buildInterface()
00192         throw( DWFException );
00193 
00219     _DWFTK_API
00220     const DWFResource& readDescriptor( DWFSectionDescriptorReader* pSectionDescriptorReader = NULL ) const
00221         throw( DWFException );
00222 
00223     //
00224     // TODO: Doc
00225     //
00226     _DWFTK_API
00227     DWFSignature* getSignature( DWFResource* pResource, 
00228                                 DWFSignatureReader* pReaderFilter )
00229         throw( DWFException );
00230 
00231 
00232 #ifndef DWFTK_READ_ONLY
00233 
00237     _DWFTK_API
00238     void serializeXML( DWFXMLSerializer& rSerializer, unsigned int nFlags )
00239         throw( DWFException );
00240 
00241 #endif
00242 
00246     _DWFTK_API
00247     const char* provideName( const char* zName )
00248         throw();
00249 
00253     _DWFTK_API
00254     const char* provideObjectID( const char* zObjectID )
00255         throw();
00256 
00260     _DWFTK_API
00261     double provideVersion( double nVersion )
00262         throw();
00263 
00267     _DWFTK_API
00268     DWFProperty* provideProperty( DWFProperty* pProperty )
00269         throw();
00270 
00274     _DWFTK_API
00275     DWFResource* provideResource( DWFResource* pResource )
00276         throw();
00277 
00281     _DWFTK_API
00282     DWFSignatureResource* provideSignatureResource( DWFSignatureResource* pResource )
00283         throw();
00284 
00285 private:
00286 
00287     DWFSignatureSection( const DWFSignatureSection& );
00288     DWFSignatureSection& operator=( const DWFSignatureSection& );
00289 };
00290 
00291 }
00292 
00293 #endif

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