CTK  0.1.0
The Common Toolkit is a community effort to provide support code for medical image analysis, surgical navigation, and related projects.
Signals | Public Member Functions | Friends | List of all members
ctkCmdLineModuleFutureWatcher Class Reference

The ctkCmdLineModuleFutureWatcher class provides enhanced monitoring of a ctkCmdLineModuleFuture using signals and slots. More...

#include <Libs/CommandLineModules/Core/ctkCmdLineModuleFutureWatcher.h>

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

Signals

void errorDataReady ()
 
void outputDataReady ()
 

Public Member Functions

 ctkCmdLineModuleFutureWatcher (QObject *parent=0)
 
bool event (QEvent *event)
 
ctkCmdLineModuleFuture future () const
 
QByteArray readAllErrorData () const
 
QByteArray readAllOutputData () const
 
QByteArray readPendingErrorData () const
 
QByteArray readPendingOutputData () const
 
void setFuture (const ctkCmdLineModuleFuture &future)
 
 ~ctkCmdLineModuleFutureWatcher ()
 

Friends

struct ctkCmdLineModuleFutureWatcherPrivate
 

Detailed Description

The ctkCmdLineModuleFutureWatcher class provides enhanced monitoring of a ctkCmdLineModuleFuture using signals and slots.

This class enhances the standard QFutureWatcher class by adding the two signals outputDataReady() and errorDataReady(). These signals are fired whenever the watched future reports new output data (usually text written to the standard output channel) or new error data (usually text written to the standard error channel).

Use readPendingOutputData() or readPendingErrorData() to get the newly added data.

Warning
While you could use a QFutureWatcher<ctkCmdLineModuleResult> instance directly (and provide a ctkCmdLineModuleFuture via QFutureWatcher<ctkCmdLineModuleResult>::setFuture(future) by virtue of "slicing") this is discouraged. The reason is that a member variable of type QFutureWatcher<ctkCmdLineModuleResult> will have a different size, depending on the inclusion of the ctkCmdLineModuleFutureInterface.h header (this header provides a specialization of the QFutureInterface template which adds a data member). This can lead to subtle heap corruptions. Since the code compiles with or without the ctkCmdLindeModuleFutureInterface.h inclusion, you should always use ctkCmdLineModuleFutureWatcher when working with ctkCmdLineModuleFuture objects to avoid runtime heap corruptions.

Definition at line 58 of file ctkCmdLineModuleFutureWatcher.h.

Constructor & Destructor Documentation

◆ ctkCmdLineModuleFutureWatcher()

ctkCmdLineModuleFutureWatcher::ctkCmdLineModuleFutureWatcher ( QObject *  parent = 0)

◆ ~ctkCmdLineModuleFutureWatcher()

ctkCmdLineModuleFutureWatcher::~ctkCmdLineModuleFutureWatcher ( )

Member Function Documentation

◆ errorDataReady

void ctkCmdLineModuleFutureWatcher::errorDataReady ( )
signal

◆ event()

bool ctkCmdLineModuleFutureWatcher::event ( QEvent *  event)

◆ future()

ctkCmdLineModuleFuture ctkCmdLineModuleFutureWatcher::future ( ) const

◆ outputDataReady

void ctkCmdLineModuleFutureWatcher::outputDataReady ( )
signal

◆ readAllErrorData()

QByteArray ctkCmdLineModuleFutureWatcher::readAllErrorData ( ) const

◆ readAllOutputData()

QByteArray ctkCmdLineModuleFutureWatcher::readAllOutputData ( ) const

◆ readPendingErrorData()

QByteArray ctkCmdLineModuleFutureWatcher::readPendingErrorData ( ) const

◆ readPendingOutputData()

QByteArray ctkCmdLineModuleFutureWatcher::readPendingOutputData ( ) const

◆ setFuture()

void ctkCmdLineModuleFutureWatcher::setFuture ( const ctkCmdLineModuleFuture future)

Friends And Related Function Documentation

◆ ctkCmdLineModuleFutureWatcherPrivate

friend struct ctkCmdLineModuleFutureWatcherPrivate
friend

Definition at line 87 of file ctkCmdLineModuleFutureWatcher.h.


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