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
00655 PluginItem RegisterShaderLanguageParser( const CString& in_strParserName );
00656
00667 PluginItem RegisterShader( const CString& in_strShaderClassName, ULONG in_ulMajorVersion, ULONG in_ulMinorVersion );
00668
00684 PluginItem RegisterTool( const CString& in_name );
00685
00689 CString GetAuthor() const;
00690
00695 CString GetURL() const;
00696
00701 CString GetEmail() const;
00702
00710 CStatus GetVersion( LONG& out_major, LONG& out_minor ) const;
00711
00717 CString GetLanguage() const;
00718
00722 CString GetFilename() const;
00723
00728 CStatus PutAuthor( const CString& in_strName );
00729
00734 CStatus PutURL( const CString& in_strURL );
00735
00740 CStatus PutEmail( const CString& in_strEmail );
00741
00747 CStatus PutVersion( LONG in_major, LONG in_minor );
00748
00754 CStatus PutHelp( const CString& in_strHelp );
00755
00761 CStatus PutCategories( const CString& in_strCat );
00762
00776 CStatus PutUserData( const CValue& in_userdata ) ;
00777
00782 CValue GetUserData( ) const;
00783
00784 private:
00785 PluginRegistrar * operator&() const;
00786 PluginRegistrar * operator&();
00787 };
00788
00789 };
00790
00791 #endif // __XSIPluginRegistrar_H__