1 | //===-- SystemInitializerCommon.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_INITIALIZATION_SYSTEMINITIALIZERCOMMON_H |
10 | #define LLDB_INITIALIZATION_SYSTEMINITIALIZERCOMMON_H |
11 | |
12 | #include "SystemInitializer.h" |
13 | #include "lldb/Host/HostInfo.h" |
14 | |
15 | namespace lldb_private { |
16 | /// Initializes common lldb functionality. |
17 | /// |
18 | /// This class is responsible for initializing a subset of lldb |
19 | /// useful to both debug servers and debug clients. Debug servers |
20 | /// do not use all of LLDB and desire small binary sizes, so this |
21 | /// functionality is separate. This class is used by constructing |
22 | /// an instance of SystemLifetimeManager with this class passed to |
23 | /// the constructor. |
24 | class SystemInitializerCommon : public SystemInitializer { |
25 | public: |
26 | SystemInitializerCommon(HostInfo::SharedLibraryDirectoryHelper *helper); |
27 | ~SystemInitializerCommon() override; |
28 | |
29 | llvm::Error Initialize() override; |
30 | void Terminate() override; |
31 | |
32 | private: |
33 | HostInfo::SharedLibraryDirectoryHelper *m_shlib_dir_helper; |
34 | }; |
35 | |
36 | } // namespace lldb_private |
37 | |
38 | #endif // LLDB_INITIALIZATION_SYSTEMINITIALIZERCOMMON_H |
39 | |