using skyscraper5.Mpeg2;
using skyscraper5.src.InteractionChannel.Model;
using skyscraper5.src.InteractionChannel.Model.Descriptors;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.NetworkInformation;
using System.Text;
using System.Threading.Tasks;

namespace skyscraper5.src.InteractionChannel
{
	internal interface InteractionChannelHandler
	{
		void OnCorrectionMessage(ushort interactiveNetworkId, Cmt cmt);
		void OnFrameComposition(ushort interactiveNetworkId, Fct fct);
		void OnInteractionChannelError(InteractionChannelErrorState unexpectedTable);
		void OnRcsMap(Rmt rmt);
		void OnSatellitePosition(ushort interactiveNetworkId, Spt spt);
		void OnSuperframeComposition(ushort interactiveNetworkId, Sct sct);
		void OnTerminalBurstTimePlan(ushort interactiveNetworkId, Tbtp tbtp);
		void OnTimeslotComposition(ushort interactiveNetworkId, Tct tct);
		void OnCorrectionMessage(PhysicalAddress mac, _0xa1_CorrectionMessageDescriptor cmd);
		void OnContentionControl(PhysicalAddress macAddress, _0xab_ContentionControlDescriptor ccd);
		void OnCorrectionControl(PhysicalAddress macAddress, _0xac_CorrectionControlDescriptor descriptor);
		void OnNetworkLayerInfo(PhysicalAddress macAddress, _0xa0_NetworkLayerInfoDescriptor descriptor);
		void OnTransmissionModeSupport(ushort interactiveNetworkId, Tmst tmst);
		int GetRmtTransmissionStandard(ushort networkId);
	}
}
