using Prism.Events;
namespace SHH.MjpegPlayer;
/// Prism 消息框架
public class PrismMsg
{
#region Defines
public IEventAggregator _ea;
private static PrismMsg? _instance = null;
#endregion
#region Constructor
/// 构造函数
private PrismMsg()
{
_ea = new EventAggregator();
}
#endregion
#region Instance
/// 获取实例信息
public static PrismMsg Instance
{
get
{
if (_instance == null)
_instance = new PrismMsg();
return _instance;
}
}
#endregion
#region Publish
/// 发送消息
public static void Publish(T msg)
{
if (Instance == null)
return;
dynamic? data = msg;
Instance._ea.GetEvent>().Publish(data);
}
#endregion
#region Subscribe
/// 订阅消息
public static void Subscribe(Action method)
{
if (Instance == null || Instance._ea == null)
return;
Instance._ea.GetEvent>().Subscribe(method);
}
#endregion
}