Akonadi::ProcessControl

Akonadi::ProcessControl Class Reference

#include <processcontrol.h>

Inheritance diagram for Akonadi::ProcessControl:

Public Types

enum  CrashPolicy { StopOnCrash, RestartOnCrash }
 

Signals

void processErrorMessages (const QString &errorMsg)
 
void restarted ()
 
void unableToStart ()
 

Public Member Functions

 ProcessControl (QObject *parent=nullptr)
 
 ~ProcessControl ()
 
bool isRunning () const
 
void restartOnceWhenFinished ()
 
void setCrashPolicy (CrashPolicy policy)
 
void setShutdownTimeout (std::chrono::milliseconds timeout)
 
void start (const QString &application, const QStringList &arguments=QStringList(), CrashPolicy policy=RestartOnCrash)
 
void start ()
 
void stop ()
 
- Public Member Functions inherited from QObject
 QObject (QObject *parent)
 
bool blockSignals (bool block)
 
const QObjectListchildren () const const
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const
 
void deleteLater ()
 
void destroyed (QObject *obj)
 
bool disconnect (const char *signal, const QObject *receiver, const char *method) const const
 
bool disconnect (const QObject *receiver, const char *method) const const
 
void dumpObjectInfo ()
 
void dumpObjectInfo () const const
 
void dumpObjectTree ()
 
void dumpObjectTree () const const
 
QList< QByteArraydynamicPropertyNames () const const
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
findChild (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegExp &regExp, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const
 
bool inherits (const char *className) const const
 
void installEventFilter (QObject *filterObj)
 
bool isWidgetType () const const
 
bool isWindowType () const const
 
void killTimer (int id)
 
virtual const QMetaObjectmetaObject () const const
 
void moveToThread (QThread *targetThread)
 
QString objectName () const const
 
void objectNameChanged (const QString &objectName)
 
QObjectparent () const const
 
QVariant property (const char *name) const const
 
 Q_CLASSINFO (Name, Value)
 
 Q_DISABLE_COPY (Class)
 
 Q_DISABLE_COPY_MOVE (Class)
 
 Q_DISABLE_MOVE (Class)
 
 Q_EMIT Q_EMIT
 
 Q_ENUM (...)
 
 Q_ENUM_NS (...)
 
 Q_ENUMS (...)
 
 Q_FLAG (...)
 
 Q_FLAG_NS (...)
 
 Q_FLAGS (...)
 
 Q_GADGET Q_GADGET
 
 Q_INTERFACES (...)
 
 Q_INVOKABLE Q_INVOKABLE
 
 Q_NAMESPACE Q_NAMESPACE
 
 Q_NAMESPACE_EXPORT (EXPORT_MACRO)
 
 Q_OBJECT Q_OBJECT
 
 Q_PROPERTY (...)
 
 Q_REVISION Q_REVISION
 
 Q_SET_OBJECT_NAME (Object)
 
 Q_SIGNAL Q_SIGNAL
 
 Q_SIGNALS Q_SIGNALS
 
 Q_SLOT Q_SLOT
 
 Q_SLOTS Q_SLOTS
 
qFindChild (const QObject *obj, const QString &name)
 
QList< T > qFindChildren (const QObject *obj, const QRegExp &regExp)
 
QList< T > qFindChildren (const QObject *obj, const QString &name)
 
qobject_cast (QObject *object)
 
qobject_cast (const QObject *object)
 
 QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
 
void removeEventFilter (QObject *obj)
 
void setObjectName (const QString &name)
 
void setParent (QObject *parent)
 
bool setProperty (const char *name, const QVariant &value)
 
bool signalsBlocked () const const
 
int startTimer (int interval, Qt::TimerType timerType)
 
int startTimer (std::chrono::milliseconds time, Qt::TimerType timerType)
 
QThreadthread () const const
 

Additional Inherited Members

- Properties inherited from QObject
 objectName
 
- Static Public Member Functions inherited from QObject
QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, Functor functor)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type)
 
bool disconnect (const QMetaObject::Connection &connection)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 
- Public Attributes inherited from QObject
typedef QObjectList
 
- Protected Member Functions inherited from QObject
virtual void childEvent (QChildEvent *event)
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void customEvent (QEvent *event)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
bool isSignalConnected (const QMetaMethod &signal) const const
 
int receivers (const char *signal) const const
 
QObjectsender () const const
 
int senderSignalIndex () const const
 
virtual void timerEvent (QTimerEvent *event)
 

Detailed Description

This class starts and observes a process.

Depending on the policy it also restarts the process when it crashes.

Definition at line 22 of file processcontrol.h.

Member Enumeration Documentation

Theses enums describe the behaviour when the observed application crashed.

  • StopOnCrash - The application won't be restarted.
  • RestartOnCrash - The application is restarted with the same arguments.

Definition at line 34 of file processcontrol.h.

Constructor & Destructor Documentation

ProcessControl::ProcessControl ( QObject parent = nullptr)
explicit

Creates a new process control.

Parameters
parentThe parent object.

Definition at line 28 of file processcontrol.cpp.

ProcessControl::~ProcessControl ( )

Destroys the process control.

Definition at line 52 of file processcontrol.cpp.

Member Function Documentation

bool ProcessControl::isRunning ( ) const

Returns true if the process is currently running.

Definition at line 269 of file processcontrol.cpp.

void Akonadi::ProcessControl::processErrorMessages ( const QString errorMsg)
signal

This signal is emitted whenever the observed application writes something to stderr.

Parameters
errorMsgThe error output of the observed application.
void Akonadi::ProcessControl::restarted ( )
signal

This signal is emitted when the server is restarted after a crash.

void Akonadi::ProcessControl::restartOnceWhenFinished ( )
inline

Restart the application the next time it exits normally.

Definition at line 75 of file processcontrol.h.

void ProcessControl::setCrashPolicy ( CrashPolicy  policy)

Sets the crash policy.

Definition at line 68 of file processcontrol.cpp.

void ProcessControl::setShutdownTimeout ( std::chrono::milliseconds  timeout)

Sets the time (in msecs) we wait for the process to shut down before we send terminate/kill signals.

Default is 1 second. Note that it is your responsiblility to ask the process to quit, otherwise this is just pointless waiting.

Definition at line 274 of file processcontrol.cpp.

void ProcessControl::start ( const QString application,
const QStringList arguments = QStringList(),
CrashPolicy  policy = RestartOnCrash 
)

Starts the application with the given list of arguments.

Definition at line 57 of file processcontrol.cpp.

void ProcessControl::start ( )

Starts the process with the previously set application and arguments.

Definition at line 162 of file processcontrol.cpp.

void ProcessControl::stop ( )

Stops the currently running application.

Definition at line 73 of file processcontrol.cpp.

void Akonadi::ProcessControl::unableToStart ( )
signal

Emitted if the process could not be started since it terminated too often.


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jul 6 2020 23:15:39 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.