public bool Publish(string msg, object token) { if (_MsgTokens == null) { _MsgTokens = new Dictionary <string, object>(); } object oldToken; if (_MsgTokens.TryGetValue(msg, out oldToken)) { if (oldToken != token) { Error("Invalid Token: {0}: {1} -> {2}", msg, oldToken, token); return(false); } } else { _MsgTokens[msg] = token; } if (_MsgSubs != null) { _MsgSubs.Publish(msg, (IBusSub sub) => { sub.OnMsg(this, msg); }); } return(true); }
/* * should only be called by Env.cs */ public static void _PublishByEnv(Env env, string msg) { if (_MsgSubs != null) { _MsgSubs.Publish(msg, (IEnvBusSub sub) => { sub.OnMsg(env, msg); }); } }