acme
Foundational cross-platform layer of the ca2 framework
Toggle main menu visibility
Loading...
Searching...
No Matches
process.h
1
#pragma once
2
3
4
#include "acme/operating_system/bidirectional_pipe.h"
6
#include "acme/operating_system/exit_status.h"
7
8
9
namespace
operating_system
10
{
11
12
13
class
CLASS_DECL_ACME process :
14
virtual
public
::object
15
{
16
public
:
17
18
19
::operating_system::bidirectional_pipe
m_pipe;
20
bool
m_bPiped;
21
::i32 m_iPid;
22
::operating_system::exit_status
m_exitstatus;
23
24
25
process();
26
~process()
override
;
27
28
29
virtual
bool
create_child_process(const ::scoped_string & scopedstrCmdLine,
bool
bPiped =
false
, const ::scoped_string & scopedstrDir =
nullptr
, ::enum_priority epriority = ::e_priority_none);
30
31
virtual
void
wait_until_exit(
const
class
time
& timeWait);
32
virtual
bool
has_exited();
33
34
virtual
bool
write(const ::scoped_string & scopedstr);
35
virtual
string
read(
bool
bUntilExit =
false
);
36
37
virtual
bool
synch_elevated(const ::scoped_string & scopedstrCmdLine,::i32 iShow,
const
class ::time & timeTimeOut,
bool
* pbTimeOut);
38
39
virtual
bool
kill();
40
41
};
42
43
44
typedef ::pointer<process>process_pointer;
45
46
47
}
// namespace operating_system
48
49
50
operating_system::bidirectional_pipe
Definition
bidirectional_pipe.h:14
time
Definition
aaa_time.h:13
operating_system::exit_status
Definition
exit_status.h:10
operating_system
process.h
Generated by
1.17.0