public bool Reply(ReceiveMessage message, out BaseSendMessage replyMessage) { IMessageReplyEngine subEngine = fEngineList[(int)message.MsgType]; RuleAttribute attr = subEngine.Match(message); if (attr != null) { if (attr == RuleAttribute.Empty) { replyMessage = null; } else { IRule reply = PlugInFactoryManager.CreateInstance <IRule>( RulePlugInFactory.REG_NAME, attr.RegName).Convert <IRule>(); replyMessage = reply.Reply(message); } return(true); } else { replyMessage = null; return(false); } }
public void Add(RuleAttribute attr) { IMessageReplyEngine subEngine = fEngineList[(int)attr.MsgType]; subEngine.Add(attr); }