AUI Framework  develop
Cross-platform base for C++ UI apps
Loading...
Searching...
No Matches
AChildProcess Class Reference

#include <AUI/Platform/AProcess.h>

Public Member Functions

const auto & getApplicationFile () const
 
const auto & getArgs () const
 
const auto & getWorkingDirectory () const
 
APath getPathToExecutable () override
 
AOptional< int > exitCodeNonBlocking () const noexcept
 
bool isFinished () const noexcept
 
void run (ASubProcessExecutionFlags flags=ASubProcessExecutionFlags::DEFAULT)
 Launches process.
 
int waitForExitCode () override
 Wait for process to be finished.
 
uint32_t getPid () const noexcept override
 
size_t processMemory () const override
 Obtain process memory usage.
 
APath getModuleName () override
 
const _< IOutputStream > & getStdInStream () const
 
- Public Member Functions inherited from AProcess
void kill () const noexcept
 
- Public Member Functions inherited from aui::noncopyable
 noncopyable (const noncopyable &)=delete
 
noncopyableoperator= (const noncopyable &)=delete
 
- Public Member Functions inherited from AObject
_< AObjectsharedPtr ()
 
_weak< AObjectweakPtr ()
 
template<typename Connectable, ACompatibleSlotFor< Connectable > Function>
void connect (const Connectable &connectable, Function &&function)
 Connects signal or property to slot of "this" object.
 
void setSignalsEnabled (bool enabled)
 
bool isSignalsEnabled () const noexcept
 
template<ASignalInvokable T>
void operator^ (T &&t)
 
_< AAbstractThreadgetThread () const
 
bool isSlotsCallsOnlyOnMyThread () const noexcept
 
void setSlotsCallsOnlyOnMyThread (bool slotsCallsOnlyOnMyThread)
 
- Public Member Functions inherited from AObjectBase
 AObjectBase (AObjectBase &&rhs) noexcept
 
void clearSignals () noexcept
 

Signals and public fields

emits finished
 
emits< AByteBufferstdOut
 
emits< AByteBufferstdErr
 

Additional Inherited Members

- Static Public Member Functions inherited from AProcess
static _< AChildProcesscreate (ProcessCreationInfo args)
 Launches an executable.
 
static _< AChildProcessmake (AString applicationFile, AString args={}, APath workingDirectory={})
 Launches an executable.
 
static int executeWaitForExit (AString applicationFile, AString args={}, APath workingDirectory={}, ASubProcessExecutionFlags flags=ASubProcessExecutionFlags::DEFAULT)
 Launches executable.
 
static void executeAsAdministrator (const AString &applicationFile, const AString &args={}, const APath &workingDirectory={})
 Launches executable with administrator rights. (Windows only)
 
static AVector< _< AProcess > > all ()
 
static _< AProcessself ()
 
static _< AProcessfindAnotherSelfInstance (const AString &yourProjectName)
 tempFileName file name which will be used as lock
 
static _< AProcessfromPid (uint32_t pid)
 
- Static Public Member Functions inherited from AObject
static void disconnect ()
 
template<AAnySignal Signal, aui::derived_from< AObjectBase > Object, ACompatibleSlotFor< Signal > Function>
static void connect (const Signal &signal, Object *object, Function &&function)
 Connects signal to the slot of the specified object.
 
template<AAnyProperty Property, aui::derived_from< AObjectBase > Object, typename Function>
static void connect (const Property &property, Object *object, Function &&function)
 Connects property to the slot of the specified object.
 
template<APropertyReadable PropertySource, APropertyWritable PropertyDestination>
requires requires { { *propertySource } -> aui::convertible_to<std::decay_t<decltype(*propertyDestination)>>; }
static void connect (PropertySource &&propertySource, PropertyDestination &&propertyDestination)
 Connects source property to the destination property.
 
template<APropertyWritable PropertySource, APropertyWritable PropertyDestination>
requires requires { { *propertySource } -> aui::convertible_to<std::decay_t<decltype(*propertyDestination)>>; { *propertyDestination } -> aui::convertible_to<std::decay_t<decltype(*propertySource)>>; }
static void biConnect (PropertySource &&propertySource, PropertyDestination &&propertyDestination)
 Connects source property to the destination property and opposite (bidirectionally).
 
template<AAnySignalOrProperty Connectable, aui::derived_from< AObjectBase > Object, ACompatibleSlotFor< Connectable > Function>
static void connect (const Connectable &connectable, Object &object, Function &&function)
 Connects signal or property to the slot of the specified object.
 
template<AAnySignalOrProperty Connectable, aui::derived_from< AObjectBase > Object, ACompatibleSlotFor< Connectable > Function>
static void connect (const Connectable &connectable, _< Object > object, Function &&function)
 Connects signal or property to the slot of the specified object.
 
template<AAnySignalOrProperty Connectable, aui::derived_from< AObjectBase > Object, typename Function>
static void connect (const Connectable &connectable, ASlotDef< Object *, Function > slotDef)
 Connects signal to the slot of the specified object. Slot is packed to single argument.
 
template<AAnyProperty Property, typename Object, ACompatibleSlotFor< Property > Function>
requires (!aui::derived_from<Object, AObject>)
static void connect (const Property &property, _< Object > object, Function &&function)
 Connects signal or property to the slot of the specified non-AObject type.
 
static void moveToThread (aui::no_escape< AObject > object, _< AAbstractThread > thread)
 
- Protected Member Functions inherited from AObject
void setThread (_< AAbstractThread > thread)
 Set thread of the object.
 

Detailed Description

Creates child process of this application.

Member Function Documentation

◆ getModuleName()

APath AChildProcess::getModuleName ( )
overridevirtual
Returns
process' executable file name.

Implements AProcess.

◆ getPathToExecutable()

APath AChildProcess::getPathToExecutable ( )
inlineoverridevirtual
Returns
path to the process' executable.

Implements AProcess.

◆ getPid()

uint32_t AChildProcess::getPid ( ) const
overridevirtualnoexcept
Returns
process' ID.

Implements AProcess.

◆ processMemory()

size_t AChildProcess::processMemory ( ) const
overridevirtual

Obtain process memory usage.

Implements AProcess.

◆ waitForExitCode()

int AChildProcess::waitForExitCode ( )
overridevirtual

Wait for process to be finished.

Returns
exit code

Implements AProcess.


The documentation for this class was generated from the following files:
Inheritance diagram for AChildProcess:
Collaboration diagram for AChildProcess: