Example #1
0
        private void AddNewQueryTab()
        {
            using (NewConnection nc = new NewConnection())
            {
                if (nc.ShowDialog(this) != DialogResult.OK)
                {
                    return;
                }

                string msg = null;

                try
                {
                    ConnectionInfo info = nc.ConnectionInfo;
                    info.NotificationSubscriber = this;
                    info.Connect();

                    CreateQueryTab(info.Title, info);
                    objectExplorer.AddServer(new SwisMetaDataProvider(info), info);
                }
                catch (FaultException <InfoServiceFaultContract> ex)
                {
                    log.Error("Failed to connect", ex);
                    msg = ex.Detail.Message;
                }
                catch (SecurityNegotiationException ex)
                {
                    log.Error("Failed to connect", ex);
                    msg = ex.Message;
                }
                catch (FaultException ex)
                {
                    log.Error("Failed to connect", ex);
                    msg = (ex.InnerException != null) ? ex.InnerException.Message : ex.Message;
                }
                catch (MessageSecurityException ex)
                {
                    log.Error("Failed to connect", ex);
                    if (ex.InnerException != null && ex.InnerException is FaultException)
                    {
                        msg = (ex.InnerException as FaultException).Message;
                    }
                    else
                    {
                        msg = ex.Message;
                    }
                }
                catch (Exception ex)
                {
                    log.Error("Failed to connect", ex);
                    msg = ex.Message;
                }

                if (msg != null)
                {
                    msg = string.Format("Unable to connect to Information Service. {0}", msg);
                    MessageBox.Show(this, msg, "Connection Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
Example #2
0
        private ConnectionInfo ResolveExistingConnection(ConnectionInfo info)
        {
            ConnectionInfo found;
            bool           alreadyExists = serverList.TryGet(info.ServerType, info.Server, info.UserName, out found);

            if (alreadyExists)
            {
                return(found);
            }

            info.Connect();
            info.ConnectionClosed += (sender, args) => serverList.Remove(info);
            serverList.Add(info);
            return(info);
        }
Example #3
0
        public void RunPlayback()
        {
            try
            {
                ShowTabs(Tabs.Log);
                var openFileDialog1 = new OpenFileDialog
                {
                    InitialDirectory = "c:\\",
                    Filter           = "log files (*.log)|*.log|All files (*.*)|*.*",
                    DefaultExt       = "log",
                    FilterIndex      = 2,
                    RestoreDirectory = true
                };


                if (openFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    var pbi = new PlaybackItem()
                    {
                        FileName = openFileDialog1.FileName, MultiThread = false, QueryTab = this
                    };
                    ConnectionInfo info = ConnectionsManager.AskForNewConnection();
                    if (info == null)
                    {
                        return;
                    }

                    info.Connect();
                    pbi.ConnectionInfo = info;
                    PlaybackManager.StartPlayback(pbi);
                    logTextbox.Text = "Started Playback...\r\n";
                }
            }
            catch (Exception ex)
            {
                AppendLogTabLine("Error starting playback.\r\n");
                AppendLogTabLine(ex.ToString());
            }
        }