コード例 #1
0
        private void DisconnectFromInterface(bool showDialog)
        {
            _targetConnectionState = ConnectionState.Disconnected;

            // Do the disconnection on a separate thread
            GenericAsyncTask task = new GenericAsyncTask();

            if (showDialog)
            {
                InitializeDisconnectingDialog();
                _disconnectingDialog.Show();


                task.ExecutionFinished += delegate
                {
                    _disconnectingDialog.Dismiss();
                    Finish();
                };
            }


            task.Execute(() =>
            {
                if (_targetConnectionState == ConnectionState.Disconnected)
                {
                    if (FtInterfaceInstanceProvider.Instance != null &&
                        FtInterfaceInstanceProvider.Instance.CanSendCommand())
                    {
                        // Stop the online mode and disconnect
                        FtInterfaceInstanceProvider.Instance.StopOnlineMode();
                        FtInterfaceInstanceProvider.Instance.Disconnect();

                        // Cleanup the instance
                        FtInterfaceInstanceProvider.Instance.Dispose();
                        FtInterfaceInstanceProvider.Instance = null;
                    }
                }
            });
        }
コード例 #2
0
        private void ConnectToFtInterface()
        {
            if (FtInterfaceInstanceProvider.Instance.Connection == ConnectionStatus.NotConnected)
            {
                _targetConnectionState = ConnectionState.Connected;


                // Show the connecting dialog
                InitializeConnectingDialog();
                _connectingDialog.Show();

                // The connecting process is done on a separate thread
                GenericAsyncTask task = new GenericAsyncTask();
                task.Execute(() =>
                {
                    if (_targetConnectionState == ConnectionState.Connected)
                    {
                        FtInterfaceInstanceProvider.Instance?.Connect(FtInterfaceInstanceProvider.Ip);
                        FtInterfaceInstanceProvider.Instance?.StartOnlineMode();
                    }
                });
            }
        }