protected void DownloadCallback(IntPtr reference, int deviceId, OmApi.OM_DOWNLOAD_STATUS status, int value) { lock (cacheProgressValue) { // HACK: Only update if the percentage value changes if (cacheProgressValue.ContainsKey(deviceId)) { if (status != OmApi.OM_DOWNLOAD_STATUS.OM_DOWNLOAD_PROGRESS) { cacheProgressValue.Remove(deviceId); // Remove } else { if (cacheProgressValue[deviceId] == value) { return; // Ignore same percentage value } else { cacheProgressValue[deviceId] = value; // Update } } } } //Console.WriteLine("" + status + " - " + deviceId); OmDevice device = GetDevice((uint)deviceId); if (device == null) { return; } device.UpdateDownloadStatus(status, value); }
public void UpdateDownloadStatus(OmApi.OM_DOWNLOAD_STATUS status, int value) { downloadStatus = status; downloadValue = value; hasChanged = true; om.OnChanged(new OmDeviceEventArgs(this, status)); }
internal void SetConnected(bool value) { if (connected != value) { connected = value; validData = false; ledColor = OmApi.OM_LED_STATE.OM_LED_UNKNOWN; downloadStatus = OmApi.OM_DOWNLOAD_STATUS.OM_DOWNLOAD_NONE; downloadValue = 0; } }
internal void SetConnected(bool value) { if (connected != value) { connected = value; validData = false; ledColor = OmApi.OM_LED_STATE.OM_LED_UNKNOWN; downloadStatus = OmApi.OM_DOWNLOAD_STATUS.OM_DOWNLOAD_NONE; downloadValue = 0; deviceWarning = 0; // reset lastUpdate = DateTime.MinValue; } }
public OmDeviceEventArgs(OmDevice device, OmApi.OM_DOWNLOAD_STATUS downloadStatus) : this(device) { DownloadStatus = downloadStatus; }