public TimeShiftingEPGGrabber(IEpgEvents epgEvents, ITVCard card)
 {
   _card = card;
   _dbUpdater = new EpgDBUpdater(epgEvents, "TimeshiftingEpgGrabber", false);
   _updateThreadRunning = false;
   _epgTimer.Elapsed += _epgTimer_Elapsed;
 }
예제 #2
0
 public TimeShiftingEPGGrabber(IEpgEvents epgEvents, ITVCard card)
 {
     _card                = card;
     _dbUpdater           = new EpgDBUpdater(epgEvents, "TimeshiftingEpgGrabber", false);
     _updateThreadRunning = false;
     _epgTimer.Elapsed   += _epgTimer_Elapsed;
 }
예제 #3
0
 /// <summary>
 /// Contstructor
 /// </summary>
 /// <param name="epgEvents"></param>
 /// <param name="device"></param>
 /// <param name="sequence"></param>
 public TvCardDVBIP(IEpgEvents epgEvents, DsDevice device, int sequence) : base(epgEvents, device)
 {
   _cardType = CardType.DvbIP;
   _sequence = sequence;
   if (_sequence > 0)
   {
     _name = _name + "_" + _sequence;
   }
 }
예제 #4
0
 /// <summary>
 /// Contstructor
 /// </summary>
 /// <param name="epgEvents"></param>
 /// <param name="device"></param>
 /// <param name="sequence"></param>
 public TvCardDVBIP(IEpgEvents epgEvents, DsDevice device, int sequence) : base(epgEvents, device)
 {
     _cardType = CardType.DvbIP;
     _sequence = sequence;
     if (_sequence > 0)
     {
         _name = _name + "_" + _sequence;
     }
 }
 public EpgDBUpdater(IEpgEvents epgEvents, string grabberName, bool checkForLastUpdate)
 {
     _epgEvents          = epgEvents;
     _grabberName        = grabberName;
     _checkForLastUpdate = checkForLastUpdate;
     ReloadConfig();
     if (_alwaysReplace)
     {
         _checkForLastUpdate = false;
     }
 }
예제 #6
0
 /// <summary>
 /// ctor
 /// </summary>
 public TvCardCollection(IEpgEvents epgEvents)
 {
   Log.Log.WriteFile("----------------------------");
   _epgEvents = epgEvents;
   // Logic here to delay detection of cards
   // Ideally this should occur after standby event.
   TvBusinessLayer layer = new TvBusinessLayer();
   Setting setting = layer.GetSetting("delayCardDetect", "0");
   int delayDetect = Convert.ToInt32(setting.Value);
   if (delayDetect >= 1)
   {
     Log.Log.WriteFile("Detecting Cards in {0} seconds", delayDetect);
     System.Threading.Thread.Sleep(delayDetect * 1000);
   }
   Log.Log.WriteFile("Detecting Cards");
   _cards = new List<ITVCard>();
   DetectCards();
 }
예제 #7
0
        /// <summary>
        /// ctor
        /// </summary>
        public TvCardCollection(IEpgEvents epgEvents)
        {
            Log.Log.WriteFile("----------------------------");
            _epgEvents = epgEvents;
            // Logic here to delay detection of cards
            // Ideally this should occur after standby event.
            TvBusinessLayer layer       = new TvBusinessLayer();
            Setting         setting     = layer.GetSetting("delayCardDetect", "0");
            int             delayDetect = Convert.ToInt32(setting.Value);

            if (delayDetect >= 1)
            {
                Log.Log.WriteFile("Detecting Cards in {0} seconds", delayDetect);
                System.Threading.Thread.Sleep(delayDetect * 1000);
            }
            Log.Log.WriteFile("Detecting Cards");
            _cards = new List <ITVCard>();
            DetectCards();
        }
예제 #8
0
        /// <summary>
        /// Initializes a new instance of the <see cref="TvCardDvbSS2"/> class.
        /// </summary>
        /// <param name="epgEvents">The EPG events interface.</param>
        /// <param name="device">The device.</param>
        public TvCardDvbSS2(IEpgEvents epgEvents, DsDevice device)
            : base(epgEvents, device)
        {
            _useDISEqCMotor = false;
            TvBusinessLayer layer = new TvBusinessLayer();
            Card            card  = layer.GetCardByDevicePath(device.DevicePath);

            if (card != null)
            {
                Setting setting = layer.GetSetting("dvbs" + card.IdCard + "motorEnabled", "no");
                if (setting.Value == "yes")
                {
                    _useDISEqCMotor = true;
                }
            }
            _conditionalAccess = new ConditionalAccess(null, null, null, this);
            _ptrDisEqc         = Marshal.AllocCoTaskMem(20);
            _disEqcMotor       = new DiSEqCMotor(this);
            GetTunerCapabilities();
        }
예제 #9
0
 /// <summary>
 /// Register to receive EPG related events.
 /// </summary>
 /// <param name="eventListener">The event listener.</param>
 public void RegisterEpgEventListener(IEpgEvents eventListener)
 {
     _group.RegisterEpgEventListener(eventListener);
 }
 /// <summary>
 /// Register to receive EPG related events.
 /// </summary>
 /// <param name="eventListener">The event listener.</param>
 public virtual void RegisterEpgEventListener(IEpgEvents eventListener)
 {
 }
예제 #11
0
 /// <summary>
 /// Initializes a new instance of the <see cref="TvCardDVBT"/> class.
 /// </summary>
 /// <param name="epgEvents">The EPG events interface.</param>
 /// <param name="device">The device.</param>
 public TvCardDVBT(IEpgEvents epgEvents, DsDevice device)
   : base(epgEvents, device)
 {
   _cardType = CardType.DvbT;
 }
