Beispiel #1
0
        private void HandleNodeMessageEvent(string nodeLine)
        {
            var    b           = (object[])fastJSON.JSON.Instance.ToObject(nodeLine);
            string messageType = (string)b[0];

            if (messageType == "app.displayCriticalError")
            {
                var arg = (Dictionary <string, object>)b[1];

                var title  = (string)arg["title"];
                var text   = (string)arg["text"];
                var url    = (string)arg["url"];
                var button = (string)arg["button"];

                MessageBox.Show(text, title, MessageBoxButton.OK, MessageBoxImage.Error);
                App.Current.Shutdown();
            }
            else if (messageType == "rpc")
            {
                var arg = (Dictionary <string, object>)b[1];

                ObjectRPC.PayloadDelegate reply = null;
                if (b.Length > 2)
                {
                    string callback = (string)b[2];
                    reply = (payload => SendCommand(callback, payload));
                }

                rpcRoot.ProcessIncomingUpdate(arg, reply);
            }
        }