acme
Foundational cross-platform layer of the ca2 framework
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
9namespace operating_system
10{
11
12
13 class CLASS_DECL_ACME process :
14 virtual public ::object
15 {
16 public:
17
18
20 bool m_bPiped;
21 ::i32 m_iPid;
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
Definition bidirectional_pipe.h:14
Definition aaa_time.h:13
Definition exit_status.h:10