Handle to an owned process.
More...
|
void | Destroy () |
| Destroy a previously created process object.
|
|
ProcessShared | share () |
| Move this process into a ProcessShared.
|
|
constexpr | ResourceUnique (std::nullptr_t=nullptr) |
| Default constructor.
|
|
constexpr | ResourceUnique (base::value_type value, DELETER deleter={}) |
| Constructs from raw type.
|
|
constexpr | ResourceUnique (ResourceUnique &&other) |
| Move constructor.
|
|
| ResourceUnique (const ResourceUnique &other)=delete |
|
constexpr | ResourceUnique (std::nullptr_t=nullptr) |
| Default constructor.
|
|
constexpr | ResourceUnique (base::value_type value, DefaultDeleter< ProcessRef > deleter={}) |
| Constructs from raw type.
|
|
constexpr | ResourceUnique (ResourceUnique &&other) |
| Move constructor.
|
|
| ResourceUnique (const ResourceUnique &other)=delete |
|
| ~ResourceUnique () |
| Destructor.
|
|
constexpr ResourceUnique & | operator= (ResourceUnique other) |
| Assignment operator.
|
|
void | reset () |
| Resets the value, destroying the resource if not nullptr.
|
|
RESOURCE | release () |
| Returns reference and reset this.
|
|
constexpr | operator bool () const |
| Check if not null.
|
|
constexpr bool | operator== (const ResourcePtrBase &other) const |
| Comparison.
|
|
constexpr bool | operator== (std::nullptr_t) const |
| Comparison.
|
|
constexpr bool | operator== (std::nullopt_t) const |
| Comparison.
|
|
constexpr reference | operator* () const |
| Gets reference.
|
|
constexpr const reference * | operator-> () const |
| Gets addressable reference.
|
|
constexpr reference * | operator-> () |
| Gets addressable reference.
|
|
reference | get () const |
| Get reference.
|
|
|
using | deleter = DELETER |
| The deleter type.
|
|
using | reference = RESOURCE |
| The reference resource type.
|
|
using | value_type = typename reference::value_type |
| The raw resource type.
|
|
constexpr | ResourceOwnerBase (base::value_type value={}, DELETER deleter={}) |
| Constructs from raw type.
|
|
void | free () |
| Frees resource.
|
|
constexpr | ResourcePtrBase (value_type value={}) |
| Constructs from raw type.
|
|
reference & | get () |
| Get reference.
|
|
- Category:
- Resource
- See also
- ProcessRef
◆ Create()
static Process SDL::Process::Create |
( |
const char *const * |
args, |
|
|
bool |
pipe_stdio |
|
) |
| |
|
inlinestatic |
◆ CreateWithProperties()
These are the supported properties:
prop::process.CREATE_ARGS_POINTER
: an array of strings containing the program to run, any arguments, and a nullptr pointer, e.g. const char *args[] = { "myprogram", "argument", nullptr }. This is a required property.
prop::process.CREATE_ENVIRONMENT_POINTER
: an EnvironmentRef pointer. If this property is set, it will be the entire environment for the process, otherwise the current environment is used.
prop::process.CREATE_STDIN_NUMBER
: an ProcessIO value describing where standard input for the process comes from, defaults to SDL_PROCESS_STDIO_NULL
.
prop::process.CREATE_STDIN_POINTER
: an IOStreamRef pointer used for standard input when prop::process.CREATE_STDIN_NUMBER
is set to PROCESS_STDIO_REDIRECT
.
prop::process.CREATE_STDOUT_NUMBER
: an ProcessIO value describing where standard output for the process goes to, defaults to PROCESS_STDIO_INHERITED
.
prop::process.CREATE_STDOUT_POINTER
: an IOStreamRef pointer used for standard output when prop::process.CREATE_STDOUT_NUMBER
is set to PROCESS_STDIO_REDIRECT
.
prop::process.CREATE_STDERR_NUMBER
: an ProcessIO value describing where standard error for the process goes to, defaults to PROCESS_STDIO_INHERITED
.
prop::process.CREATE_STDERR_POINTER
: an IOStreamRef pointer used for standard error when prop::process.CREATE_STDERR_NUMBER
is set to PROCESS_STDIO_REDIRECT
.
prop::process.CREATE_STDERR_TO_STDOUT_BOOLEAN
: true if the error output of the process should be redirected into the standard output of the process. This property has no effect if prop::process.CREATE_STDERR_NUMBER
is set.
prop::process.CREATE_BACKGROUND_BOOLEAN
: true if the process should run in the background. In this case the default input and output is SDL_PROCESS_STDIO_NULL
and the exitcode of the process is not available, and will always be 0.
On POSIX platforms, wait() and waitpid(-1, ...) should not be called, and SIGCHLD should not be ignored or handled because those would prevent SDL from properly tracking the lifetime of the underlying process. You should use ProcessRef.Wait() instead.
- Parameters
-
props | the properties to use. |
- Returns
- the newly created and running process, or nullptr if the process couldn't be created.
- Thread safety:
- It is safe to call this function from any thread.
- Since
- This function is available since SDL 3.2.0.
- See also
- Process.Create
-
ProcessRef.GetProperties
-
ProcessRef.Read
-
ProcessRef.GetInput
-
ProcessRef.GetOutput
-
ProcessRef.Kill
-
ProcessRef.Wait
-
Process.Destroy
◆ Destroy()
void SDL::Process::Destroy |
( |
| ) |
|
|
inline |
The documentation for this struct was generated from the following file: