1*8975f5c5SAndroid Build Coastguard Worker // 2*8975f5c5SAndroid Build Coastguard Worker // Copyright 2023 The ANGLE Project Authors. All rights reserved. 3*8975f5c5SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 4*8975f5c5SAndroid Build Coastguard Worker // found in the LICENSE file. 5*8975f5c5SAndroid Build Coastguard Worker // 6*8975f5c5SAndroid Build Coastguard Worker // process.h: 7*8975f5c5SAndroid Build Coastguard Worker // Process manages a child process. This is largely copied from chrome. 8*8975f5c5SAndroid Build Coastguard Worker // 9*8975f5c5SAndroid Build Coastguard Worker 10*8975f5c5SAndroid Build Coastguard Worker #ifndef LIBANGLE_RENDERER_METAL_PROCESS_H_ 11*8975f5c5SAndroid Build Coastguard Worker #define LIBANGLE_RENDERER_METAL_PROCESS_H_ 12*8975f5c5SAndroid Build Coastguard Worker 13*8975f5c5SAndroid Build Coastguard Worker #include <sys/types.h> 14*8975f5c5SAndroid Build Coastguard Worker #include <string> 15*8975f5c5SAndroid Build Coastguard Worker #include <vector> 16*8975f5c5SAndroid Build Coastguard Worker 17*8975f5c5SAndroid Build Coastguard Worker namespace rx 18*8975f5c5SAndroid Build Coastguard Worker { 19*8975f5c5SAndroid Build Coastguard Worker namespace mtl 20*8975f5c5SAndroid Build Coastguard Worker { 21*8975f5c5SAndroid Build Coastguard Worker 22*8975f5c5SAndroid Build Coastguard Worker class Process 23*8975f5c5SAndroid Build Coastguard Worker { 24*8975f5c5SAndroid Build Coastguard Worker public: 25*8975f5c5SAndroid Build Coastguard Worker Process(const std::vector<std::string> &argv); 26*8975f5c5SAndroid Build Coastguard Worker Process(const Process &) = delete; 27*8975f5c5SAndroid Build Coastguard Worker Process &operator=(const Process &) = delete; 28*8975f5c5SAndroid Build Coastguard Worker ~Process(); 29*8975f5c5SAndroid Build Coastguard Worker 30*8975f5c5SAndroid Build Coastguard Worker bool WaitForExit(int &exit_code); 31*8975f5c5SAndroid Build Coastguard Worker bool DidLaunch() const; 32*8975f5c5SAndroid Build Coastguard Worker 33*8975f5c5SAndroid Build Coastguard Worker private: 34*8975f5c5SAndroid Build Coastguard Worker const pid_t pid_; 35*8975f5c5SAndroid Build Coastguard Worker }; 36*8975f5c5SAndroid Build Coastguard Worker 37*8975f5c5SAndroid Build Coastguard Worker } // namespace mtl 38*8975f5c5SAndroid Build Coastguard Worker } // namespace rx 39*8975f5c5SAndroid Build Coastguard Worker 40*8975f5c5SAndroid Build Coastguard Worker #endif /* LIBANGLE_RENDERER_METAL_PROCESS_H_ */ 41