コード例 #1
0
ファイル: mainfrm.cs プロジェクト: tompipen/aubit4gl_code
        private AubitNetwork createNetworkConnection(string server, string username, string password, string app, string port, AubitDesktop.Xml.Protocol protocol)
        {
            string cmd;
            string param;

            //frmMainAppWindow appWindow;

            if (app.Contains(" "))
            {
                cmd   = app.Substring(0, app.IndexOf(' ') - 1);
                param = app.Substring(app.IndexOf(' ') + 1);
            }
            else
            {
                cmd   = app;
                param = "";
            }

            param = param.Replace("<APPLICATION>", app);
            cmd   = cmd.Replace("<APPLICATION>", app);
            param = param.Replace("<USER>", username);
            param = param.Replace("<PASSWORD>", password);
            param = param.Replace("<SERVER>", server);

            param = param.Replace("<IP>", LocalAddress);

            AubitNetwork networkConnection = new AubitNetwork(AubitNetwork.SocketStyle.SocketStyleLine);

            networkConnection.application = app;

            if (protocol.ListenMode && this.enableListeningModeToolStripMenuItem.Checked == false)
            {
                Program.Show("This protocol requires the client to be in 'Listening' mode - but that is currently disabled", "Can't start shortcut", MessageBoxButtons.OK, MessageBoxIcon.Hand);
                return(null);
            }
            try
            {
                if (protocol.ListenMode == false)
                {
                    // If we dont need listen mode - we need to open the connection already...
                    this.AppWin = new frmMainAppWindow();
                    this.AppWin.Show();
                    this.AppWin.setConnection(networkConnection);
                }



                if (protocol.Command.ToLower() == "internal")
                {
                    switch (protocol.Code)
                    {
                    case "SSH": // Calls back
                        networkConnection.NewConnection(server, port, username, password, app, "SSH", this.AppWin);
                        if (networkConnection.isConnected())
                        {
                            // It managed it!
                            networkConnection.Disconnect();
                        }
                        else
                        {
                            Program.Show("Unable to start remote application");
                        }
                        return(null);


                    case "SSHT":
                        networkConnection.NewConnection(server, port, username, password, app, "SSHT", this.AppWin);
                        if (networkConnection.isConnected())
                        {
                            AppWin.Show();
                        }
                        break;

                    case "RSH": // Calls back
                        Program.Show("Not implemented yet...");
                        break;

                    case "PROXY":
                        networkConnection.NewConnection(server, port, username, password, app, "PROXY", AppWin);

                        break;

                    case "LOCAL": // Calls back
                        System.Diagnostics.Process.Start(cmd, param);
                        return(null);
                    }
                }
            }
            catch (Exception ex)
            {
                Program.Show(ex.Message);
            }

            if (!networkConnection.isConnected())
            {
                return(null);
            }
            else
            {
                return(networkConnection);
            }
        }
コード例 #2
0
 private void frmMainAppWindow_FormClosed(object sender, FormClosedEventArgs e)
 {
     Program.saveWindowPosition(this.GetType().ToString() + stdNetworkConnection.application, this);
     stdNetworkConnection.Disconnect();
 }