1 //===-- HostProcessWindows.h ------------------------------------*- C++ -*-===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 9 #ifndef lldb_Host_HostProcessWindows_h_ 10 #define lldb_Host_HostProcessWindows_h_ 11 12 #include "lldb/Host/HostNativeProcessBase.h" 13 #include "lldb/lldb-types.h" 14 15 namespace lldb_private { 16 17 class FileSpec; 18 19 class HostProcessWindows : public HostNativeProcessBase { 20 public: 21 HostProcessWindows(); 22 explicit HostProcessWindows(lldb::process_t process); 23 ~HostProcessWindows(); 24 25 void SetOwnsHandle(bool owns); 26 27 Status Terminate() override; 28 29 lldb::pid_t GetProcessId() const override; 30 bool IsRunning() const override; 31 32 virtual llvm::Expected<HostThread> 33 StartMonitoring(const Host::MonitorChildProcessCallback &callback) override; 34 35 private: 36 void Close(); 37 38 bool m_owns_handle; 39 }; 40 } 41 42 #endif 43