using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace skyscraper5.Dvb.SystemSoftwareUpdate.Model
{
    public class UpdateNotificationGroup
    {
        public byte ActionType { get; }
        public byte OuiHash { get; }
        public string Oui { get; }
        public byte ProcessingOrder { get; }

        //from descriptor 0x03 ssu location descriptor
        public ushort? DataBroadcastId { get; set; }
        public ushort? AssociationTag { get; set; }
        public byte[] PrivateData { get; set; }

        //from descriptor 0x02 update descriptor
        public int? UpdateFlag { get; set; }
        public int? UpdateMethod { get; set; }
        public int? UpdatePriority { get; set; }


        public UpdateNotificationGroup(byte actionType, byte ouiHash, string oui, byte processingOrder)
        {
            ActionType = actionType;
            OuiHash = ouiHash;
            Oui = oui;
            ProcessingOrder = processingOrder;
        }

        public override string ToString()
        {
            return $"{nameof(Oui)}: {Oui}";
        }
    }
}
