xsi_plugin.h
Go to the documentation of this file.
00001 //*****************************************************************************
00010 //*****************************************************************************
00011 
00012 #if (_MSC_VER > 1000) || defined(SGI_COMPILER)
00013 #pragma once
00014 #endif
00015 
00016 #ifndef __XSIPLUGIN_H__
00017 #define __XSIPLUGIN_H__
00018 
00019 #include <xsi_siobject.h>
00020 
00021 namespace XSI
00022 {
00023 
00024 //*****************************************************************************
00093 //*****************************************************************************
00094 
00095 class SICPPSDKDECL Plugin : public SIObject
00096 {
00097     public:
00099     Plugin();
00100 
00102     ~Plugin();
00103 
00107     Plugin(const CRef& in_ref);
00108 
00112     Plugin(const Plugin& in_obj);
00113 
00118     bool IsA( siClassID in_ClassID) const;
00119 
00123     siClassID GetClassID() const;
00124 
00130     Plugin& operator=(const Plugin& in_obj);
00131 
00137     Plugin& operator=(const CRef& in_ref);
00138 
00142     CString GetAuthor() const;
00143 
00148     CString GetURL() const;
00149 
00154     CString GetEmail() const;
00155 
00161     CStatus GetVersion( LONG& out_major, LONG& out_minor ) const;
00162 
00167     CString GetLanguage() const;
00168 
00172     CString GetFilename() const;
00173 
00177     bool IsLoaded() const;
00178 
00184     CRefArray GetItems() const;
00185 
00202     CStatus PutUserData(const CValue& in_val);
00203 
00208     CValue GetUserData() const;
00209 
00210     private:
00211     Plugin * operator&() const;
00212     Plugin * operator&();
00213 };
00214 
00215 };
00216 
00217 #endif // __XSIPlugin_H__