UnloadPlugin (XSIApplication)

Description

Unloads a self-installable plug-in from Softimage. All registered plug-in items are unregistered when a plug-in is unloaded; therefore you will not be able to use these items in Softimage until you reload the plug-in.

Unloaded plug-ins are still part of the XSIApplication.Plugins collection. They can be distinguished from other plug-ins by using the Plugin.Loaded property. An unloaded plug-in always has zero entries in its Plugin.Items collection.

Scripting Syntax

XSIApplication.UnloadPlugin( Plugin, bRemove )

C# Syntax

XSIApplication.UnloadPlugin( String in_pluginFileName, Boolean in_bRemove );

Parameters

Parameter

Type

Description

Plugin

String

The plug-in file name which includes the full path.

bRemove

Boolean

Option to completely remove the plug-in file from the list of plug-ins that Softimage maintains. This option does not remove the actual plug-in file from the disk, so the plug-in file may be reloaded the next time that Softimage is restarted.

Examples

JScript Example

//--------------------------------------------------------------------
// This example shows how to define and load a plug-in in Softimage
//
// README: Copy and paste the example into the script editor 
// and run (F5).
//--------------------------------------------------------------------
function ExUnLoadPluginDemo()
{
   // lookup installed plugin
   var oPlugin = Application.Plugins( "XSIApplication.UnLoadPlugin Example" );

   // manually unload plugin
   Application.UnloadPlugin( oPlugin.FileName );

   // The above script logs the following results:
   //INFO : XSIUnloadPlugin called"
   //INFO :   Name: XSIApplication.UnLoadPlugin Example"
   //INFO :  Author: Softimage Co.
   //INFO :  Major: 1
   //INFO :  Minor: 0
   //INFO :  Language: JScript
   //INFO :  Filename: [userpath]\Addons\XSISDKDocExamples\Application\Plugins\ExXSIApplicationUnLoadPlugin.js
   //INFO :  URL: www.softimage.com
   //INFO :  Email: xsi@softimage.com
   //INFO :  Help: 
   //INFO :  OriginPath: [userpath]\Addons\XSISDKDocExamples\Application\Plugins\
   //INFO :  Categories: Doc Example
   //INFO : Loaded: True
}

function  XSILoadPlugin( in_reg )
{
   in_reg.Name = "XSIApplication.UnLoadPlugin Example";
   in_reg.Author = "Softimage Co."; 
   in_reg.Major = 1;
   in_reg.Minor = 0;
   in_reg.URL = "www.softimage.com"; 
   in_reg.Email = "xsi@softimage.com"; 
   in_reg.Categories = "Doc Example"; 

   return true;
} 

function  XSIUnloadPlugin( in_reg )
{
   Application.LogMessage( "XSIUnloadPlugin called" );
   Application.LogMessage( "\tName: " + in_reg.Name );
   Application.LogMessage( "\tAuthor: " + in_reg.Author);
   Application.LogMessage( "\tMajor: " + in_reg.Major);
   Application.LogMessage( "\tMinor: " + in_reg.Minor);
   Application.LogMessage( "\tLanguage: " + in_reg.Language);
   Application.LogMessage( "\tURL: " + in_reg.URL);
   Application.LogMessage( "\tEmail: " + in_reg.Email);
   Application.LogMessage( "\tHelp: " + in_reg.Help);
   Application.LogMessage( "\tOriginPath: " + in_reg.OriginPath);
   Application.LogMessage( "\tCategories: " + in_reg.Categories);
}

//--------------------------------------------------------------------
// Code to bootstrap example into system
//--------------------------------------------------------------------
function ExampleSourceCode()
{
   return "// XSISDK Doc Example\n" +
       XSIUnloadPlugin.toString() + "\n" +
       XSILoadPlugin.toString();
}

// if we are running from script editor save code to 
// examples addon folder in the user's directory.
if (GetUserPref("ScriptingSessionActive"))
{
   var ex_name  = "ExXSIApplicationUnLoadPlugin";
   var ex_subfolder  = "Plugins";
   var ex_folder  = "XSISDKDocExamples";
   var ex_langsuffix = ".js";

   CreateAddonDirectories( InstallationPath(siUserPath), ex_folder );

   var fso = XSIFactory.CreateActiveXObject("Scripting.FileSystemObject");

   var filename = XSIUtils.BuildPath( 
       InstallationPath(siUserAddonPath), 
       ex_folder,
       "Application",
       ex_subfolder,
       ex_name+ex_langsuffix );

   if (!fso.FileExists(filename))
   {
       var f = fso.CreateTextFile ( filename );
       f.write( ExampleSourceCode() );
       f.close();

       Application.LoadPlugin(filename);
   }

   ExUnLoadPluginDemo();
}

See Also

XSIApplication.LoadPlugin

XSIApplication.Plugins

Plugin

Plugin.Loaded



Autodesk Softimage v7.5