xsi_pluginregistrar.h Source File
 
 
 
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__