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

#include <metadatadownload.h>

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

Public Member Functions

 MetadataDownload (QObject *parent)
 
 ~MetadataDownload () override
 
void addLookup (MetadataLookup *lookup)
 addLookup: Add lookup to bottom of the queue MetadataDownload::m_lookupList takes ownership of the given lookup More...
 
void prependLookup (MetadataLookup *lookup)
 prependLookup: Add lookup to top of the queue MetadataDownload::m_lookupList takes ownership of the given lookup More...
 
void cancel ()
 
- Public Member Functions inherited from MThread
 MThread (const QString &objectName)
 Standard constructor. More...
 
 MThread (const QString &objectName, QRunnable *runnable)
 Use this constructor if you want the default run() method to run the QRunnable's run() method instead of entering the Qt event loop. More...
 
virtual ~MThread ()
 
 MThread (const MThread &)=delete
 
MThreadoperator= (const MThread &)=delete
 
void RunProlog (void)
 Sets up a thread, call this if you reimplement run(). More...
 
void RunEpilog (void)
 Cleans up a thread's resources, call this if you reimplement run(). More...
 
QThread * qthread (void)
 Returns the thread, this will always return the same pointer no matter how often you restart the thread. More...
 
void setObjectName (const QString &name)
 
QString objectName (void) const
 
void setPriority (QThread::Priority priority)
 
QThread::Priority priority (void) const
 
bool isFinished (void) const
 
bool isRunning (void) const
 
void setStackSize (uint stackSize)
 
uint stackSize (void) const
 
void exit (int retcode=0)
 Use this to exit from the thread if you are using a Qt event loop. More...
 
void start (QThread::Priority p=QThread::InheritPriority)
 Tell MThread to start running the thread in the near future. More...
 
void terminate (void)
 Kill a thread unsafely. More...
 
void quit (void)
 calls exit(0) More...
 
bool wait (std::chrono::milliseconds time=std::chrono::milliseconds::max())
 Wait for the MThread to exit, with a maximum timeout. More...
 

Static Public Member Functions

static QString GetMovieGrabber ()
 
static QString GetTelevisionGrabber ()
 
static QString GetGameGrabber ()
 
static bool runGrabberTest (const QString &grabberpath)
 
static bool MovieGrabberWorks ()
 
static bool TelevisionGrabberWorks ()
 
- Static Public Member Functions inherited from MThread
static void ThreadSetup (const QString &name)
 This is to be called on startup in those few threads that haven't been ported to MThread. More...
 
static void ThreadCleanup (void)
 This is to be called on exit in those few threads that haven't been ported to MThread. More...
 
static void Cleanup (void)
 This will print out all the running threads, call exit(1) on each and then wait up to 5 seconds total for all the threads to exit. More...
 
static void GetAllThreadNames (QStringList &list)
 
static void GetAllRunningThreadNames (QStringList &list)
 

Protected Member Functions

void run () override
 Runs the Qt event loop unless we have a QRunnable, in which case we run the runnable run instead. More...
 
- Protected Member Functions inherited from MThread
int exec (void)
 Enters the qt event loop. call exit or quit to exit thread. More...
 

Static Protected Member Functions

static QString getMXMLPath (const QString &filename)
 
static QString getNFOPath (const QString &filename)
 
- Static Protected Member Functions inherited from MThread
static void setTerminationEnabled (bool enabled=true)
 
static void usleep (std::chrono::microseconds time)
 
template<typename R , typename P >
static std::enable_if_t< std::chrono::treat_as_floating_point< R >::value, void > usleep (std::chrono::duration< R, P > time)
 

Static Private Member Functions

static MetadataLookupList handleMovie (MetadataLookup *lookup)
 handleMovie: attempt to find movie data via the following (in order) 1- Local MXML: already done before 2- Local NFO: already done 3- By title 4- By inetref (if present) More...
 
static MetadataLookupList handleTelevision (MetadataLookup *lookup)
 handleTelevision attempt to find television data via the following (in order) 1- Local MXML: already done before 2- Local NFO: already done 3- By inetref with season and episode 4- By inetref with subtitle 5- By inetref 6- By title and subtitle 7- By title More...
 
