xsi_pluginregistrar.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 __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__