1 | //===-- SBHostOS.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_API_SBHOSTOS_H |
10 | #define LLDB_API_SBHOSTOS_H |
11 | |
12 | #include "lldb/API/SBDefines.h" |
13 | #include "lldb/API/SBFileSpec.h" |
14 | |
15 | namespace lldb { |
16 | |
17 | class LLDB_API SBHostOS { |
18 | public: |
19 | static lldb::SBFileSpec GetProgramFileSpec(); |
20 | |
21 | static lldb::SBFileSpec GetLLDBPythonPath(); |
22 | |
23 | static lldb::SBFileSpec GetLLDBPath(lldb::PathType path_type); |
24 | |
25 | static lldb::SBFileSpec GetUserHomeDirectory(); |
26 | |
27 | LLDB_DEPRECATED("Threading functionality in SBHostOS is not well supported, " |
28 | "not portable, and is difficult to use from Python." ) |
29 | static void ThreadCreated(const char *name); |
30 | |
31 | LLDB_DEPRECATED("Threading functionality in SBHostOS is not well supported, " |
32 | "not portable, and is difficult to use from Python." ) |
33 | static lldb::thread_t ThreadCreate(const char *name, |
34 | lldb::thread_func_t thread_function, |
35 | void *thread_arg, lldb::SBError *err); |
36 | |
37 | LLDB_DEPRECATED("Threading functionality in SBHostOS is not well supported, " |
38 | "not portable, and is difficult to use from Python." ) |
39 | static bool ThreadCancel(lldb::thread_t thread, lldb::SBError *err); |
40 | |
41 | LLDB_DEPRECATED("Threading functionality in SBHostOS is not well supported, " |
42 | "not portable, and is difficult to use from Python." ) |
43 | static bool ThreadDetach(lldb::thread_t thread, lldb::SBError *err); |
44 | |
45 | LLDB_DEPRECATED("Threading functionality in SBHostOS is not well supported, " |
46 | "not portable, and is difficult to use from Python." ) |
47 | static bool ThreadJoin(lldb::thread_t thread, lldb::thread_result_t *result, |
48 | lldb::SBError *err); |
49 | |
50 | private: |
51 | }; |
52 | |
53 | } // namespace lldb |
54 | |
55 | #endif // LLDB_API_SBHOSTOS_H |
56 | |