DynamoVisualProgramming.ZeroTouchLibrary by Autodesk

<PackageReference Include="DynamoVisualProgramming.ZeroTouchLibrary" Version="3.2.0-beta5060" />

 Application

using Autodesk.DesignScript.Geometry.Properties; using Autodesk.DesignScript.Interfaces; using Autodesk.DesignScript.Runtime; using System; using System.Collections.Generic; namespace Autodesk.DesignScript.Geometry { [SupressImportIntoVM] public class Application : IExtensionApplication { private static Application mInstance; private List<IDisposable> mToBeDisposedObjects = new List<IDisposable>(); private IExecutionSession mSession; internal IExecutionSession Session => mSession; public static Application Instance { get { if (mInstance == null) mInstance = new Application(); return mInstance; } } public bool IsExecuting => mSession != null; private Application() { mInstance = this; } void IExtensionApplication.OnBeginExecution(IExecutionSession session) { mSession = session; if (HostFactory.Instance != null && !HostFactory.ExtensionApplicationStarted) { foreach (IExtensionApplication extensionApplication in HostFactory.ExtensionApplications) { extensionApplication?.OnBeginExecution(session); } HostFactory.ExtensionApplicationStarted = true; } GeometrySettings.Reset(); GeometrySettings.RootModulePath = session.Configuration.RootModulePath; } void IExtensionApplication.OnEndExecution(IExecutionSession session) { if (HostFactory.Instance != null && HostFactory.ExtensionApplicationStarted) { foreach (IExtensionApplication extensionApplication in HostFactory.ExtensionApplications) { extensionApplication?.OnEndExecution(session); } HostFactory.ExtensionApplicationStarted = false; } if (mSession != null && mSession != session) throw new InvalidOperationException(Resources.SessionMismatchException); IDisposable[] array = null; lock (mToBeDisposedObjects) { array = mToBeDisposedObjects.ToArray(); mToBeDisposedObjects.Clear(); } IDisposable[] array2 = array; foreach (IDisposable disposable in array2) { disposable.Dispose(); } mSession = null; } void IExtensionApplication.OnSuspendExecution(IExecutionSession session) { } void IExtensionApplication.OnResumeExecution(IExecutionSession session) { } public void StartUp(ExtensionStartupParams extParams) { } [Obsolete("This method is deprecated and will be removed in a future version of Dynamo. Please use StartUp with ExtensionStartupParams argument instead.")] public void StartUp() { } public void ShutDown() { } public void PreloadAsmLibraries(string baseDirectory) { } } }