コード例 #1
0
        protected void fireEvent(NodeEventBase nodeEvent)
        {
            List <Client> subscribers = subscriptions;

            foreach (var client in subscribers)
            {
                try
                {
                    client.HandleNodeEvent(nodeEvent);
                }
                catch (Exception e)
                {
                    Console.Error.WriteLine(e.Message, e.StackTrace);
                }
            }
        }
コード例 #2
0
        public void HandleNodeEvent(NodeEventBase nodeEvent)
        {
            if (nodeEvent is NodeDataChangedEvent)
            {
                NodeDataChangedEvent nodeDataChanged = nodeEvent as NodeDataChangedEvent;

                this.Send(new NodeEvent()
                {
                    Type = nodeDataChanged.GetType().Name
                });

                this.Send(new NodeUpdate()
                {
                    Selector   = nodeDataChanged.Node.Path.ParentPath,
                    Properties = new List <NodeProperty> {
                        new NodeProperty()
                        {
                            Name = nodeDataChanged.Node.Path.ParentPath,
                            Data = nodeDataChanged.Node.GetDataAsUTF8String()
                        }
                    }
                });
            }
        }