/// <summary> /// Updates the event flags. /// </summary> /// <param name="isCreating">if set to <c>true</c> is creating.</param> /// <param name="isUpdating">if set to <c>true</c> is updating.</param> /// <param name="isReleasing">if set to <c>true</c> is releasing.</param> /// <param name="isDownloading">if set to <c>true</c> is downloading.</param> /// <param name="isLoaded">if set to <c>true</c> is loaded.</param> /// <param name="isCanceled">if set to <c>true</c> is canceled.</param> /// <param name="isTimeout">if set to <c>true</c> has timed-out.</param> /// <param name="isError">if set to <c>true</c> has errored.</param> public void UpdateEvent(bool isCreating, bool isUpdating, bool isReleasing, bool isDownloading, bool isLoaded, bool isCanceled, bool isTimeout, bool isError) { // Directional Event Flags if (isCreating) _eventFlags |= EventFlagType.Creating; else _eventFlags &= ~EventFlagType.Creating; if (isUpdating) _eventFlags |= EventFlagType.Updating; else _eventFlags &= ~EventFlagType.Updating; if (isReleasing) _eventFlags |= EventFlagType.Releasing; else _eventFlags &= ~EventFlagType.Releasing; if (isDownloading) _eventFlags |= EventFlagType.Downloading; else _eventFlags &= ~EventFlagType.Downloading; // Non-Directional Event Flags if (isLoaded) _eventFlags |= EventFlagType.Loaded; else _eventFlags &= ~EventFlagType.Loaded; if (isCanceled) _eventFlags |= EventFlagType.Canceled; else _eventFlags &= ~EventFlagType.Canceled; if (isTimeout) _eventFlags |= EventFlagType.Timeout; else _eventFlags &= ~EventFlagType.Timeout; if (isError) _eventFlags |= EventFlagType.Error; else _eventFlags &= ~EventFlagType.Error; }
/// <summary> /// Sets the event flag to canceled. /// </summary> public void Cancel() { _eventFlags |= EventFlagType.Canceled; }
/// <summary> /// Clears the specified resource event flags. /// </summary> /// <param name="flags">The flags.</param> public void ClearFlags(EventFlagType flags) { _eventFlags &= ~flags; }
/// <summary> /// Sets the event flags. /// </summary> /// <param name="flags">The event flags.</param> public void SetFlags(EventFlagType flags) { _eventFlags = flags; }
/// <summary> /// Determines whether this instance has the specified event flag(s). /// </summary> /// <param name="flag">The flag.</param> /// <returns> /// <c>true</c> if this instance has the specified event flag(s); otherwise, <c>false</c>. /// </returns> /// <remarks>Multiple flags can be specified; however, this will only return <c>true</c> in the event that they all match.</remarks> private bool HasFlags(EventFlagType flag) { return (_eventFlags & flag) == flag; }
/// <summary> /// Initializes a new instance of the <see cref="TVIState"/> class. /// </summary> /// <param name="resource">The <see cref="Common.Storage.Version"/>.</param> public State(Common.Storage.Version resource) { _eventFlags = EventFlagType.None; _status = StatusType.None; _direction = DirectionType.None; _resource = resource; }