Add an ICoreService interface that interfaces such as IEmulator and IDebuggable inherit
This commit is contained in:
parent
ad1ca57163
commit
4582a88798
|
@ -61,6 +61,7 @@
|
|||
<Compile Include="Interfaces\CoreComms.cs" />
|
||||
<Compile Include="Interfaces\IController.cs" />
|
||||
<Compile Include="Interfaces\ICoreFileProvider.cs" />
|
||||
<Compile Include="Interfaces\ICoreService.cs" />
|
||||
<Compile Include="Interfaces\IDebuggable.cs" />
|
||||
<Compile Include="Interfaces\IEmulator.cs" />
|
||||
<Compile Include="Interfaces\IMemoryDomains.cs" />
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
namespace BizHawk.Emulation.Common
|
||||
{
|
||||
/// <summary>
|
||||
/// This interface specifies that an interface or implementation is a emulator core service, such as IDebuggable,
|
||||
/// but is an optional part of the core functionality
|
||||
/// Clients should gracefully handle an IEmulator that has a missing or partial implementation of one of these services
|
||||
/// </summary>
|
||||
public interface ICoreService
|
||||
{
|
||||
}
|
||||
}
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
namespace BizHawk.Emulation.Common
|
||||
{
|
||||
public interface IDebuggable : IEmulator
|
||||
public interface IDebuggable : IEmulator, ICoreService
|
||||
{
|
||||
/// <summary>
|
||||
/// Returns a list of Cpu registers and their current state
|
||||
|
|
|
@ -4,7 +4,7 @@ using System.IO;
|
|||
|
||||
namespace BizHawk.Emulation.Common
|
||||
{
|
||||
public interface IEmulator : IDisposable
|
||||
public interface IEmulator : ICoreService, IDisposable
|
||||
{
|
||||
/// <summary>
|
||||
/// Video provider to the client
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
namespace BizHawk.Emulation.Common
|
||||
{
|
||||
public interface IMemoryDomains : IEmulator
|
||||
public interface IMemoryDomains : IEmulator, ICoreService
|
||||
{
|
||||
///The list of all avaialble memory domains
|
||||
/// A memory domain is a byte array that respresents a distinct part of the emulated system.
|
||||
|
|
|
@ -87,7 +87,7 @@ namespace BizHawk.Emulation.Common
|
|||
}
|
||||
}
|
||||
|
||||
public interface ISettable<TSettings, TSync> : IEmulator
|
||||
public interface ISettable<TSettings, TSync> : IEmulator, ICoreService
|
||||
{
|
||||
// in addition to these methods, it's expected that the constructor or Load() method
|
||||
// will take a Settings and SyncSettings object to set the initial state of the core
|
||||
|
|
Loading…
Reference in New Issue