using skyscraper5.T2MI.Packets;
using skyscraper8.T2MI.Packets;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace skyscraper8.DvbSis
{
    public interface SisHandler
    {
        void OnSisCat(int sourcePid, ushort sourceProgram, SisCatContainer catContainer);
        void OnSisDsaci(ushort currentDsaGroupId, int versionNumber, byte sectionNumber, byte lastSectionNumber, Stream dsaci);
        void OnSisEit(int sourcePid, ushort sourceProgram, SisEitContainer eitContainer);
        void OnSisFti(int relatedPid, _0xF0_FramingTimingInformation fti);
        void OnSisNit(int sourcePid, ushort sourceProgram, SisNitContainer nitContainer);
        void OnSisPat(int sourcePid, ushort sourceProgram, SisPatContainer patContainer);
        void OnSisPmt(int sourcePid, ushort sourceProgram, SisPmtContainer pmtContainer);
        void OnSisSdt(int sourcePid, ushort sourceProgram, SisSdtContainer sdtContainer);
        void OnSisTdt(int sourcePid, ushort sourceProgram, SisTdtContainer tdtContainer);
        void OnSisTimestamp(int pid, _0x20_DvbT2Timestamp t2Timestamp);
        void OnSisTot(int sourcePid, ushort sourceProgram, SisTotContainer totContainer);
    }
}
