]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - include/lldb/Host/macosx/HostInfoMacOSX.h
Vendor import of lldb trunk r290819:
[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 class ArchSpec;
19
20 class HostInfoMacOSX : public HostInfoPosix {
21   friend class HostInfoBase;
22
23 private:
24   // Static class, unconstructable.
25   HostInfoMacOSX();
26   ~HostInfoMacOSX();
27
28 public:
29   static bool GetOSVersion(uint32_t &major, uint32_t &minor, uint32_t &update);
30   static bool GetOSBuildString(std::string &s);
31   static bool GetOSKernelDescription(std::string &s);
32   static FileSpec GetProgramFileSpec();
33   static uint32_t GetMaxThreadNameLength();
34
35 protected:
36   static bool ComputeSupportExeDirectory(FileSpec &file_spec);
37   static void ComputeHostArchitectureSupport(ArchSpec &arch_32,
38                                              ArchSpec &arch_64);
39   static bool ComputeHeaderDirectory(FileSpec &file_spec);
40   static bool ComputePythonDirectory(FileSpec &file_spec);
41   static bool ComputeClangDirectory(FileSpec &file_spec);
42   static bool ComputeSystemPluginsDirectory(FileSpec &file_spec);
43   static bool ComputeUserPluginsDirectory(FileSpec &file_spec);
44 };
45 }
46
47 #endif