static MetadataLookupList handleVideoUndetermined (MetadataLookup *lookup)
 
static MetadataLookupList handleRecordingGeneric (MetadataLookup *lookup)
 
static MetadataLookupList handleGame (MetadataLookup *lookup)
 
static unsigned int findExactMatchCount (MetadataLookupList list, const QString &originaltitle, bool withArt)
 
static MetadataLookupfindBestMatch (MetadataLookupList list, const QString &originaltitle)
 
static MetadataLookupList runGrabber (const QString &cmd, const QStringList &args, MetadataLookup *lookup, bool passseas=true)
 
static MetadataLookupList readMXML (const QString &MXMLpath, MetadataLookup *lookup, bool passseas=true)
 
static MetadataLookupList readNFO (const QString &NFOpath, MetadataLookup *lookup)
 

Private Attributes

QObject * m_parent {nullptr}
 
MetadataLookupList m_lookupList
 
QMutex m_mutex
 

Additional Inherited Members

- Protected Attributes inherited from MThread
MThreadInternalm_thread {nullptr}
 
QRunnable * m_runnable {nullptr}
 
bool m_prologExecuted {true}
 
bool m_epilogExecuted {true}
 

Detailed Description

Definition at line 35 of file metadatadownload.h.

Constructor & Destructor Documentation

◆ MetadataDownload()

MetadataDownload::MetadataDownload ( QObject *  parent)
inlineexplicit

Definition at line 39 of file metadatadownload.h.

◆ ~MetadataDownload()

MetadataDownload::~MetadataDownload ( )
override

Definition at line 29 of file metadatadownload.cpp.

Member Function Documentation

◆ addLookup()

void MetadataDownload::addLookup ( MetadataLookup lookup)

addLookup: Add lookup to bottom of the queue MetadataDownload::m_lookupList takes ownership of the given lookup

Definition at line 39 of file metadatadownload.cpp.

Referenced by EditMetadataDialog::FindNetArt(), MetadataOptions::FindNetArt(), GameUI::gameSearch(), MetadataFactory::Lookup(), and MetadataFactory::SynchronousLookup().

◆ prependLookup()

void MetadataDownload::prependLookup ( MetadataLookup lookup)

prependLookup: Add lookup to top of the queue MetadataDownload::m_lookupList takes ownership of the given lookup

Definition at line 54 of file metadatadownload.cpp.

Referenced by GameUI::gameSearch(), MetadataFactory::Lookup(), GameUI::OnGameSearchListSelection(), run(), and MetadataFactory::SynchronousLookup().

◆ cancel()

void MetadataDownload::cancel ( )

◆ GetMovieGrabber()

QString MetadataDownload::GetMovieGrabber ( )
static

Definition at line 416 of file metadatadownload.cpp.

Referenced by MovieGrabberWorks(), and XMLTVParser::parseFile().

◆ GetTelevisionGrabber()

QString MetadataDownload::GetTelevisionGrabber ( )
static

Definition at line 421 of file metadatadownload.cpp.

Referenced by XMLTVParser::parseFile(), and TelevisionGrabberWorks().

◆ GetGameGrabber()

QString MetadataDownload::GetGameGrabber ( )
static

Definition at line 426 of file metadatadownload.cpp.

◆ runGrabberTest()

bool MetadataDownload::runGrabberTest ( const QString &  grabberpath)
static

Definition at line 431 of file metadatadownload.cpp.

Referenced by MovieGrabberWorks(), and TelevisionGrabberWorks().

◆ MovieGrabberWorks()

bool MetadataDownload::MovieGrabberWorks ( )
static

Definition at line 436 of file metadatadownload.cpp.

Referenced by MetadataFactory::VideoGrabbersFunctional().

◆ TelevisionGrabberWorks()

bool MetadataDownload::TelevisionGrabberWorks ( )
static

Definition at line 448 of file metadatadownload.cpp.

Referenced by MetadataFactory::VideoGrabbersFunctional().

◆ run()

