コード例 #1
0
ファイル: EcsStatusFlags.cs プロジェクト: intvsteve/VINTage
        /// <summary>
        /// Produce <see cref="DeviceStatusFlags"/> containing updated <see cref="EcsStatusFlags"/> for a given <see cref="Device"/>.
        /// </summary>
        /// <param name="device">The <see cref="Device"/> whose updated flags are desired.</param>
        /// <param name="newEcsFlags">New <see cref="EcsStatusFlags"/> to apply to <paramref name="device"/>.</param>
        /// <returns>A new set of <see cref="DeviceStatusFlags"/> with updated EcsStatusFlags for <paramref name="device"/>.</returns>
        internal static DeviceStatusFlags UpdateStatusFlags(this Device device, EcsStatusFlags newEcsFlags)
        {
            var deviceStatusFlags = device.DeviceStatusFlags & ~DeviceStatusFlags.EcsStatusMask;

            deviceStatusFlags |= newEcsFlags.ToDeviceStatusFlagsLo();
            return(deviceStatusFlags);
        }
コード例 #2
0
        public void DeviceStatusFlagsLo_AllEcsFlagsToEcsCompatibiltyFlags_ReturnsExpectedFlags(DeviceStatusFlagsLo statusFlagsLo, EcsStatusFlags expectedEcsStatusFlags)
        {
            var actualEcsStatusFlags = statusFlagsLo.ToEcsCompatibilityFlags();

            Assert.Equal(expectedEcsStatusFlags, actualEcsStatusFlags);
        }
コード例 #3
0
        public void DeviceStatusFlagsLo_ToEcsCompatibilityFlags_ReturnsExpectedFlags(DeviceStatusFlagsLo statusFlagsLo, EcsStatusFlags expectedEcsStatusFlags)
        {
            var actualEcsStatusFlags = statusFlagsLo.ToEcsCompatibilityFlags();

            // NOTE: Implementation currently suppresses the reserved bits. Replicate this here.
            expectedEcsStatusFlags &= ~EcsStatusFlags.ReservedMask;
            Assert.Equal(expectedEcsStatusFlags, actualEcsStatusFlags);
        }
コード例 #4
0
ファイル: EcsStatusFlags.cs プロジェクト: intvsteve/VINTage
        /// <summary>
        /// Produce <see cref="DeviceStatusFlagsLo"/> containing the given <see cref="EcsStatusFlags"/>.
        /// </summary>
        /// <param name="ecsStatus">The flags to convert.</param>
        /// <returns>The given EcsStatusFlags represented as DeviceStatusFlagsLo.</returns>
        internal static DeviceStatusFlagsLo ToDeviceStatusFlagsLo(this EcsStatusFlags ecsStatus)
        {
            var deviceStatusFlags = (DeviceStatusFlagsLo)((ulong)ecsStatus << DeviceStatusFlagsLoHelpers.EcsStatusBitsOffset);

            return(deviceStatusFlags);
        }
コード例 #5
0
ファイル: EcsStatusFlags.cs プロジェクト: intvsteve/VINTage
 /// <summary>
 /// Given <see cref="EcsStatusFlags"/>, produce a string representation for the user interface.
 /// </summary>
 /// <param name="ecsStatus">The flags to convert to a user-readable string.</param>
 /// <returns>The display string.</returns>
 internal static string ToDisplayString(this EcsStatusFlags ecsStatus)
 {
     return(ModeToStringsTable[ecsStatus]);
 }