Пример #1
0
        public void OnStatusChanged(ConnectionState state, object param)
        {
            if (ConnectionStateChanged != null)
            {
                var args = new ConnectionStateEventArgs(state, param as Exception);

                ConnectionStateChanged(this, args);
            }
        }
Пример #2
0
 private void mRequestManager_ConnectionStateChanged(RequestManager sender, ConnectionStateEventArgs args)
 {
     this.OnConnectionStatusChanged(args.State, args.Exception);
 }
Пример #3
0
        private async void mRequestManager_ConnectionStateChanged(RequestManager sender, ConnectionStateEventArgs args)
        {
            if (mTreeView.InvokeRequired)
            {
                this.Invoke(new MethodInvoker(delegate { this.mRequestManager_ConnectionStateChanged(sender, args); }));
            }
            else
            {
                if (args.State == ConnectionState.OK)
                {
                    mTreeView.Nodes.Clear();

                    var rootFolder = (RemoteFolder)await RemoteObjectManager.GetRemoteObjectAsync("/");

                    var brokerNode = mTreeView.Nodes.Add("Broker");
                    brokerNode.Name = "Broker";
                    brokerNode.Tag  = rootFolder;

                    var children = await rootFolder.LoadChildrenAsync(mRequestManager);

                    if (children != null)
                    {
                        FillTree(brokerNode, children);
                    }

                    var servicesFolder = (RemoteFolder)await RemoteObjectManager.GetRemoteObjectAsync("/services");

                    var services = await servicesFolder.LoadChildrenAsync(mRequestManager);

                    var locationService = services.Where(x => x.Name == "locationManager").FirstOrDefault();
                    if (locationService != null)
                    {
                        var locationNode = mTreeView.Nodes.Add("locations");
                        locationNode.Tag = locationService;

                        RegisterNode(locationService, locationNode);
                    }
                }
                else if (args.State == ConnectionState.DISCONNECTED)
                {
                }
            }
        }