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 __XSIPLUGINREGISTRAR_H__
00017 #define __XSIPLUGINREGISTRAR_H__
00018
00019 #include <xsi_siobject.h>
00020 #include <xsi_pluginitem.h>
00021
00022 namespace XSI {
00023
00024 class ICENodeDef;
00025
00026
00058
00059
00060 class SICPPSDKDECL PluginRegistrar : public SIObject
00061 {
00062 public:
00064 PluginRegistrar();
00065
00067 ~PluginRegistrar();
00068
00072 PluginRegistrar(const CRef& in_ref);
00073
00077 PluginRegistrar(const PluginRegistrar& in_obj);
00078
00083 bool IsA( siClassID in_ClassID) const;
00084
00088 siClassID GetClassID() const;
00089
00095 PluginRegistrar& operator=(const PluginRegistrar& in_obj);
00096
00102 PluginRegistrar& operator=(const CRef& in_ref);
00103
00121 PluginItem RegisterFilter( const CString& in_strName, siFilterType in_type );
00122
00135 PluginItem RegisterCustomDisplay( const CString& in_strName );
00136
00406 PluginItem RegisterProperty( const CString& in_strName );
00407
00421 PluginItem RegisterDisplayCallback( const CString& in_strName );
00422
00436 PluginItem RegisterDisplayPass( const CString& in_strName );
00437
00465 PluginItem RegisterMenu( siMenuAnchorPoints in_anchorID,
00466 const CString& in_menuName,
00467 bool in_bDisplayAsSubmenu=true,
00468 bool in_bDynamicMenu=true );
00469
00486 PluginItem RegisterCommand( const CString& in_commandScriptName );
00487
00519 PluginItem RegisterCommand( const CString& in_commandName,
00520 const CString& in_commandScriptName );
00521
00540 PluginItem RegisterEvent( const CString& in_eventName, const siEventID in_eventID );
00541
00570 PluginItem RegisterTimerEvent( const CString& in_eventName,
00571 LONG in_nInterval,
00572 LONG in_nDelay=0 );
00573
00595 PluginItem RegisterConverterEvent( const CString& in_eventName,
00596 const siEventID in_eventID,
00597 const CString& in_eventExtension );
00598
00613 PluginItem RegisterOperator( const CString& in_name );
00614
00630 PluginItem RegisterRenderer( const CString& in_name );
00631
00646 PluginItem RegisterICENode( const ICENodeDef& in_nodedef );
00647
00658 PluginItem RegisterPrimitive( const CString& in_name );
00659
00667 PluginItem RegisterShaderLanguageParser( const CString& in_strParserName );
00668
00679 PluginItem RegisterShader( const CString& in_strShaderClassName, ULONG in_ulMajorVersion, ULONG in_ulMinorVersion );
00680
00696 PluginItem RegisterTool( const CString& in_name );
00697
00701 CString GetAuthor() const;
00702
00707 CString GetURL() const;
00708
00713 CString GetEmail() const;
00714
00722 CStatus GetVersion( LONG& out_major, LONG& out_minor ) const;
00723
00729 CString GetLanguage() const;
00730
00734 CString GetFilename() const;
00735
00740 CStatus PutAuthor( const CString& in_strName );
00741
00746 CStatus PutURL( const CString& in_strURL );
00747
00752 CStatus PutEmail( const CString& in_strEmail );
00753
00759 CStatus PutVersion( LONG in_major, LONG in_minor );
00760
00766 CStatus PutHelp( const CString& in_strHelp );
00767
00773 CStatus PutCategories( const CString& in_strCat );
00774
00788 CStatus PutUserData( const CValue& in_userdata ) ;
00789
00794 CValue GetUserData( ) const;
00795
00796 private:
00797 PluginRegistrar * operator&() const;
00798 PluginRegistrar * operator&();
00799 };
00800
00801 };
00802
00803 #endif // __XSIPluginRegistrar_H__