SystemProcessObjectInterface Class Reference

#include <system_process.h>

Inheritance diagram for SystemProcessObjectInterface:

Detailed Description

Public Member Functions

MAXON_METHOD Result< void > StartProcess ()
MAXON_METHOD Result< void > KillProcess ()
MAXON_METHOD Int GetExitCode () const
MAXON_METHOD Bool IsRunning () const
MAXON_METHOD UInt GetProcessId () const
MAXON_METHOD void * GetProcessHandle () const
MAXON_METHOD Url GetProcessUrl () const
MAXON_METHOD Url GetLogFile () const
MAXON_METHOD void * GetUserData () const
MAXON_METHOD Result< void > GetLoadedDlls (const ValueReceiver< const DllRef & > &dlls) const
 MAXON_OBSERVABLE (void, ObservableProcessFinished,(const SystemProcessObjectRef &sender), ObservableCombinerRunAllComponent)

Private Member Functions

 MAXON_INTERFACE (SystemProcessObjectInterface, MAXON_REFERENCE_NORMAL, "net.maxon.interface.systemprocessobject")

Member Function Documentation


MAXON_INTERFACE ( SystemProcessObjectInterface  ,

◆ StartProcess()

MAXON_METHOD Result<void> StartProcess ( )

Executes the prepared process. This only works once. To start the same executable again you need to allocate another instance with the same settings.

OK on success.

◆ KillProcess()

MAXON_METHOD Result<void> KillProcess ( )

Kills the process if it is still running. All child processes are also killed.

OK on success. If the process was not running SystemProcessOperationError is returned.

◆ GetExitCode()

MAXON_METHOD Int GetExitCode ( ) const

Returns the exit code of the execution. This is possible as soon as the process finished. Note: The exit code under OS X only works for own child processes. Under Windows the exit code is available for all processes.

Returns the exit code of the process or (UInt)NOTOK if the process is still running.

◆ IsRunning()

MAXON_METHOD Bool IsRunning ( ) const

Returns whether the process is running or not.

True if the process is running.

◆ GetProcessId()

MAXON_METHOD UInt GetProcessId ( ) const

Returns the System Process Id.

The system process id (pid).

◆ GetProcessHandle()

MAXON_METHOD void* GetProcessHandle ( ) const

Returns the pointer to the windows process handle.

Windows: HANDLE of the windows process. OS X: pid of the process.

◆ GetProcessUrl()

MAXON_METHOD Url GetProcessUrl ( ) const

Returns the file path to the executable. Notes: Under windows the full path is only returned for processes that the user owns. System processes are only given by name. Under OS X the name is limited to the first 10 characters at the moment.

File name of the executable.

◆ GetLogFile()

MAXON_METHOD Url GetLogFile ( ) const

Returns the path of the captured logfile.

Return the log file path. If the process was not created using EXECUTEPROGRAMFLAGS::CAPTURELOGFILE an empty name is returned.

◆ GetUserData()

MAXON_METHOD void* GetUserData ( ) const

Returns the user data connected to this process. See SystemProcessInterface::CreateProcess().

Return the pointer to the user data of this process.

◆ GetLoadedDlls()

MAXON_METHOD Result<void> GetLoadedDlls ( const ValueReceiver< const DllRef & > &  dlls) const

Gets an array of all loaded dlls for this process.

OK on success.


ObservableProcessFinished  ,
(const SystemProcessObjectRef &sender)  ,

Signal that the process finished execution. Make sure that you add this notification before you start the process, otherwise it could be too late if the process already ended.

[in]senderReference to the SystemProcessObjectRef which has been finished.
ObservableRef to operate on.