Esempio n. 1
0
        IEnumerator <ITask> OnConnectHandler(OnConnect onConnect)
        {
            if (onConnect.DriveControl == _driveControl)
            {
                UriBuilder builder = new UriBuilder(onConnect.Service);
                builder.Scheme = new Uri(ServiceInfo.Service).Scheme;

                ds.DirectoryPort port = ServiceForwarder <ds.DirectoryPort>(builder.Uri);
                ds.Get           get  = new ds.Get();

                port.Post(get);
                ServiceInfoType[] list = null;

                yield return(Arbiter.Choice(get.ResponsePort,
                                            delegate(ds.GetResponseType response)
                {
                    list = response.RecordList;
                },
                                            delegate(Fault fault)
                {
                    list = new ServiceInfoType[0];
                    LogError(fault);
                }
                                            ));

                WinFormsServicePort.FormInvoke(
                    delegate()
                {
                    _driveControl.ReplaceDirectoryList(list);
                }
                    );
            }
        }
Esempio n. 2
0
        IEnumerator<ITask> OnConnectHandler(OnConnect onConnect)
        {
            if (onConnect.DriveControl == _driveControl)
            {
                UriBuilder builder = new UriBuilder(onConnect.Service);
                builder.Scheme = new Uri(ServiceInfo.Service).Scheme;

                ds.DirectoryPort port = ServiceForwarder<ds.DirectoryPort>(builder.Uri);
                // TT Nov-2006 - Changed for new CTP
                // ds.Get get = new ds.Get(GetRequestType.Instance);
                ds.Get get = new ds.Get();

                port.Post(get);
                ServiceInfoType[] list = null;

                yield return Arbiter.Choice(get.ResponsePort,
                    delegate(ds.GetResponseType response)
                    {
                        list = response.RecordList;
                    },
                    delegate(Fault fault)
                    {
                        list = new ServiceInfoType[0];
                        LogError(fault);
                    }
                );

                WinFormsServicePort.FormInvoke(
                    delegate()
                    {
                        _driveControl.ReplaceDirectoryList(list);
                    }
                );
            }
        }