void MetadataDownload::run ( )
overrideprotectedvirtual

Runs the Qt event loop unless we have a QRunnable, in which case we run the runnable run instead.

Note
If you override this method you must call RunProlog before you do any work and RunEpilog before you exit the run method.

Reimplemented from MThread.

Definition at line 73 of file metadatadownload.cpp.

◆ getMXMLPath()

QString MetadataDownload::getMXMLPath ( const QString &  filename)
staticprotected

Definition at line 831 of file metadatadownload.cpp.

Referenced by run().

◆ getNFOPath()

QString MetadataDownload::getNFOPath ( const QString &  filename)
staticprotected

Definition at line 836 of file metadatadownload.cpp.

Referenced by run().

◆ handleMovie()

MetadataLookupList MetadataDownload::handleMovie ( MetadataLookup lookup)
staticprivate

handleMovie: attempt to find movie data via the following (in order) 1- Local MXML: already done before 2- Local NFO: already done 3- By title 4- By inetref (if present)

Definition at line 607 of file metadatadownload.cpp.

Referenced by handleVideoUndetermined(), and run().

◆ handleTelevision()

MetadataLookupList MetadataDownload::handleTelevision ( MetadataLookup lookup)
staticprivate

handleTelevision attempt to find television data via the following (in order) 1- Local MXML: already done before 2- Local NFO: already done 3- By inetref with season and episode 4- By inetref with subtitle 5- By inetref 6- By title and subtitle 7- By title

Definition at line 649 of file metadatadownload.cpp.

Referenced by handleRecordingGeneric(), handleVideoUndetermined(), and run().

◆ handleVideoUndetermined()

MetadataLookupList MetadataDownload::handleVideoUndetermined ( MetadataLookup lookup)
staticprivate

Definition at line 739 of file metadatadownload.cpp.

Referenced by run().

◆ handleRecordingGeneric()

MetadataLookupList MetadataDownload::handleRecordingGeneric ( MetadataLookup lookup)
staticprivate

Definition at line 762 of file metadatadownload.cpp.

◆ handleGame()

MetadataLookupList MetadataDownload::handleGame ( MetadataLookup lookup)
staticprivate

Definition at line 563 of file metadatadownload.cpp.

Referenced by run().

◆ findExactMatchCount()

unsigned int MetadataDownload::findExactMatchCount ( MetadataLookupList  list,
const QString &  originaltitle,
bool  withArt 
)
staticprivate

Definition at line 247 of file metadatadownload.cpp.

Referenced by run().

◆ findBestMatch()

MetadataLookup * MetadataDownload::findBestMatch ( MetadataLookupList  list,
const QString &  originaltitle 
)
staticprivate

Definition at line 276 of file metadatadownload.cpp.

Referenced by run().

◆ runGrabber()

MetadataLookupList MetadataDownload::runGrabber ( const QString &  cmd,
const QStringList &  args,
MetadataLookup lookup,
bool  passseas = true 
)
staticprivate

Definition at line 384 of file metadatadownload.cpp.

◆ readMXML()

MetadataLookupList MetadataDownload::readMXML ( const QString &  MXMLpath,
MetadataLookup lookup,
bool  passseas = true 
)
staticprivate

Definition at line 460 of file metadatadownload.cpp.

Referenced by run().

◆ readNFO()

MetadataLookupList MetadataDownload::readNFO ( const QString &  NFOpath,
MetadataLookup lookup 
)
staticprivate

Definition at line 508 of file metadatadownload.cpp.

Referenced by run().

Member Data Documentation

◆ m_parent

QObject* MetadataDownload::m_parent {nullptr}
private

Definition at line 86 of file metadatadownload.h.

Referenced by cancel(), and run().

◆ m_lookupList

MetadataLookupList MetadataDownload::m_lookupList
private

Definition at line 87 of file metadatadownload.h.

Referenced by addLookup(), cancel(), prependLookup(), and run().

◆ m_mutex

QMutex MetadataDownload::m_mutex
private

Definition at line 88 of file metadatadownload.h.

Referenced by addLookup(), cancel(), prependLookup(), and run().


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