using System.Collections.ObjectModel; using Artemis.Core.ScriptingProviders; namespace Artemis.Core.Services { /// /// A service that allows you to manage various types of instances /// public interface IScriptingService : IArtemisService { /// /// Gets a list of all currently active global scripts /// ReadOnlyCollection GlobalScripts { get; } /// /// Creates a instance for the given /// /// The script configuration of the script /// /// If the was found an instance of the script; otherwise . /// GlobalScript? CreateScriptInstance(ScriptConfiguration scriptConfiguration); /// /// Creates a instance for the given /// /// The profile the script configuration is configured for /// The script configuration of the script /// /// If the was found an instance of the script; otherwise . /// ProfileScript? CreateScriptInstance(Profile profile, ScriptConfiguration scriptConfiguration); /// /// Deletes the provided global script by it's configuration /// void DeleteScript(ScriptConfiguration scriptConfiguration); } }