Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 /*
  * 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);
         });
     }
 }