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

#include <mythhttpthread.h>

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

Public Member Functions

 MythHTTPThread (MythHTTPServer *Server, MythHTTPConfig Config, const QString &ThreadName, qintptr Socket, bool Ssl)
 
void Quit ()
 Tell the socket to complete and disconnect. 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...
 

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...
 

Private Attributes

MythHTTPServerm_server { nullptr }
 
MythHTTPConfig m_config
 
qintptr m_socketFD { 0 }
 
MythHTTPSocketm_socket { nullptr }
 
bool m_ssl { 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)
 
- 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 12 of file mythhttpthread.h.

Constructor & Destructor Documentation

◆ MythHTTPThread()

MythHTTPThread::MythHTTPThread ( MythHTTPServer Server,
MythHTTPConfig  Config,
const QString &  ThreadName,
qintptr  Socket,
bool  Ssl 
)

Definition at line 10 of file mythhttpthread.cpp.

Member Function Documentation

◆ Quit()

void MythHTTPThread::Quit ( )

Tell the socket to complete and disconnect.

We use this mechanism as QThread::quit is a slot and we cannot use it to trigger disconnection (and finished is too late for our needs). So tell the socket to cleanup and close - and once the socket is disconnected it will trigger a call to QThread::quit().

Definition at line 43 of file mythhttpthread.cpp.

◆ run()

void MythHTTPThread::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 20 of file mythhttpthread.cpp.

Member Data Documentation

◆ m_server

MythHTTPServer* MythHTTPThread::m_server { nullptr }
private

Definition at line 25 of file mythhttpthread.h.

Referenced by run().

◆ m_config

MythHTTPConfig MythHTTPThread::m_config
private

Definition at line 26 of file mythhttpthread.h.

Referenced by run().

◆ m_socketFD

qintptr MythHTTPThread::m_socketFD { 0 }
private

Definition at line 27 of file mythhttpthread.h.

Referenced by run().

◆ m_socket

MythHTTPSocket* MythHTTPThread::m_socket { nullptr }
private

Definition at line 28 of file mythhttpthread.h.

Referenced by Quit(), and run().

◆ m_ssl

bool MythHTTPThread::m_ssl { false }
private

Definition at line 29 of file mythhttpthread.h.

Referenced by run().


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