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

#include <deletethread.h>

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

Public Member Functions

 DeleteThread (void)
 
void run () override
 Runs the Qt event loop unless we have a QRunnable, in which case we run the runnable run instead. More...
 
bool AddFile (const QString &path)
 
bool AddFile (DeleteHandler *handler)
 
void Stop (void)
 
 DeleteThread (MainServer *ms, const QString &filename, const QString &title, uint chanid, QDateTime recstartts, QDateTime recendts, uint recordingId, bool forceMetadataDelete)
 
void start (void)
 
void run (void) override
 Runs the Qt event loop unless we have a QRunnable, in which case we run the runnable run instead. More...
 
- 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 ProcessNew (void)
 
void ProcessOld (void)
 

Private Attributes

size_t m_increment { 9961472 }
 
bool m_slow
 
bool m_link
 
bool m_run { true }
 
QList< DeleteHandler * > m_newfiles
 
QMutex m_newlock
 
QList< DeleteHandler * > m_files
 

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 19 of file deletethread.h.

Constructor & Destructor Documentation

◆ DeleteThread() [1/2]

DeleteThread::DeleteThread ( void  )

Definition at line 28 of file deletethread.cpp.

◆ DeleteThread() [2/2]

DeleteThread::DeleteThread ( MainServer ms,
const QString &  filename,
const QString &  title,
uint  chanid,
QDateTime  recstartts,
QDateTime  recendts,
uint  recordingId,
bool  forceMetadataDelete 
)
inline

Definition at line 79 of file mainserver.h.

Member Function Documentation

◆ run() [1/2]

void DeleteThread::run ( )
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 35 of file deletethread.cpp.

◆ AddFile() [1/2]

bool DeleteThread::AddFile ( const QString &  path)

Definition at line 67 of file deletethread.cpp.

Referenced by FileServerHandler::HandleDeleteFile().

◆ AddFile() [2/2]

bool DeleteThread::AddFile ( DeleteHandler handler)

Definition at line 80 of file deletethread.cpp.

◆ Stop()

void DeleteThread::Stop ( void  )
inline

Definition at line 27 of file deletethread.h.

◆ ProcessNew()

void DeleteThread::ProcessNew ( void  )
private

Definition at line 88 of file deletethread.cpp.

Referenced by run().

◆ ProcessOld()

void DeleteThread::ProcessOld ( void  )
private

Definition at line 210 of file deletethread.cpp.

Referenced by run().

◆ start()

void DeleteThread::start ( void  )
inline

Definition at line 84 of file mainserver.h.

Referenced by FileServerHandler::RunDeleteThread().

◆ run() [2/2]

void DeleteThread::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.

Member Data Documentation

◆ m_increment

size_t DeleteThread::m_increment { 9961472 }
private

Definition at line 33 of file deletethread.h.

Referenced by ProcessOld().

◆ m_slow

bool DeleteThread::m_slow
private

Definition at line 34 of file deletethread.h.

Referenced by DeleteThread(), and ProcessOld().

◆ m_link

bool DeleteThread::m_link
private

Definition at line 35 of file deletethread.h.

Referenced by DeleteThread(), and ProcessNew().

◆ m_run

bool DeleteThread::m_run { true }
private

Definition at line 36 of file deletethread.h.

Referenced by run(), and Stop().

◆ m_newfiles

QList<DeleteHandler*> DeleteThread::m_newfiles
private

Definition at line 38 of file deletethread.h.

Referenced by AddFile(), and ProcessNew().

◆ m_newlock

QMutex DeleteThread::m_newlock
private

Definition at line 39 of file deletethread.h.

Referenced by AddFile(), and ProcessNew().

◆ m_files

QList<DeleteHandler*> DeleteThread::m_files
private

Definition at line 41 of file deletethread.h.

Referenced by ProcessNew(), ProcessOld(), and run().


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