Interface.h

Go to the documentation of this file.
00001 //
00002 //  Copyright (c) 2003-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_INTERFACE_H
00021 #define _DWFTK_INTERFACE_H
00022 
00023 
00028 
00029 #include "dwfcore/STL.h"
00030 
00031 
00032 #include "dwf/Toolkit.h"
00033 #include "dwf/package/XML.h"
00034 #include "dwf/package/reader/PackageReader.h"
00035 #include "dwf/package/writer/PackageWriter.h"
00036 
00037 
00038 namespace DWFToolkit
00039 {
00040 
00048 class DWFInterface : public DWFXMLBuildable
00049 
00050 #ifndef DWFTK_READ_ONLY
00051                    , public DWFXMLSerializable
00052 #endif
00053 
00054                    _DWFTK_EXPORT_API_MEMORY_CONTROL_BASE_MEMBER
00055 {
00056 
00057 public:
00058 
00062     static const wchar_t* const kzEPlot_Name;
00066     static const wchar_t* const kzEPlot_HRef;
00070     static const wchar_t* const kzEPlot_ID;
00074     static const wchar_t* const kzEModel_Name;
00078     static const wchar_t* const kzEModel_HRef;
00082     static const wchar_t* const kzEModel_ID;
00086     static const wchar_t* const kzData_Name;
00090     static const wchar_t* const kzData_HRef;
00094     static const wchar_t* const kzData_ID;
00098     static const wchar_t* const kzSignatures_Name;
00102     static const wchar_t* const kzSignatures_HRef;
00106     static const wchar_t* const kzSignatures_ID;
00107 
00108 public:
00109 
00113     typedef _DWFTK_STD_VECTOR(DWFInterface*)    tList;
00114 
00115 public:
00116 
00122     _DWFTK_API
00123     DWFInterface()
00124         throw();
00125 
00135     _DWFTK_API
00136     DWFInterface( const DWFString& zName,
00137                   const DWFString& zHRef,
00138                   const DWFString& zObjectID )
00139         throw();
00140 
00146     _DWFTK_API
00147     virtual ~DWFInterface()
00148         throw();
00149 
00159     _DWFTK_API
00160     const DWFString& name() const
00161         throw()
00162     {
00163         return _zName;
00164     }
00165 
00172     _DWFTK_API
00173     const DWFString& href() const
00174         throw()
00175     {
00176         return _zHRef;
00177     }
00178 
00185     _DWFTK_API
00186     const DWFString& objectID() const
00187         throw()
00188     {
00189         return _zObjectID;
00190     }
00191 
00195     _DWFTK_API
00196     virtual void parseAttributeList( const char** ppAttributeList )
00197         throw( DWFException );
00198 
00199 #ifndef DWFTK_READ_ONLY
00200 
00204     _DWFTK_API
00205     void serializeXML( DWFXMLSerializer& rSerializer, unsigned int nFlags )
00206         throw( DWFException );
00207 
00208 #endif
00209 
00210 private:
00211 
00212     DWFString _zName;
00213     DWFString _zHRef;
00214     DWFString _zObjectID;
00215 };
00216 
00217 
00218     //
00219     // required for win32 dll external linkage
00220     //
00221 #ifdef  _DWFCORE_WIN32_SYSTEM
00222 #ifndef DWFTK_STATIC
00223 
00224 //DNT_Start
00225 
00226 _declspec(selectany) const wchar_t* const DWFInterface::kzEPlot_Name    = L"ePlot";
00227 _declspec(selectany) const wchar_t* const DWFInterface::kzEPlot_HRef    = L"http://www.autodesk.com/viewers";
00228 _declspec(selectany) const wchar_t* const DWFInterface::kzEPlot_ID      = L"715941D4-1AC2-4545-8185-BC40E053B551";
00229 
00230 _declspec(selectany) const wchar_t* const DWFInterface::kzEModel_Name   = L"eModel";
00231 _declspec(selectany) const wchar_t* const DWFInterface::kzEModel_HRef   = L"http://www.autodesk.com/viewers";
00232 _declspec(selectany) const wchar_t* const DWFInterface::kzEModel_ID     = L"75E513A9-6C41-4C91-BAA6-81E593FAAC10";
00233 
00234 _declspec(selectany) const wchar_t* const DWFInterface::kzData_Name   = L"Data";
00235 _declspec(selectany) const wchar_t* const DWFInterface::kzData_HRef   = L"http://www.autodesk.com/viewers";
00236 _declspec(selectany) const wchar_t* const DWFInterface::kzData_ID     = L"12D1F3EE-1178-4C8F-A706-F27E156F7522";
00237 
00238 _declspec(selectany) const wchar_t* const DWFInterface::kzSignatures_Name   = L"Signatures";
00239 _declspec(selectany) const wchar_t* const DWFInterface::kzSignatures_HRef   = L"http://www.autodesk.com/viewers";
00240 _declspec(selectany) const wchar_t* const DWFInterface::kzSignatures_ID     = L"22D1F3EE-1178-4C8F-A706-F27E156F7522";
00241 
00242 //DNT_End
00243 
00244 #endif
00245 #endif
00246 
00247 }
00248 
00249 #endif

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