| //===-- SystemInitializerCommon.h -------------------------------*- C++ -*-===// |
| // |
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
| // See https://llvm.org/LICENSE.txt for license information. |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| // |
| //===----------------------------------------------------------------------===// |
| |
| #ifndef LLDB_INITIALIZATION_SYSTEMINITIALIZERCOMMON_H |
| #define LLDB_INITIALIZATION_SYSTEMINITIALIZERCOMMON_H |
| |
| #include "SystemInitializer.h" |
| #include "lldb/Host/HostInfo.h" |
| |
| namespace lldb_private { |
| /// Initializes common lldb functionality. |
| /// |
| /// This class is responsible for initializing a subset of lldb |
| /// useful to both debug servers and debug clients. Debug servers |
| /// do not use all of LLDB and desire small binary sizes, so this |
| /// functionality is separate. This class is used by constructing |
| /// an instance of SystemLifetimeManager with this class passed to |
| /// the constructor. |
| class SystemInitializerCommon : public SystemInitializer { |
| public: |
| SystemInitializerCommon(HostInfo::SharedLibraryDirectoryHelper *helper); |
| ~SystemInitializerCommon() override; |
| |
| llvm::Error Initialize() override; |
| void Terminate() override; |
| |
| private: |
| HostInfo::SharedLibraryDirectoryHelper *m_shlib_dir_helper; |
| }; |
| |
| } // namespace lldb_private |
| |
| #endif // LLDB_INITIALIZATION_SYSTEMINITIALIZERCOMMON_H |