예제 #12
0
 /// <summary>
 /// Register to receive EPG related events.
 /// </summary>
 /// <param name="eventListener">The event listener.</param>
 public override void RegisterEpgEventListener(IEpgEvents eventListener)
 {
   _timeshiftingEPGGrabber = new TimeShiftingEPGGrabber(eventListener, this);
 }
예제 #13
0
 /// <summary>
 /// Initializes a new instance of the <see cref="TvCardDVBT"/> class.
 /// </summary>
 /// <param name="epgEvents">The EPG events interface.</param>
 /// <param name="device">The device.</param>
 public TvCardDVBT(IEpgEvents epgEvents, DsDevice device)
     : base(epgEvents, device)
 {
     _cardType = CardType.DvbT;
 }
예제 #14
0
 /// <summary>
 /// Initializes a new instance of the <see cref="TvCardDvbBase"/> class.
 /// </summary>
 public TvCardDvbBase(IEpgEvents epgEvents, DsDevice device)
   : base(device)
 {
   matchDevicePath = true;
   _lastSignalUpdate = DateTime.MinValue;
   _mapSubChannels = new Dictionary<int, BaseSubChannel>();
   _parameters = new ScanParameters();
   _timeshiftingEPGGrabber = new TimeShiftingEPGGrabber(epgEvents, (ITVCard)this);
   _minChannel = -1;
   _maxChannel = -1;
   _supportsSubChannels = true;
   Guid networkProviderClsId = new Guid("{D7D42E5C-EB36-4aad-933B-B4C419429C98}");
   useInternalNetworkProvider = FilterGraphTools.IsThisComObjectInstalled(networkProviderClsId);
 }
예제 #15
0
 /// <summary>
 /// Initializes a new instance of the <see cref="TvCardATSC"/> class.
 /// </summary>
 /// <param name="epgEvents">The EPG events interface.</param>
 /// <param name="device">The device.</param>
 public TvCardATSC(IEpgEvents epgEvents, DsDevice device)
   : base(epgEvents, device)
 {
   _cardType = CardType.Atsc;
 }
예제 #16
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="epgEvents"></param>
 /// <param name="device"></param>
 /// <param name="sequence"></param>
 public TvCardDVBIPBuiltIn(IEpgEvents epgEvents, DsDevice device, int sequence) : base(epgEvents, device, sequence)
 {
     _defaultUrl = "udp://@0.0.0.0:1234";
 }
예제 #17
0
 /// <summary>
 /// Register to receive EPG related events.
 /// </summary>
 /// <param name="eventListener">The event listener.</param>
 public void RegisterEpgEventListener(IEpgEvents eventListener)
 {
   foreach (ITVCard card in _cards)
   {
     card.RegisterEpgEventListener(eventListener);
   }
 }
예제 #18
0
 /// <summary>
 /// Initializes a new instance of the <see cref="TvCardATSC"/> class.
 /// </summary>
 /// <param name="epgEvents">The EPG events interface.</param>
 /// <param name="device">The device.</param>
 public TvCardATSC(IEpgEvents epgEvents, DsDevice device)
     : base(epgEvents, device)
 {
     _cardType = CardType.Atsc;
 }
예제 #19
0
 /// <summary>
 /// Register to receive EPG related events.
 /// </summary>
 /// <param name="eventListener">The event listener.</param>
 public void RegisterEpgEventListener(IEpgEvents eventListener)
 {
   _group.RegisterEpgEventListener(eventListener);
 }
예제 #20
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="epgEvents"></param>
 /// <param name="device"></param>
 /// <param name="sequence"></param>
 public TvCardDVBIPElecard(IEpgEvents epgEvents, DsDevice device, int sequence) : base(epgEvents, device, sequence)
 {
     _defaultUrl = "elecard://0.0.0.0:1234:t=m2t/udp";
 }
예제 #21
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="epgEvents"></param>
 /// <param name="device"></param>
 /// <param name="sequence"></param>
 public TvCardDVBIPVLC(IEpgEvents epgEvents, DsDevice device, int sequence) : base(epgEvents, device, sequence)
 {
   _defaultUrl = "udp://@0.0.0.0:1234";
 }
예제 #22
0
 /// <summary>
 /// Initializes a new instance of the <see cref="TvCardDvbSS2"/> class.
 /// </summary>
 /// <param name="epgEvents">The EPG events interface.</param>
 /// <param name="device">The device.</param>
 public TvCardDvbSS2(IEpgEvents epgEvents, DsDevice device)
   : base(epgEvents, device)
 {
   _useDISEqCMotor = false;
   TvBusinessLayer layer = new TvBusinessLayer();
   Card card = layer.GetCardByDevicePath(device.DevicePath);
   if (card != null)
   {
     Setting setting = layer.GetSetting("dvbs" + card.IdCard + "motorEnabled", "no");
     if (setting.Value == "yes")
       _useDISEqCMotor = true;
   }
   _conditionalAccess = new ConditionalAccess(null, null, null, this);
   _ptrDisEqc = Marshal.AllocCoTaskMem(20);
   _disEqcMotor = new DiSEqCMotor(this);
   GetTunerCapabilities();
 }
예제 #23
0
 /// <summary>
 /// Register to receive EPG related events.
 /// </summary>
 /// <param name="eventListener">The event listener.</param>
 public virtual void RegisterEpgEventListener(IEpgEvents eventListener)
 {
 }
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="epgEvents"></param>
 /// <param name="device"></param>
 /// <param name="sequence"></param>
 public TvCardDVBIPElecard(IEpgEvents epgEvents, DsDevice device, int sequence) : base(epgEvents, device, sequence)
 {
   _defaultUrl = "elecard://0.0.0.0:1234:t=m2t/udp";
 }