using Firebird2D.Datatypes; using Firebird2D.DataypesAndInterfaces.Datatypes; using Firebird2D.Interfaces; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Firebird2D.Interfaces { public interface IEventBus { public void OnPipelineIsBuild(Action callback, FirebirdEventId firebirdEvent); public IPipeline GetOrBuildPipeline(FirebirdEventId type, object master) where T : EventArgs; public IPipelineBase? GetPipeline(FirebirdEventId type); public void DestroyPipeline(FirebirdEventId type, object master); public FirebirdEventId ReserveFreePipeline(); public FirebirdEventId[] ReserveFreePipelines(int numberOfPipelines); public void CancleReservationOnPipeline(FirebirdEventId PipelineKey); } }