]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - include/lldb/Host/macosx/HostInfoMacOSX.h
Vendor import of lldb release_39 branch r276489:
[FreeBSD/FreeBSD.git] / include / lldb / Host / macosx / HostInfoMacOSX.h
1 //===-- HostInfoMacOSX.h ----------------------------------------*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9
10 #ifndef lldb_Host_macosx_HostInfoMacOSX_h_
11 #define lldb_Host_macosx_HostInfoMacOSX_h_
12
13 #include "lldb/Host/FileSpec.h"
14 #include "lldb/Host/posix/HostInfoPosix.h"
15
16 namespace lldb_private
17 {
18
19 class ArchSpec;
20
21 class HostInfoMacOSX : public HostInfoPosix
22 {
23     friend class HostInfoBase;
24
25   private:
26     // Static class, unconstructable.
27     HostInfoMacOSX();
28     ~HostInfoMacOSX();
29
30   public:
31     static bool GetOSVersion(uint32_t &major, uint32_t &minor, uint32_t &update);
32     static bool GetOSBuildString(std::string &s);
33     static bool GetOSKernelDescription(std::string &s);
34     static FileSpec GetProgramFileSpec();
35     static uint32_t GetMaxThreadNameLength();
36
37   protected:
38     static bool ComputeSupportExeDirectory(FileSpec &file_spec);
39     static void ComputeHostArchitectureSupport(ArchSpec &arch_32, ArchSpec &arch_64);
40     static bool ComputeHeaderDirectory(FileSpec &file_spec);
41     static bool ComputePythonDirectory(FileSpec &file_spec);
42     static bool ComputeClangDirectory(FileSpec &file_spec);
43     static bool ComputeSystemPluginsDirectory(FileSpec &file_spec);
44     static bool ComputeUserPluginsDirectory(FileSpec &file_spec);
45 };
46 }
47
48 #endif