2025-06-03 11:48:18 +02:00

170 lines
12 KiB
C#

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.NetworkInformation;
using System.Text;
using System.Threading.Tasks;
using skyscraper5.Docsis.MacManagement;
using skyscraper5.DsmCc.Descriptors;
using skyscraper5.Dvb.DataBroadcasting.IntModel;
using skyscraper5.Dvb.Descriptors;
using skyscraper5.Dvb.Psi.Model;
using skyscraper5.Dvb.SystemSoftwareUpdate.Model;
using skyscraper5.Dvb.TvAnytime;
using skyscraper5.Mhp;
using skyscraper5.Mhp.Si;
using skyscraper5.Mhp.Si.Model;
using skyscraper5.Mpeg2.Descriptors;
using skyscraper5.Mpeg2.Psi.Model;
using skyscraper5.Rds.Messages;
using skyscraper5.Scte35;
using skyscraper5.Scte35.Descriptors;
using skyscraper5.Skyscraper.Equipment;
using skyscraper5.Skyscraper.Gps;
using skyscraper5.Skyscraper.Headless;
using skyscraper5.Skyscraper.IO.CrazycatStreamReader;
using skyscraper5.Skyscraper.Scraper.Storage.Utilities;
using skyscraper5.src.InteractionChannel.Model;
using skyscraper5.src.InteractionChannel.Model.Descriptors;
using skyscraper5.src.Skyscraper.FrequencyListGenerator;
using skyscraper5.src.Skyscraper.Scraper.Dns;
using skyscraper5.Teletext;
using skyscraper8.Ses;
using Platform = skyscraper5.Dvb.SystemSoftwareUpdate.Model.Platform;
namespace skyscraper5.Skyscraper.Scraper.Storage.Split
{
public interface DataStorage : IDbBlindscanJobStorage, IDnsDataSource
{
bool StoreTeletextPage(int networkId, int transportStreamId, ushort programNumber, TeletextMagazine magazine, DateTime timestamp);
bool TestForNitNetwork(NitNetwork nitNetwork);
void StoreNitNetwork(NitNetwork nitNetwork);
bool UpdateNitNetwork(NitNetwork nitNetwork);
bool TestForNitTransportStream(ushort networkId, NitTransportStream transportStream);
void StoreNitTransportStream(ushort networkId, NitTransportStream transportStream);
bool UpdateNitTransportStream(ushort networkId, NitTransportStream transportStream);
bool StorePatEntry(int currentNetworkId, int currentTransportStreamId, int pmtPid, ushort programId);
bool TestForPmtEvent(int currentNetworkId, int currentTransportStreamId, ProgramMapping result);
bool StorePmtEvent(int currentNetworkId, int currentTransportStreamId, ProgramMapping mapping);
bool TestForSdtService(ushort transportStreamId, ushort originalNetworkId, SdtService sdtService);
bool UpdateSdtService(ushort transportStreamId, ushort originalNetworkId, SdtService sdtService);
void StoreSdtService(ushort transportStreamId, ushort originalNetworkId, SdtService sdtService);
bool TestForBatBouquet(BatBouquet batBouquet);
bool UpdateBatBouquet(BatBouquet batBouquet);
void StoreBatBouquet(BatBouquet batBouquet);
bool TestForBatTransportStream(ushort batBouquetBouquetId, BatTransportStream child);
bool UpdateBatTransportStream(ushort batBouquetBouquetId, BatTransportStream child);
void StoreBatTransportStream(ushort batBouquetBouquetId, BatTransportStream child);
bool UpdateTimeOffsetTable(int currentNetworkId, int currentTransportStreamId, DateTime utcTime, LocalTimeOffsetDescriptor ltod);
bool UpdateTimeAndDate(int currentNetworkId, int currentTransportStreamId, DateTime utcTime);
bool StoreEitEvent(EitEvent eitEvent);
bool TestForAitApplication(ApplicationIdentifier aitApplicationApplicationIdentifier);
void StoreAitApplication(AitApplication aitApplication);
bool TestForCaSystem(int currentNetworkId, int currentTransportStreamId, int caDescriptorCaPid);
void StoreCaSystem(int currentNetworkId, int currentTransportStreamId, CaDescriptor caDescriptor);
void StoreUpdateNotification(int hashCode, UpdateNotificationGroup common, Compatibility compatibility, Platform platform);
bool TestForKnownRdsData(int currentNetworkId, int currentTransportStreamId, int programNumber);
void EnableRdsCollection(int currentNetworkId, int currentTransportStreamId, int programNumber);
bool UpdateRdsProgrammeServiceName(int currentNetworkId, int currentTransportStreamId, int programNumber, string programmeService2);
bool UpdateRdsRadioText(int currentNetworkId, int currentTransportStreamId, int programNumber, string text);
bool UpdateRdsPty(int currentNetworkId, int currentTransportStreamId, int programNumber, PTY.ProgrammeTypeCodes pty);
bool MarkAsRdsTrafficInformationProgramme(int currentNetworkId, int currentTransportStreamId, int programNumber);
bool TestForScte35SpliceInsert(int currentNetworkId, int currentTransportStreamId, ushort programNumber, SpliceInsert spliceInsert);
void StoreScte35SpliceInsert(int currentNetworkId, int currentTransportStreamId, ushort programNumber, SpliceInsert spliceInsert);
bool IsCompliant(int currentNetworkId, int currentTransportStreamId, string compliance);
void MarkAsCompliant(int currentNetworkId, int currentTransportStreamId, string compliance);
bool SetStationIdentification(int currentNetworkId, int currentTransportStreamId, string stationIdentification);
void StoreDsmCcDoItNowEvent(DateTime value, int currentNetworkId, int currentTransportStreamId, int programNumber, StreamEventDescriptor descriptorListStreamEventDescriptor, int pid);
bool StoreRunningStatus(uint transportStreamId, uint originalNetworkId, uint serviceId, uint eventId, RunningStatus runningStatus, DateTime currentTime);
void SetScte35TimeSignal(int currentNetworkId, int currentTransportStreamId, DateTime currentTime, ushort programNumber, TimeSignal timeSignal);
bool TestForIpMacNotification(IpMacNotification notification);
void StoreIpMacNotification(IpMacNotification notification);
bool ImportFileKnown(FileInfo fi);
void ImportMarkFileAsKnown(FileInfo fi, TimeSpan duration, int tstype);
DateTime T2MiGetTimestamp(int currentNetworkId, int currentTransportStreamId, int pid);
void T2MiSetTimestamp(int currentNetworkId, int currentTransportStreamId, int pid, DateTime resolveTime);
bool TestForRelatedContent(EitEvent lEvent, RctLinkInfo rctLinkInfo);
void SetRelatedContent(EitEvent lEvent, RctLinkInfo rctLinkInfo);
List<SatellitePosition> UiSatellitesListAll();
void UiSatellitesAdd(SatellitePosition newPosition);
void UiSatellitesDelete(SatellitePosition satellitePosition);
bool UiTunerTestFor(TunerMetadata tuner);
void UiTunerUpdate(TunerMetadata tuner);
void UiTunerInsert(TunerMetadata tuner);
void UiTunerGetConfiguration(TunerMetadata foundTuner);
bool TestForDocsisUpstreamChannel(PhysicalAddress mmmSource, uint mmmFrequency, int currentLocation);
void StoreDocsisUpstreamChannel(UpstreamChannelDescriptor mmm, int currentLocation);
bool TestForDocsisDownstreamChannel(PhysicalAddress physicalAddress, MacDomainDescriptor.DownstreamActiveChannel downstreamActiveChannel, int currentLocation);
void StoreDocsisDownstreamChannel(PhysicalAddress physicalAddress, MacDomainDescriptor.DownstreamActiveChannel downstreamActiveChannel, int currentLocation);
bool SetCmtsIp(PhysicalAddress arpHeaderSenderHardwareAddress, IPAddress arpHeaderSenderProtocolAddress);
bool IsDsmCcModuleBlacklisted(int currentNetworkId, int currentTransportStreamId, int elementaryPid, ushort moduleId, byte moduleVersion);
int? GetCurrentLocationId();
void StoreDocsisParticipant(PhysicalAddress pa, int currentLocation);
HeadlessJob GetQueuedJob();
void SetQueuedJobComplete(HeadlessJob headlessJob);
void WaitForCompletion();
void UiSetVersion(int version);
bool T2MiTestForTransmitter(int? currentNetworkId, int? currentTransportStreamId, int relatedPid, ushort txIdentifier);
void T2MiRememberTransmitter(int? currentNetworkId, int? currentTransportStreamId, int relatedPid, ushort txIdentifier);
void T2MiSetTransmitterTimeOffset(int? currentNetworkId, int? currentTransportStreamId, int relatedPid, ushort txIdentifier, ushort timeOffset);
List<LnbType> UiLnbTypesListAll();
void UiLnbTypesAdd(LnbType defaultLnbType);
List<DishType> UiDishTypesListAll();
void UiDishTypesAdd(DishType defaultDishType);
object[] GetPluginConnector();
void Ping();
IEnumerable<Tuple<int, int, ProgramMapping>> SelectAllPmt();
SdtService SelectSdtById(int networkId, int tsId, ushort programMappingProgramNumber);
IEnumerable<Tuple<int, int, SdtService>> SelectAllSdt();
void BeamsDisableAll();
void BeamsEnable(int id, float satpos, string name, DateTime processTimestamp);
void BeamFootprintStore(int databasePointerId, DateTime databasePointerBeamsProcessTimestamp, string name, string getPolygonString, string id);
bool TestForBeamFootprint(int databasePointerId, DateTime databasePointerBeamsProcessTimestamp, string name, string id);
void BeamsDisableSpecific(int databasePointerId, float databasePointerSatpos, string databasePointerName, DateTime databasePointerBeamsProcessTimestamp);
IEnumerable<SatelliteBeam> BeamsSelectEnabled();
List<SatelliteBeamFootprint> BeamsSelectFootprints(int satelliteBeamId, DateTime satelliteBeamProcessTimestamp);
void InsertBlindscanJob(DbBlindscanJob jobInDb);
void UpdateJobState(DbBlindscanJob jobInDb);
void InsertSearchResult(DbBlindscanJob jobInDb, bool satellite, SearchResult searchResult, int polarityIndex, SearchResult2 searchResult2);
void UpdateTransponderState(DbBlindscanJob jobInDb, bool satellite, SearchResult searchResult, BlindscanResultState blindscanResultState, SearchResult2 searchResult2);
void InsertTransponderService(DbBlindscanJob jobInDb, bool resultSatellite, SearchResult resultSr1, SearchResult2 resultSr2, HumanReadableService humanReadableService);
bool TestForIncompleteJob();
DbBlindscanJob GetPastBlindscanJob(long offset);
void FailDsmCcDownload(DatabaseKeyDsmCcModule key, double value);
IReadOnlyList<string> ListImportFileByTag1(int tag1);
bool TestForTerminalBurstTimePlan(ushort interactiveNetworkId, uint groupId, uint logonId);
void StoreTerminalBurstTimePlan(ushort interactiveNetworkId, uint gtoupId, uint superframeCount, uint frameNumber, Tbtp.TbtpFrame.BtpEntity btp);
bool TestForCmtEntry(ushort interactiveNetworkId, Cmt.CmtEntry entry);
void InsertCmtEntry(ushort interactiveNetworkId, Cmt.CmtEntry entry);
int GetRmtTransmissionStandard(ushort networkId);
byte[] GetTmst(ushort interactiveNetworkId);
void InsertTmst(ushort interactiveNetworkId, byte[] modes);
void UpdateTmst(ushort interactiveNetworkId, byte[] modes);
bool TestForRmtLinkage(_0x4a_LinkageDescriptor linkage);
void InsertRmtLinkage(_0x4a_LinkageDescriptor linkage);
bool TestForRmtTransportStream(ushort networkId, Rmt.TransportStream transportStream);
void InsertRmtTransportStream(ushort networkId, Rmt.TransportStream transportStream);
bool TestForSuperframeComposition(ushort interactiveNetworkId, Sct.Superframe superframe);
void StoreSuperframeComposition(ushort interactiveNetworkId, Sct.Superframe superframe);
bool TestForFrameComposition(ushort interactiveNetworkId, Fct.Frame frame);
void InsertFctFrame(ushort interactiveNetworkId, Fct.Frame frame);
bool TestForSatellitePosition(ushort interactiveNetworkId, Spt.Satellite satellite);
void StoreSatellitePosition(ushort interactiveNetworkId, Spt.Satellite satellite);
void CreateTim(PhysicalAddress mac);
bool TestForTim(PhysicalAddress mac);
bool CorrectTim(PhysicalAddress mac, _0xa1_CorrectionMessageDescriptor cmd);
bool ContentionTim(PhysicalAddress mac, _0xab_ContentionControlDescriptor ccdNew);
bool CorrectionControlTim(PhysicalAddress mac, _0xac_CorrectionControlDescriptor descriptor);
bool NetworkLayerInfoTim(PhysicalAddress mac, _0xa0_NetworkLayerInfoDescriptor nlid, DateTime timestamp);
IEnumerable<DbBlindscanJob> GetDbBlindscanJobs();
bool TestForSgtList(SgtList list);
void InsertSgtList(SgtList list);
bool TestForSgtService(SgtService child);
void InsertSgtService(SgtService child);
}
}