Add an empty ICodeDataLogger emulator service, make it a required service for CDL.cs

This commit is contained in:
adelikat 2015-10-27 19:03:56 -04:00
parent 17f73dc360
commit 400e4f4800
4 changed files with 25 additions and 0 deletions

View File

@ -44,6 +44,9 @@ namespace BizHawk.Client.EmuHawk
[RequiredService]
private IMemoryDomains MemoryDomains { get; set; }
[RequiredService]
private ICodeDataLogger CodeDataLogger { get; set; }
private string _currentFileName = string.Empty;
public CDL()

View File

@ -73,6 +73,7 @@
<Compile Include="EmulationExceptions.cs" />
<Compile Include="Enums.cs" />
<Compile Include="Extensions.cs" />
<Compile Include="Interfaces\ICodeDataLogger.cs" />
<Compile Include="Interfaces\IController.cs" />
<Compile Include="Interfaces\ICoreFileProvider.cs" />
<Compile Include="Interfaces\IDebuggable.cs" />

View File

@ -240,6 +240,21 @@ namespace BizHawk.Emulation.Common.IEmulatorExtensions
return (IRegionable)core.ServiceProvider.GetService<IRegionable>();
}
public static bool CanDataLog(this IEmulator core)
{
if (core == null)
{
return false;
}
return core.ServiceProvider.HasService<ICodeDataLogger>();
}
public static ICodeDataLogger AsCodeDataLogger(this IEmulator core)
{
return core.ServiceProvider.GetService<ICodeDataLogger>();
}
// TODO: a better place for these
public static bool IsImplemented(this MethodInfo info)
{

View File

@ -0,0 +1,6 @@
namespace BizHawk.Emulation.Common
{
public interface ICodeDataLogger : IEmulatorService
{
}
}