public static void ChangeTunnelStatus(TunnelStatuses tunnelStatus, bool saveTunnelStatus = true)
        {
            TunnelHelper.CurrentTunnelStatus = tunnelStatus;
            ServiceSettings serviceSettings = SettingsHelper.GetSettings();

            if (saveTunnelStatus)
            {
                Settings settings = new Settings();
                settings.CurrentTunnelStatus = (int)tunnelStatus;
                settings.Save();
            }

            if (tunnelStatus == TunnelStatuses.Started)
            {
                WcfServerHelper.BroadcastRemoteCallback(x => x.EventToLog("Plink Starting", DateTime.Now), true);
                if (ProcessHelper.StartPlink())
                {
                    TunnelPingHelper.OpenTunnelPingListener();
                    WcfServerHelper.BroadcastRemoteCallback(x => x.EventToLog("Plink Started: " + ProcessHelper.GetPlinkArguments(serviceSettings), DateTime.Now), true);
                }
                else
                {
                    ChangeTunnelStatus(TunnelStatuses.Paused);
                }
            }
            else
            {
                WcfServerHelper.BroadcastRemoteCallback(x => x.EventToLog("Plink Stopping", DateTime.Now), true);
                TunnelPingHelper.CloseTunnelPingListener();
                ProcessHelper.StopPlink();
            }

            WcfServerHelper.BroadcastRemoteCallback(x => x.TunnelStatusChanged(tunnelStatus), true);
        }
        public static void ChangeTunnelStatus(TunnelStatuses tunnelStatus, bool saveTunnelStatus = true)
        {
            TunnelHelper.CurrentTunnelStatus = tunnelStatus;
            ServiceSettings serviceSettings = SettingsHelper.GetSettings();

            if (saveTunnelStatus)
            {
                Settings settings = new Settings();
                settings.CurrentTunnelStatus = (int)tunnelStatus;
                settings.Save();
            }

            if (tunnelStatus == TunnelStatuses.Started)
            {
                WcfServerHelper.BroadcastRemoteCallback(x => x.EventToLog("Plink Starting", DateTime.Now), true);
                if (ProcessHelper.StartPlink())
                {
                    TunnelPingHelper.OpenTunnelPingListener();
                    WcfServerHelper.BroadcastRemoteCallback(x => x.EventToLog("Plink Started: " + ProcessHelper.GetPlinkArguments(serviceSettings), DateTime.Now), true);
                }
                else
                {
                    ChangeTunnelStatus(TunnelStatuses.Paused);
                }
            }
            else
            {
                WcfServerHelper.BroadcastRemoteCallback(x => x.EventToLog("Plink Stopping", DateTime.Now), true);
                TunnelPingHelper.CloseTunnelPingListener();
                ProcessHelper.StopPlink();
            }

            WcfServerHelper.BroadcastRemoteCallback(x => x.TunnelStatusChanged(tunnelStatus), true);
        }
Example #3
0
 public void TunnelStatusChanged(TunnelStatuses tunnelStatus)
 {
     if (TunnelStatusChangedEvent != null)
     {
         TunnelStatusChangedEvent(this, tunnelStatus);
     }
 }
        private void ServiceRemotingCallback_TunnelStatusChangedEvent(object sender, TunnelStatuses tunnelStatus)
        {
            btnChangeTunnelStatus.Invoke(new MethodInvoker(() =>
            {
                if (tunnelStatus == TunnelStatuses.Started)
                {
                    btnChangeTunnelStatus.Image = Resources.control_pause_blue;
                    btnChangeTunnelStatus.Text  = "Stop Tunnel";
                }
                else if (tunnelStatus == TunnelStatuses.Paused)
                {
                    btnChangeTunnelStatus.Image = Resources.control_play_blue;
                    btnChangeTunnelStatus.Text  = "Start Tunnel";
                }

                btnChangeTunnelStatus.Enabled = true;
            }));
        }
        private void ServiceRemotingCallback_TunnelStatusChangedEvent(object sender, TunnelStatuses tunnelStatus)
        {
            btnChangeTunnelStatus.Invoke(new MethodInvoker(() =>
            {
                if (tunnelStatus == TunnelStatuses.Started)
                {
                    btnChangeTunnelStatus.Image = Resources.control_pause_blue;
                    btnChangeTunnelStatus.Text = "Stop Tunnel";
                }
                else if (tunnelStatus == TunnelStatuses.Paused)
                {
                    btnChangeTunnelStatus.Image = Resources.control_play_blue;
                    btnChangeTunnelStatus.Text = "Start Tunnel";
                }

                btnChangeTunnelStatus.Enabled = true;
            }));
        }
 public void TunnelStatusChanged(TunnelStatuses tunnelStatus)
 {
     if (TunnelStatusChangedEvent != null)
     {
         TunnelStatusChangedEvent(this, tunnelStatus);
     }
 }
 public void ChangeTunnelStatus(TunnelStatuses tunnelStatus)
 {
     TunnelHelper.ChangeTunnelStatus(tunnelStatus);
 }
Example #8
0
 public void ChangeTunnelStatus(TunnelStatuses tunnelStatus)
 {
     TunnelHelper.ChangeTunnelStatus(tunnelStatus);
 }