/// <summary> /// Destructor. Disposes the object. /// </summary> /// <param name="disposing">true if called from Dispose()</param> private void Dispose(bool disposing) { if (!disposed) { if (m_state != null && m_state.ConnectionState != VPNConnectionState.Stopped) { Disconnect(); } if (disposing && m_ovpnMLogic != null) { m_ovpnMLogic.Dispose(); } m_logs = null; m_ovpnMLogic = null; disposed = true; } }
/// <summary> /// Initializes a new OVPN Object. /// </summary> /// <param name="host">Host to connect to which holds the management interface</param> /// <param name="port">Port to connect to</param> /// <param name="earlyLogEvent">Delegate to a event processor</param> /// <param name="earlyLogLevel">Log level</param> /// <param name="receiveOldLogs">Should old log lines be received?</param> /// <seealso cref="Logs"/> protected void Init(string host, int port, EventHandler <LogEventArgs> earlyLogEvent, int earlyLogLevel, bool receiveOldLogs) { this.Host = host; this.Port = port; m_state = new State(this); m_logs = new LogManager(this); m_logs.DebugLevel = earlyLogLevel; if (earlyLogEvent != null) { m_logs.LogEvent += earlyLogEvent; } m_ovpnMLogic = new ManagementLogic(this, host, port, m_logs, receiveOldLogs); m_state.ChangeState(VPNConnectionState.Stopped); }
/// <summary> /// Creates a new management parser. /// </summary> /// <param name="oc">reference to the network communicator</param> /// <param name="ol">reference to the management logic</param> internal ManagementParser(Communicator oc, ManagementLogic ol) { m_logic = ol; oc.gotLine += new UtilsHelper.Action <object, GotLineEventArgs>(oc_gotLine); }