///// <summary> ///// Finalizes an instance of the <see cref="CSiPlugin"/> class. ///// </summary> //~CSiPlugin() //{ // Finish(_errorFlag); //} #endregion #region Methods: Public /// <summary> /// It is OK for cPlugin.Main to return before the actual work is completed (e.g., return after displaying a form where the functionality implemented in the plugin can be accessed through different command buttons). <para /> /// However, it is imperative to remember to call cPluginCallback.Finish to return the control back to ETABS when the plugin is ready to close. <para /> /// If you want to provide multiple functionality in your plugin, you can provide options for the user when subroutine Main is called. <para /> /// Options for the user to obtain information about the product, developer, technical support, and help should be provided.<para /> /// Support for your plugin will not be provided by Computers and Structures, Inc.<para /> /// As currently implemented, the cPlugin object will be destroyed between invocations from the ETABS Tools menu command that calls it, so data cannot be saved. /// </summary> /// <param name="sapModel">The application model to conduct API calls on.</param> /// <param name="pluginCallback">The plugin callback.</param> public abstract void Main(ref CSiProgram.cSapModel sapModel, ref CSiProgram.cPluginCallback pluginCallback);
/// <summary> /// Initializes a new instance of the <see cref="PluginCallback" /> class. /// </summary> /// <param name="sapPlugin">The callback function used by the plugin to interact with the application.</param> public PluginCallback(CSiProgram.cPluginCallback sapPlugin) { _pluginCallback = sapPlugin; }