MythTV  master
Public Member Functions | Protected Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
EITScanner Class Reference

Acts as glue between ChannelBase, EITSource, and EITHelper. More...

#include <eitscanner.h>

Inheritance diagram for EITScanner:
Inheritance graph
[legend]
Collaboration diagram for EITScanner:
Collaboration graph
[legend]

Public Member Functions

 EITScanner (uint cardnum)
 
 ~EITScanner ()
 
void StartPassiveScan (ChannelBase *, EITSource *)
 Start inserting Event Information Tables from the multiplex we happen to be tuned to into the database. More...
 
void StopPassiveScan (void)
 Stops inserting Event Information Tables into DB. More...
 
void StartActiveScan (TVRec *, uint max_seconds_per_source)
 
void StopActiveScan (void)
 

Protected Member Functions

void run (void) override
 This runs the event loop for EITScanner until 'exitThread' is true. More...
 

Private Member Functions

void TeardownAll (void)
 
void RescheduleRecordings (void)
 Tells scheduler about programming changes. More...
 

Static Private Member Functions

static void * SpawnEventLoop (void *)
 

Private Attributes

QMutex lock
 
ChannelBasechannel
 
EITSourceeitSource
 
EITHelpereitHelper
 
MThreadeventThread
 
volatile bool exitThread
 
QWaitCondition exitThreadCond
 
TVRecrec
 
volatile bool activeScan
 
volatile bool activeScanStopped
 
QWaitCondition activeScanCond
 
QDateTime activeScanNextTrig
 
uint activeScanTrigTime
 
QStringList activeScanChannels
 
QStringList::iterator activeScanNextChan
 
uint activeScanNextChanIndex
 
uint cardnum
 

Static Private Attributes

static QMutex resched_lock
 
static QDateTime resched_next_time
 
static const uint kMinRescheduleInterval
 Minumum number of seconds between reschedules. More...
 

Detailed Description

Acts as glue between ChannelBase, EITSource, and EITHelper.

This is the class where the "EIT Crawl" is implemented.

Definition at line 30 of file eitscanner.h.

Constructor & Destructor Documentation

◆ EITScanner()

EITScanner::EITScanner ( uint  cardnum)
explicit

Definition at line 32 of file eitscanner.cpp.

◆ ~EITScanner()

EITScanner::~EITScanner ( )
inline

Definition at line 34 of file eitscanner.h.

Member Function Documentation

◆ StartPassiveScan()

void EITScanner::StartPassiveScan ( ChannelBase _channel,
EITSource _eitSource 
)

Start inserting Event Information Tables from the multiplex we happen to be tuned to into the database.

Definition at line 205 of file eitscanner.cpp.

Referenced by TVRec::TuningSignalCheck().

◆ StopPassiveScan()

void EITScanner::StopPassiveScan ( void  )

Stops inserting Event Information Tables into DB.

Definition at line 224 of file eitscanner.cpp.

Referenced by StopActiveScan(), and TVRec::TuningShutdowns().

◆ StartActiveScan()

void EITScanner::StartActiveScan ( TVRec _rec,
uint  max_seconds_per_source 
)

Definition at line 240 of file eitscanner.cpp.

Referenced by TVRec::run().

◆ StopActiveScan()

void EITScanner::StopActiveScan ( void  )

Definition at line 304 of file eitscanner.cpp.

Referenced by TVRec::HandleStateChange(), TeardownAll(), and TVRec::TuningShutdowns().

◆ run()

void EITScanner::run ( void  )
overrideprotected

This runs the event loop for EITScanner until 'exitThread' is true.

Definition at line 71 of file eitscanner.cpp.

◆ TeardownAll()

void EITScanner::TeardownAll ( void  )
private

Definition at line 47 of file eitscanner.cpp.

Referenced by ~EITScanner().

◆ SpawnEventLoop()

static void* EITScanner::SpawnEventLoop ( void *  )
staticprivate

◆ RescheduleRecordings()

void EITScanner::RescheduleRecordings ( void  )
private

Tells scheduler about programming changes.

This implements some very basic rate limiting. If a call is made to this within kMinRescheduleInterval of the last call it is ignored.

Definition at line 196 of file eitscanner.cpp.

Referenced by run().

Member Data Documentation

◆ lock

QMutex EITScanner::lock
private

◆ channel

ChannelBase* EITScanner::channel
private

Definition at line 52 of file eitscanner.h.

