Akonadi::ProcessControl

Search for usage in LXR

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 () override
 
bool isRunning () const
 
void restartOnceWhenFinished ()
 
void setCrashPolicy (CrashPolicy policy)
 
void setShutdownTimeout (std::chrono::milliseconds timeout)
 
void start ()
 
void start (const QString &application, const QStringList &arguments=QStringList(), CrashPolicy policy=RestartOnCrash)
 
void stop ()
 
- Public Member Functions inherited from QObject
 QObject (QObject *parent)
 
QBindable< QStringbindableObjectName ()
 
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 () const const
 
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 QRegularExpression &re, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (Qt::FindChildOptions options) const const
 
bool inherits (const char *className) const const
 
void installEventFilter (QObject *filterObj)
 
bool isQuickItemType () const const
 
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_EMIT Q_EMIT
 
 Q_ENUM (...)
 
 Q_ENUM_NS (...)
 
 Q_ENUMS (...)
 
 Q_FLAG (...)
 
 Q_FLAG_NS (...)
 
 Q_FLAGS (...)
 
 Q_GADGET Q_GADGET
 
 Q_GADGET_EXPORT (EXPORT_MACRO)
 
 Q_INTERFACES (...)
 
 Q_INVOKABLE Q_INVOKABLE
 
 Q_MOC_INCLUDE Q_MOC_INCLUDE
 
 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
 
qobject_cast (const QObject *object)
 
qobject_cast (QObject *object)
 
 QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
 
void removeEventFilter (QObject *obj)
 
void setObjectName (const QString &name)
 
void setObjectName (QAnyStringView name)
 
void setParent (QObject *parent)
 
bool setProperty (const char *name, const QVariant &value)
 
bool setProperty (const char *name, QVariant &&value)
 
bool signalsBlocked () const const
 
int startTimer (int interval, Qt::TimerType timerType)
 
int startTimer (std::chrono::milliseconds interval, 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 *context, Functor functor, 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)
 
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, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
bool disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method)
 
QString tr (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 20 of file processcontrol.h.

Member Enumeration Documentation

◆ CrashPolicy

These 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 32 of file processcontrol.h.

Constructor & Destructor Documentation

◆ ProcessControl()

ProcessControl::ProcessControl ( QObject * parent = nullptr)
explicit

Creates a new process control.

Parameters
parentThe parent object.

Definition at line 27 of file processcontrol.cpp.

◆ ~ProcessControl()

ProcessControl::~ProcessControl ( )
override

Destroys the process control.

Definition at line 45 of file processcontrol.cpp.

Member Function Documentation

◆ isRunning()

bool ProcessControl::isRunning ( ) const
nodiscard

Returns true if the process is currently running.

Definition at line 253 of file processcontrol.cpp.

◆ processErrorMessages

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.

◆ restarted

void Akonadi::ProcessControl::restarted ( )
signal

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

◆ restartOnceWhenFinished()

void Akonadi::ProcessControl::restartOnceWhenFinished ( )
inline

Restart the application the next time it exits normally.

Definition at line 72 of file processcontrol.h.

◆ setCrashPolicy()

void ProcessControl::setCrashPolicy ( CrashPolicy policy)

Sets the crash policy.

Definition at line 61 of file processcontrol.cpp.

◆ setShutdownTimeout()

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 258 of file processcontrol.cpp.

◆ start() [1/2]

void ProcessControl::start ( )

Starts the process with the previously set application and arguments.

Definition at line 158 of file processcontrol.cpp.

◆ start() [2/2]

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 50 of file processcontrol.cpp.

◆ stop()

void ProcessControl::stop ( )

Stops the currently running application.

Definition at line 66 of file processcontrol.cpp.

◆ unableToStart

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-2024 The KDE developers.
Generated on Fri Jul 26 2024 11:52:53 by doxygen 1.11.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.