using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Tango.MachineStudio.Common.Modules { /// /// Represents a Machine Studio modules loading engine. /// public interface IStudioModuleLoader { /// /// Gets all loaded modules. /// ObservableCollection AllModules { get; } /// /// Gets all the user permitted modules. /// ObservableCollection UserModules { get; } /// /// Gets the studio module of type T if loaded. /// /// /// T GetStudioModule() where T : IStudioModule; /// /// Loads all available Machine Studio modules. /// void LoadModules(); } }