116 lines
3.4 KiB
C#
116 lines
3.4 KiB
C#
using skyscraper5.Dvb.Descriptors;
|
|
using skyscraper5.Dvb.Psi;
|
|
using skyscraper5.Dvb.Psi.Model;
|
|
using skyscraper8.EPGCollectorPort.SkyscraperSide;
|
|
using skyscraper8.Skyscraper.Scraper.Storage;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using skyscraper8.Skyscraper.Plugins;
|
|
|
|
namespace skyscraper5.Skyscraper.Scraper
|
|
{
|
|
internal class FreesatTunnelScraper : IBatEventHandler, ISdtEventHandler, ITdtEventHandler, ITotEventHandler, IEitEventHandler, INitEventHandler
|
|
{
|
|
public void OnBatBouquet(BatBouquet batBouquet)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public void OnBatTransportStream(BatBouquet batBouquet, BatTransportStream child)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public void OnSdtService(ushort transportStreamId, ushort originalNetworkId, SdtService sdtService)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public void OnTdtTime(DateTime utcTime)
|
|
{
|
|
if (!networkId.HasValue)
|
|
return;
|
|
if (!transportStreamId.HasValue)
|
|
return;
|
|
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public void OnTotTime(DateTime utcTime, LocalTimeOffsetDescriptor ltod)
|
|
{
|
|
if (!networkId.HasValue)
|
|
return;
|
|
if (!transportStreamId.HasValue)
|
|
return;
|
|
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
private ushort? networkId;
|
|
public void SetNetworkId(ushort networkId)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
private ushort? transportStreamId;
|
|
public void SetTransportStreamId(ushort transportStreamId)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public void SetNetworkId(ushort networkId, bool forceOverwrite = false)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public void OnNitTransportStream(ushort networkId, NitTransportStream transportStream)
|
|
{
|
|
if (!_dataStorage.TestForNitTransportStream(networkId, transportStream))
|
|
{
|
|
_logger.Log(PluginLogLevel.Info, "NIT Network {0} Transport Stream {1}", networkId, transportStream.TransportStreamId);
|
|
_dataStorage.StoreNitTransportStream(networkId, transportStream);
|
|
}
|
|
}
|
|
|
|
public void OnNitNetwork(NitNetwork nitNetwork)
|
|
{
|
|
if (!_dataStorage.TestNitNetwork(nitNetwork))
|
|
{
|
|
_logger.Log(PluginLogLevel.Info, "NIT Network {0}", nitNetwork.NetworkId);
|
|
_dataStorage.StoreNitNetwork(nitNetwork);
|
|
}
|
|
}
|
|
|
|
private EitEvent[] runningEvents;
|
|
public void OnEitEvent(EitEvent eitEvent)
|
|
{
|
|
if (_dataStorage.StoreEitEvent(eitEvent))
|
|
{
|
|
_logger.Log(PluginLogLevel.Info, "EIT Event: {0}", eitEvent.EventName);
|
|
}
|
|
|
|
if (eitEvent.RunningStatus == RunningStatus.Running)
|
|
{
|
|
if (runningEvents == null)
|
|
runningEvents = new EitEvent[UInt16.MaxValue];
|
|
runningEvents[eitEvent.ServiceId] = eitEvent;
|
|
}
|
|
}
|
|
|
|
private PluginLogger _logger;
|
|
private IFreesatTunnelDataStorage _dataStorage;
|
|
public void ConnectToStorage(object[] getPluginConnector)
|
|
{
|
|
if (_dataStorage == null)
|
|
{
|
|
_dataStorage = new FreesatTunnelDataStorage(getPluginConnector);
|
|
}
|
|
|
|
_logger = PluginLogManager.GetLogger(this.GetType());
|
|
}
|
|
}
|
|
}
|