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

#include <gamescan.h>

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

Public Member Functions

 GameScannerThread (void)
 
 ~GameScannerThread () override=default
 
void run (void) override
 Runs the Qt event loop unless we have a QRunnable, in which case we run the runnable run instead. More...
 
void SetHandlers (QList< GameHandler * > handlers)
 
void SetProgressDialog (MythUIProgressDialog *dialog)
 
bool getDataChanged () const
 
- 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...
 

Private Member Functions

void verifyFiles ()
 
void updateDB ()
 
bool buildFileList ()
 
void SendProgressEvent (uint progress, uint total=0, QString message=QString())
 

Static Private Member Functions

static void removeOrphan (int id)
 

Private Attributes

bool m_hasGUI
 
QList< GameHandler * > m_handlers
 
RomFileInfoList m_files
 
QList< uintm_remove
 
QList< RomInfo * > m_dbgames
 
MythUIProgressDialogm_dialog {nullptr}
 
bool m_dbDataChanged {false}
 

Additional Inherited Members

- 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 inherited from MThread
int exec (void)
 Enters the qt event loop. call exit or quit to exit thread. More...
 
- 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)
 
- 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 33 of file gamescan.h.

Constructor & Destructor Documentation

◆ GameScannerThread()

GameScannerThread::GameScannerThread ( void  )
explicit

Definition at line 28 of file gamescan.cpp.

◆ ~GameScannerThread()

GameScannerThread::~GameScannerThread ( )
overridedefault

Member Function Documentation

◆ run()

void GameScannerThread::run ( void  )
overridevirtual

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 34 of file gamescan.cpp.

◆ SetHandlers()

void GameScannerThread::SetHandlers ( QList< GameHandler * >  handlers)
inline

Definition at line 41 of file gamescan.h.

Referenced by GameScanner::doScan().

◆ SetProgressDialog()

void GameScannerThread::SetProgressDialog ( MythUIProgressDialog dialog)
inline

Definition at line 42 of file gamescan.h.

Referenced by GameScanner::doScan().

◆ getDataChanged()

bool GameScannerThread::getDataChanged ( ) const
inline

Definition at line 44 of file gamescan.h.

Referenced by GameScanner::finishedScan().

◆ removeOrphan()

void GameScannerThread::removeOrphan ( int  id)
staticprivate

Definition at line 54 of file gamescan.cpp.

Referenced by updateDB().

◆ verifyFiles()

void GameScannerThread::verifyFiles ( )
private

Definition at line 65 of file gamescan.cpp.

Referenced by run().

◆ updateDB()

void GameScannerThread::updateDB ( )
private

Definition at line 106 of file gamescan.cpp.

Referenced by run().

◆ buildFileList()

bool GameScannerThread::buildFileList ( )
private

Definition at line 135 of file gamescan.cpp.

Referenced by run().

◆ SendProgressEvent()

void GameScannerThread::SendProgressEvent ( uint  progress,
uint  total = 0,
QString  message = QString() 
)
private

Definition at line 179 of file gamescan.cpp.

Referenced by buildFileList(), updateDB(), and verifyFiles().

Member Data Documentation

◆ m_hasGUI

bool GameScannerThread::m_hasGUI
private

Definition at line 58 of file gamescan.h.

Referenced by buildFileList(), updateDB(), and verifyFiles().

◆ m_handlers

QList<GameHandler*> GameScannerThread::m_handlers
private

Definition at line 60 of file gamescan.h.

Referenced by buildFileList(), and SetHandlers().

◆ m_files

RomFileInfoList GameScannerThread::m_files
private

Definition at line 62 of file gamescan.h.

Referenced by buildFileList(), run(), updateDB(), and verifyFiles().

◆ m_remove

QList<uint> GameScannerThread::m_remove
private

Definition at line 63 of file gamescan.h.

Referenced by run(), updateDB(), and verifyFiles().

◆ m_dbgames

QList<RomInfo*> GameScannerThread::m_dbgames
private

Definition at line 64 of file gamescan.h.

Referenced by run(), and verifyFiles().

◆ m_dialog

MythUIProgressDialog* GameScannerThread::m_dialog {nullptr}
private

Definition at line 66 of file gamescan.h.

Referenced by SendProgressEvent(), and SetProgressDialog().

◆ m_dbDataChanged

bool GameScannerThread::m_dbDataChanged {false}
private

Definition at line 68 of file gamescan.h.

Referenced by getDataChanged(), and updateDB().


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