using System; using System.Collections.Generic; namespace BizHawk.Emulation.Common { public interface IEmulatorServiceProvider { /// /// Returns whether or not T is available /// bool HasService() where T : IEmulatorService; /// /// Returns whether or not t is available /// bool HasService(Type t); /// /// Returns an instance of T if T is available /// Else returns null /// T GetService() where T : IEmulatorService; /// /// Returns an instance of t if t is available /// Else returns null /// object GetService(Type t); /// /// A list of all cuurently registered services available to be called /// IEnumerable AvailableServices { get; } } }