Referenced by nv_python_libs.mashups.mashups_api.Videos::displayTreeView(), nv_python_libs.hulu.hulu_api.Videos::displayTreeView(), nv_python_libs.bbciplayer.bbciplayer_api.Videos::displayTreeView(), nv_python_libs.youtube.youtube_api.Videos::displayTreeView(), nv_python_libs.thewb.thewb_api.Videos::displayTreeView(), nv_python_libs.rev3.rev3_api.Videos::displayTreeView(), nv_python_libs.dailymotion.dailymotion_api.Videos::displayTreeView(), nv_python_libs.vimeo.vimeo_api.Videos::displayTreeView(), nv_python_libs.vimeo.vimeo_api.Videos::getTreeVideos(), nv_python_libs.youtube.youtube_api.Videos::getVideosForURL(), nv_python_libs.mtv.mtv_api.Videos::getVideosForURL(), nv_python_libs.mnvsearch.mnvsearch_api.Videos::searchForVideos(), nv_python_libs.mashups.mashups_api.Videos::searchForVideos(), nv_python_libs.tedtalks.tedtalks_api.Videos::searchForVideos(), nv_python_libs.hulu.hulu_api.Videos::searchForVideos(), nv_python_libs.bbciplayer.bbciplayer_api.Videos::searchForVideos(), nv_python_libs.thewb.thewb_api.Videos::searchForVideos(), nv_python_libs.rev3.rev3_api.Videos::searchForVideos(), nv_python_libs.mnvsearch.mnvsearch_api.Videos::searchTitle(), nv_python_libs.hulu.hulu_api.Videos::searchTitle(), nv_python_libs.bbciplayer.bbciplayer_api.Videos::searchTitle(), nv_python_libs.youtube.youtube_api.Videos::searchTitle(), nv_python_libs.thewb.thewb_api.Videos::searchTitle(), nv_python_libs.rev3.rev3_api.Videos::searchTitle(), nv_python_libs.vimeo.vimeo_api.Videos::searchTitle(), StartPassiveScan(), and StopPassiveScan().

◆ eitSource

EITSource* EITScanner::eitSource
private

Definition at line 53 of file eitscanner.h.

Referenced by run(), StartPassiveScan(), and StopPassiveScan().

◆ eitHelper

EITHelper* EITScanner::eitHelper
private

◆ eventThread

MThread* EITScanner::eventThread
private

Definition at line 56 of file eitscanner.h.

Referenced by EITScanner(), and TeardownAll().

◆ exitThread

volatile bool EITScanner::exitThread
private

Definition at line 57 of file eitscanner.h.

Referenced by run(), and TeardownAll().

◆ exitThreadCond

QWaitCondition EITScanner::exitThreadCond
private

Definition at line 58 of file eitscanner.h.

Referenced by run(), StopActiveScan(), and TeardownAll().

◆ rec

TVRec* EITScanner::rec
private

Definition at line 60 of file eitscanner.h.

Referenced by run(), StartActiveScan(), and StopActiveScan().

◆ activeScan

volatile bool EITScanner::activeScan
private

Definition at line 61 of file eitscanner.h.

Referenced by run(), StartActiveScan(), and StopActiveScan().

◆ activeScanStopped

volatile bool EITScanner::activeScanStopped
private

Definition at line 62 of file eitscanner.h.

Referenced by run(), StartActiveScan(), and StopActiveScan().

◆ activeScanCond

QWaitCondition EITScanner::activeScanCond
private

Definition at line 63 of file eitscanner.h.

Referenced by run(), and StopActiveScan().

◆ activeScanNextTrig

QDateTime EITScanner::activeScanNextTrig
private

Definition at line 64 of file eitscanner.h.

Referenced by run(), and StartActiveScan().

◆ activeScanTrigTime

uint EITScanner::activeScanTrigTime
private

Definition at line 65 of file eitscanner.h.

Referenced by run(), and StartActiveScan().

◆ activeScanChannels

QStringList EITScanner::activeScanChannels
private

Definition at line 66 of file eitscanner.h.

Referenced by run(), and StartActiveScan().

◆ activeScanNextChan

QStringList::iterator EITScanner::activeScanNextChan
private

Definition at line 67 of file eitscanner.h.

Referenced by run(), and StartActiveScan().

◆ activeScanNextChanIndex

uint EITScanner::activeScanNextChanIndex
private

Definition at line 68 of file eitscanner.h.

Referenced by run(), and StartActiveScan().

◆ cardnum

uint EITScanner::cardnum
private

Definition at line 70 of file eitscanner.h.

◆ resched_lock

QMutex EITScanner::resched_lock
staticprivate

Definition at line 72 of file eitscanner.h.

◆ resched_next_time

QDateTime EITScanner::resched_next_time
staticprivate

Definition at line 73 of file eitscanner.h.

◆ kMinRescheduleInterval

const uint EITScanner::kMinRescheduleInterval
staticprivate

Minumum number of seconds between reschedules.

Definition at line 76 of file eitscanner.h.


The documentation for this class was generated from the following files: