internal C8oProgress(C8oProgress progress) { continuous = progress.continuous; finished = progress.finished; pull = progress.pull; current = progress.current; total = progress.total; status = progress.status; taskInfo = progress.taskInfo; raw = progress.raw; }
internal void OnProgress(C8oProgress progress) { if (!c8oProgress.Equals(default(KeyValuePair <C8oOnProgress, bool>))) { if (c8oProgress.Value) { var locker = new object(); lock (locker) { c8o.RunUI(() => { lock (locker) { try { c8oProgress.Key.Invoke(progress); } catch (Exception e) { OnFailure(e, new Dictionary <string, object>() { { C8o.ENGINE_PARAMETER_PROGRESS, progress } }); } finally { Monitor.Pulse(locker); } } }); Monitor.Wait(locker); } } else { c8oProgress.Key.Invoke(progress); } } else if (nextPromise != null) { nextPromise.OnProgress(progress); } }