2013-04-24 22:09:11 +00:00
|
|
|
|
using System;
|
2013-11-04 01:39:19 +00:00
|
|
|
|
|
|
|
|
|
namespace BizHawk.Emulation.Common
|
2011-06-11 22:15:08 +00:00
|
|
|
|
{
|
2016-12-12 19:14:01 +00:00
|
|
|
|
/// <summary>
|
2017-04-26 14:10:00 +00:00
|
|
|
|
/// This object facilitates communications between client and core
|
2016-12-12 19:14:01 +00:00
|
|
|
|
/// The primary use is to provide a client => core communication, such as providing client-side callbacks for a core to use
|
2017-04-27 16:43:19 +00:00
|
|
|
|
/// Any communications that can be described as purely a Core -> Client system, should be provided as an <seealso cref="IEmulatorService"/> instead
|
2020-03-15 15:12:20 +00:00
|
|
|
|
/// It is important that by design this class stay immutable
|
2016-12-12 19:14:01 +00:00
|
|
|
|
/// </summary>
|
2012-12-10 00:43:43 +00:00
|
|
|
|
public class CoreComm
|
2011-06-11 22:15:08 +00:00
|
|
|
|
{
|
2020-03-15 15:09:32 +00:00
|
|
|
|
public CoreComm(
|
|
|
|
|
Action<string> showMessage,
|
|
|
|
|
Action<string> notifyMessage,
|
|
|
|
|
ICoreFileProvider coreFileProvider)
|
2014-12-05 01:56:45 +00:00
|
|
|
|
{
|
2016-02-28 18:35:41 +00:00
|
|
|
|
ShowMessage = showMessage;
|
2017-04-24 12:41:55 +00:00
|
|
|
|
Notify = notifyMessage;
|
2020-03-15 15:09:32 +00:00
|
|
|
|
CoreFileProvider = coreFileProvider;
|
2014-12-05 01:56:45 +00:00
|
|
|
|
}
|
2013-04-24 22:09:11 +00:00
|
|
|
|
|
2020-03-15 15:09:32 +00:00
|
|
|
|
public ICoreFileProvider CoreFileProvider { get; }
|
2011-06-11 22:15:08 +00:00
|
|
|
|
|
2013-12-10 17:58:12 +00:00
|
|
|
|
/// <summary>
|
2017-04-27 16:43:19 +00:00
|
|
|
|
/// Gets a message to show. reasonably annoying (dialog box), shouldn't be used most of the time
|
2013-12-10 17:58:12 +00:00
|
|
|
|
/// </summary>
|
2019-10-29 18:59:08 +00:00
|
|
|
|
public Action<string> ShowMessage { get; }
|
2013-12-10 17:58:12 +00:00
|
|
|
|
|
2014-03-18 03:03:53 +00:00
|
|
|
|
/// <summary>
|
2017-04-27 16:43:19 +00:00
|
|
|
|
/// Gets a message to show. less annoying (OSD message). Should be used for ignorable helpful messages
|
2014-03-18 03:03:53 +00:00
|
|
|
|
/// </summary>
|
2019-10-29 18:59:08 +00:00
|
|
|
|
public Action<string> Notify { get; }
|
2011-06-11 22:15:08 +00:00
|
|
|
|
}
|
2012-03-11 06:50:46 +00:00
|
|
|
|
}
|