using BPASmartClient.MessageCommunication.MsgControl;
using System;
namespace BPASmartClient.MessageCommunication
{
///
/// 该类实现客户端构件间消息的传递,底层使用整编的构件消息API
/// 创建人:奉友福
/// 创建时间:2022-04-18
/// Class_InnerMessageBus.GetInstance().ListenMessage(this, MessageName.xxname, "xxnameHandler");
/// Class_InnerMessageBus.GetInstance().PostMessage(this, MessageName.xxname, "12321");
/// public void xxnameHandler(object sender, InnerMessageEventArgs e) { }
///
public class Class_InnerMessageBus
{
public static Class_InnerMessageBus _MessageBus = null;
static InnerMessageBus Bus = null;
public static Class_InnerMessageBus GetInstance()
{
if (_MessageBus == null)
{
_MessageBus = new Class_InnerMessageBus();
Bus = new InnerMessageBus();
}
return _MessageBus;
}
///
/// 监听消息方法
///
/// 订阅消息构件
/// 消息名称
/// 接收消息后回调处理函数 注意:该函数必须为Public
public void ListenMessage(object sender,string str_MessageString,string str_MessageName)
{
Bus.ListenMessage(sender,str_MessageString,str_MessageName);
}
///
/// 消息发送函数
///
/// 发送消息构件
/// 消息名称
/// 消息体
public void PostMessage(object sender,string str_Msg,object obj_Data)
{
Bus.PostMessage(sender,str_Msg,obj_Data);
}
///
/// 移除消息方法
///
/// 消息名称
/// 接收消息后回调处理函数
public void RemoveMessage(string str_MessageString,string str_MessageName)
{
Bus.ListenMessage_trunOff(str_MessageString,str_MessageName);
}
public int GetdRountCount()
{
return Bus.__Debug_RoutTable.Count;
}
}
}