protected void DoCallOpen() { if (BeforeOpen != null) { BeforeOpen(this); } DoOpen(); if (AfterOpen != null) { AfterOpen(this); } ConnectionRegister.ChangedConnection(this); }
protected void DoCallClose(bool setBreakFlag) { if (setBreakFlag) { m_breakStarted = true; } if (BeforeClose != null) { BeforeClose(this); } DoClose(); if (AfterClose != null) { AfterClose(this); } if (setBreakFlag) { m_breakFlag = true; } ConnectionRegister.ChangedConnection(this); }
void ReloadConnections() { lsvConnections.BeginUpdate(); lsvConnections.ListViewItemSorter = null; m_plannedReload = false; var groups = new List <string>(); IPhysicalConnection selected = SelectedConnection; lsvConnections.Items.Clear(); ListViewItem selitem = null; foreach (var conn in ConnectionRegister.GetConnections()) { if (!conn.WasUsed) { continue; } if (cbxType.SelectedIndex == 1 && !conn.IsOpened) { continue; } if (!groups.Contains(conn.GetConnKey())) { groups.Add(conn.GetConnKey()); } var item = lsvConnections.Items.Add(conn.ToString()); item.SubItems.Add(conn.IsOpened ? "Opened" : "Closed"); if (conn.Owner != null) { item.SubItems.Add(conn.Owner.ToString()); } else { item.SubItems.Add(""); } if (conn.StoredConnection != null && conn.StoredConnection.FileName != null) { item.SubItems.Add(IOTool.RelativePathTo(Core.DataDirectory, conn.StoredConnection.FileName)); } else { item.SubItems.Add(""); } if (conn.Dialect != null) { item.SubItems.Add(conn.Dialect.ToString()); } else { item.SubItems.Add(""); } item.SubItems.Add((groups.IndexOf(conn.GetConnKey()) + 1).ToString()); item.Tag = conn; if (selected == conn) { item.Selected = true; item.Focused = true; selitem = item; } var state = conn.GetExtendedState(); item.SubItems.Add(state.QueueLength.ToString()); item.SubItems.Add(state.ProcessedOkQElements.ToString()); item.SubItems.Add(state.ProcessedFailQElements.ToString()); } if (selitem != null) { lsvConnections.EnsureVisible(selitem.Index); } lsvConnections.EndUpdate(); }
public virtual void Dispose() { CloseResources(); ConnectionRegister.RemoveConnection(this); }
protected PhysicalConnectionBase(IPhysicalConnectionFactory factory) { Cache = new ConnectionCache(); PhysicalFactory = factory; ConnectionRegister.AddConnection(this); }