/// <summary>
        /// Connection manager for Bluetooth devices
        /// </summary>
        public BluetoothConnectionManager(BluetoothTransport bluetoothTransport, CmdMessenger cmdMessenger, int watchdogCommandId = 0, string uniqueDeviceId = null, IBluetoothConnectionStorer bluetoothConnectionStorer = null) :
            base(cmdMessenger, watchdogCommandId, uniqueDeviceId)
        {
            if (bluetoothTransport == null) 
                throw new ArgumentNullException("bluetoothTransport", "Transport is null.");

            _bluetoothTransport = bluetoothTransport;

            _bluetoothConnectionManagerSettings = new BluetoothConnectionManagerSettings();
            _bluetoothConnectionStorer = bluetoothConnectionStorer;
            PersistentSettings = (_bluetoothConnectionStorer != null);
            ReadSettings();

            _deviceList = new List<BluetoothDeviceInfo>();
            _prevDeviceList = new List<BluetoothDeviceInfo>();

            DevicePins = new Dictionary<string, string>();
            GeneralPins = new List<string>();
        }
        /// <summary>
        /// Connection manager for Bluetooth devices
        /// </summary>
        public BluetoothConnectionManager(BluetoothTransport bluetoothTransport, CmdMessenger cmdMessenger, int watchdogCommandId = 0, string uniqueDeviceId = null, IBluetoothConnectionStorer bluetoothConnectionStorer = null) :
            base(cmdMessenger, watchdogCommandId, uniqueDeviceId)
        {
            if (bluetoothTransport == null)
            {
                throw new ArgumentNullException("bluetoothTransport", "Transport is null.");
            }

            _bluetoothTransport = bluetoothTransport;

            _bluetoothConnectionManagerSettings = new BluetoothConnectionManagerSettings();
            _bluetoothConnectionStorer          = bluetoothConnectionStorer;
            PersistentSettings = (_bluetoothConnectionStorer != null);
            ReadSettings();

            _deviceList     = new List <BluetoothDeviceInfo>();
            _prevDeviceList = new List <BluetoothDeviceInfo>();

            DevicePins  = new Dictionary <string, string>();
            GeneralPins = new List <string>();
        }