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
15namespace 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.
24class SystemInitializerCommon : public SystemInitializer {
25public:
26 SystemInitializerCommon(HostInfo::SharedLibraryDirectoryHelper *helper);
27 ~SystemInitializerCommon() override;
28
29 llvm::Error Initialize() override;
30 void Terminate() override;
31
32private:
33 HostInfo::SharedLibraryDirectoryHelper *m_shlib_dir_helper;
34};
35
36} // namespace lldb_private
37
38#endif // LLDB_INITIALIZATION_SYSTEMINITIALIZERCOMMON_H
39

source code of lldb/include/lldb/Initialization/SystemInitializerCommon.h