using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Resources;
using System.Text;
using MindWorks.Nimbus;
using Ivi.Driver;

namespace Raytheon.GuidedElectronicsUnit
{
    public sealed class SdlcEventArgs : EventArgs
    {
        /// <summary>
        /// Creates a new instance of the MessageEventArgs class.  For the <paramref name="node"/> parameter, pass in the "this" reference of the driver class
		/// that instantiated the MessageEventArgs class.
        /// </summary>
        /// <param name="node">The driver class that instantiated the MessageEventArgs class.</param>
		internal SdlcEventArgs()
        {
            Message = string.Empty;
            PrecentageFull = AutoForwardBufferCapacity.Empty;
        }

        internal SdlcEventArgs(AutoForwardBufferCapacity level)
        {
            Message = level switch
            {
                AutoForwardBufferCapacity.HalfFull => "Buffer is at 50% capacity.",
                AutoForwardBufferCapacity.Full => "Buffer is full and no longer capturing data.",
                _ => "Buffer is less than half full or empty"
            };

            PrecentageFull = level;
        }

        public string Message { get; set; }

        public AutoForwardBufferCapacity PrecentageFull { get; set; }

    }
}