00001 /* $NoKeywords: $ */ 00002 /* 00003 // 00004 // Copyright (c) 1993-2012 Robert McNeel & Associates. All rights reserved. 00005 // OpenNURBS, Rhinoceros, and Rhino3D are registered trademarks of Robert 00006 // McNeel & Associates. 00007 // 00008 // THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. 00009 // ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF 00010 // MERCHANTABILITY ARE HEREBY DISCLAIMED. 00011 // 00012 // For complete openNURBS copyright information see <http://www.opennurbs.org>. 00013 // 00015 */ 00016 00017 #if !defined(OPENNURBS_PLUGINLIST_INC_) 00018 #define OPENNURBS_PLUGINLIST_INC_ 00019 00020 /* 00021 Description: 00022 The ON_PluginRef class is used to store a list of 00023 application plug-ins that may have saved user data 00024 in a 3dm file so they can be loaded as needed for 00025 reading their user data. 00026 */ 00027 class ON_CLASS ON_PlugInRef 00028 { 00029 public: 00030 ON_PlugInRef(); 00031 00032 // executable informtion 00033 ON_UUID m_plugin_id; 00034 int m_plugin_type; // CRhinoPlugIn::plugin_type enum value 00035 int m_plugin_platform; // 0 = unknown, 1 = C++, 2 = .NET 00036 int m_plugin_sdk_version; 00037 int m_plugin_sdk_service_release; 00038 ON_wString m_plugin_name; 00039 ON_wString m_plugin_version; 00040 ON_wString m_plugin_filename; // name of executable file 00041 00042 // developer contact information 00043 ON_wString m_developer_organization; 00044 ON_wString m_developer_address; 00045 ON_wString m_developer_country; 00046 ON_wString m_developer_phone; 00047 ON_wString m_developer_email; 00048 ON_wString m_developer_website; 00049 ON_wString m_developer_updateurl; 00050 ON_wString m_developer_fax; 00051 00052 void Default(); 00053 00054 bool Write( ON_BinaryArchive& file ) const; 00055 bool Read( ON_BinaryArchive& file ); 00056 00057 void Dump(ON_TextLog& text_log) const; 00058 }; 00059 00060 00061 #if defined(ON_DLL_TEMPLATE) 00062 00063 // This stuff is here because of a limitation in the way Microsoft 00064 // handles templates and DLLs. See Microsoft's knowledge base 00065 // article ID Q168958 for details. 00066 #pragma warning( push ) 00067 #pragma warning( disable : 4231 ) 00068 ON_DLL_TEMPLATE template class ON_CLASS ON_ClassArray<ON_PlugInRef>; 00069 #pragma warning( pop ) 00070 #endif 00071 00072 #endif 00073