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