Difference between revisions of "WireCAD.IPluginCore"

From WireCAD Online Help
Jump to: navigation, search
Line 7: Line 7:
 
  namespace YourNameSpace
 
  namespace YourNameSpace
 
  {
 
  {
 
 
     public class YourPlugin : IPluginCore
 
     public class YourPlugin : IPluginCore
 
     {
 
     {
Line 31: Line 30:
 
             //init code goes here
 
             //init code goes here
 
         }
 
         }
 
 
 
         /// <summary>
 
         /// <summary>
 
         /// Unload code for your plugin
 
         /// Unload code for your plugin
Line 42: Line 39:
 
         }
 
         }
 
         #endregion
 
         #endregion
 +
 +
You can also include and number of methods that follow the method signature below.
 +
These can be called from the commandline if a Command has been registered that points to
 +
it. You can register a Command in code or through a *.wpi file.
  
 
         #region Static Methods
 
         #region Static Methods

Revision as of 20:56, 3 December 2016

WireCAD.IPluginCore

This interface must be implemented on any plugin used in WireCAD. The interface follows the form:


namespace YourNameSpace
{
    public class YourPlugin : IPluginCore
    {
       #region IPluginCore Members
       /// <summary>
       /// Called before plugin is loaded to make sure that this plugin
       /// has permission to run at this application mode level and
       /// for this person(Identity)
       /// </summary>
       /// <param name="ws">The Singleton Workspace object</param>
       /// <param name="id">Current user identity</param>
       /// <returns>should return true if the plug can load</returns>
       public bool HasPermissionToRun(IWorkspace ws, Identity id)
       {
           return true;
       }
       /// <summary>
       /// This is called when the plugin is loaded at application start
       /// </summary>
       /// <param name="ws">Singleton WireCAD Workspace object</param>
       public void Load(IWorkspace ws)
       {
           //init code goes here
       }
       /// <summary>
       /// Unload code for your plugin
       /// </summary>
       /// <param name="ws"></param>
       public void Unload(IWorkspace ws)
       {
           //here we place any code to unload our plugin.
       }
       #endregion

You can also include and number of methods that follow the method signature below. These can be called from the commandline if a Command has been registered that points to it. You can register a Command in code or through a *.wpi file.

       #region Static Methods
       /// <summary>
       /// Static method that can be called from the WireCAD command line
       /// </summary>
       /// <param name="ws">WireCAD is expecting to find this parameter</param>
       public static void MyFirstPluginMethod(Workspace ws)
       {
           //do your stuff here
       }
       #endregion
   }
}