public Device(ILogger loggerIn, IDeviceConnection deviceConnectionIn, IDeviceCommunication deviceCommunicationIn)
 {
     logger              = loggerIn;
     deviceConnection    = deviceConnectionIn;
     deviceCommunication = deviceCommunicationIn;
     deviceConnection.SetCallback(GetHost, SetDeviceState, OnReceiveMessage);
     deviceState      = DeviceState.NotConnected;
     discoveredDevice = new DiscoveredDevice();
 }
 public Device(IDeviceConnection deviceConnectionIn, IDeviceCommunication deviceCommunicationIn)
 {
     deviceConnection = deviceConnectionIn;
     deviceConnection.SetCallback(GetHost, SetDeviceState, OnReceiveMessage);
     deviceCommunication = deviceCommunicationIn;
     deviceCommunication.SetCallback(SetDeviceState, OnVolumeUpdate, deviceConnection.SendMessage, GetDeviceState, IsConnected, deviceConnection.IsConnected, GetHost);
     deviceState   = DeviceState.NotConnected;
     volumeSetting = new Volume
     {
         controlType  = "attenuation",
         level        = 0.0f,
         muted        = false,
         stepInterval = 0.05f
     };
 }
 public Device(ILogger loggerIn, IDeviceConnection deviceConnectionIn, IDeviceCommunication deviceCommunicationIn)
 {
     logger              = loggerIn;
     deviceConnection    = deviceConnectionIn;
     deviceCommunication = deviceCommunicationIn;
     deviceConnection.SetCallback(GetHost, GetPort, SetDeviceState, OnReceiveMessage);
     deviceState      = DeviceState.NotConnected;
     discoveredDevice = new DiscoveredDevice();
     volumeSetting    = new Volume
     {
         controlType  = "attenuation",
         level        = 0.0f,
         muted        = false,
         stepInterval = 0.05f
     };
 }