Exemplo n.º 1
0
 private void send_Disconnected()
 {
     if (Operators.ConditionalCompareObjectEqual(NewLateBinding.LateGet(this.GlobalOBJ, (Type)null, "InvokeRequired", new object[0], (string[])null, (Type[])null, (bool[])null), (object)true, false))
     {
         NewLateBinding.LateCall(this.GlobalOBJ, (Type)null, "BeginInvoke", new object[2]
         {
             (object)new RasDialUC.d_Disconnected(this.send_Disconnected),
             (object)new object[0]
         }, (string[])null, (Type[])null, (bool[])null, true);
     }
     else
     {
         if (!Information.IsNothing((object)this.tmrMonitorDisconnect))
         {
             this.tmrMonitorDisconnect.Stop();
             this.tmrMonitorDisconnect.Dispose();
             this.tmrMonitorDisconnect = (Timer)null;
         }
         this.MonitorDisconnect = RasDialUC.myMonitorDisconnect.DisconnectOK;
         RasDialUC.DisconnectedEventHandler disconnectedEvent = this.DisconnectedEvent;
         if (disconnectedEvent == null)
         {
             return;
         }
         disconnectedEvent();
     }
 }
Exemplo n.º 2
0
        public void Close()
        {
            if (Operators.ConditionalCompareObjectEqual(NewLateBinding.LateGet(this.GlobalOBJ, (Type)null, "InvokeRequired", new object[0], (string[])null, (Type[])null, (bool[])null), (object)true, false))
            {
                NewLateBinding.LateCall(this.GlobalOBJ, (Type)null, "BeginInvoke", new object[2]
                {
                    (object)new RasDialUC.d_Close(this.Close),
                    (object)new object[0]
                }, (string[])null, (Type[])null, (bool[])null, true);
            }
            else
            {
                this.MonitorDisconnect = RasDialUC.myMonitorDisconnect.StartDisconnect;
                if (!Information.IsNothing((object)this.tmrMonitorDisconnect))
                {
                    this.tmrMonitorDisconnect.Stop();
                    this.tmrMonitorDisconnect.Elapsed -= new ElapsedEventHandler(this.tmrMonitorDisconnect_Elapsed);
                    this.tmrMonitorDisconnect          = (Timer)null;
                }
                if (MyProject.Forms.frmMain_RasDialex.AutoConnectRasDial)
                {
                    this.tmrMonitorDisconnect           = new Timer();
                    this.tmrMonitorDisconnect.AutoReset = false;
                    this.tmrMonitorDisconnect.Elapsed  += new ElapsedEventHandler(this.tmrMonitorDisconnect_Elapsed);
                    this.tmrMonitorDisconnect.Interval  = 15000.0;
                    this.tmrMonitorDisconnect.Start();
                }
                switch (this.VPN_Reboot_Method)
                {
                case 0:
                    if (!this.OptionsOK)
                    {
                        this.ErrorSend(100040);
                        break;
                    }
                    if (this.GetStatus() == 0)
                    {
                        this.send_Disconnected();
                        break;
                    }
                    if (this.MainHeader == IntPtr.Zero)
                    {
                        this.send_Disconnected();
                        break;
                    }
                    int num = RasDialUC.RasHangUp(this.MainHeader);
                    if (num == 0)
                    {
                        break;
                    }
                    this.ErrorSend(checked (num + 70000));
                    break;

                case 1:
                    try
                    {
                        string  str1    = Environment.GetFolderPath(Environment.SpecialFolder.System) + "\\rasdial.exe";
                        Process process = new Process();
                        process.StartInfo.FileName = str1;
                        string str2 = Strings.Trim(MyProject.Forms.frmMain_RasDialex.txtEntryName.Text) + " /disconnect";
                        process.StartInfo.Arguments   = str2;
                        process.StartInfo.WindowStyle = !MyProject.Forms.frmMain_RasDialex.VisibleCMD ? ProcessWindowStyle.Hidden : ProcessWindowStyle.Normal;
                        process.Start();
                        _FUNCTION.clsTXT fn    = _FUNCTION.FN;
                        string           sText = str1 + " " + str2;
                        fn.TXT(ref sText);
                        break;
                    }
                    catch (Exception ex)
                    {
                        ProjectData.SetProjectError(ex);
                        Exception        exception = ex;
                        _FUNCTION.clsTXT fn        = _FUNCTION.FN;
                        string           sText     = "RasDialEx Error: " + exception.Message;
                        fn.TXT(ref sText);
                        ProjectData.ClearProjectError();
                        break;
                    }

                case 2:
                    try
                    {
                        string externalProgram = MyProject.Forms.frmMain_RasDialex.ExternalProgram;
                        new Process()
                        {
                            StartInfo =
                            {
                                FileName    = externalProgram,
                                Arguments   = MyProject.Forms.frmMain_RasDialex.ExternalProgram_ParamDisconnect,
                                WindowStyle = (!MyProject.Forms.frmMain_RasDialex.VisibleCMD ? ProcessWindowStyle.Hidden : ProcessWindowStyle.Normal)
                            }
                        }.Start();
                        _FUNCTION.clsTXT fn    = _FUNCTION.FN;
                        string           sText = externalProgram + " " + MyProject.Forms.frmMain_RasDialex.ExternalProgram_ParamDisconnect;
                        fn.TXT(ref sText);
                        break;
                    }
                    catch (Exception ex)
                    {
                        ProjectData.SetProjectError(ex);
                        Exception        exception = ex;
                        _FUNCTION.clsTXT fn        = _FUNCTION.FN;
                        string           sText     = "RasDialEx Error: " + exception.Message;
                        fn.TXT(ref sText);
                        ProjectData.ClearProjectError();
                        break;
                    }
                }
            }
        }