xref: /llvm-project/lldb/source/API/SystemInitializerFull.h (revision cdc514e4c67f268b07863bbac3d8d7e0d088186c)
1d17cd902SAlex Langford //===-- SystemInitializerFull.h ---------------------------------*- C++ -*-===//
2d17cd902SAlex Langford //
32946cd70SChandler Carruth // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
42946cd70SChandler Carruth // See https://llvm.org/LICENSE.txt for license information.
52946cd70SChandler Carruth // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6d17cd902SAlex Langford //
7d17cd902SAlex Langford //===----------------------------------------------------------------------===//
8d17cd902SAlex Langford 
9*cdc514e4SJonas Devlieghere #ifndef LLDB_SOURCE_API_SYSTEMINITIALIZERFULL_H
10*cdc514e4SJonas Devlieghere #define LLDB_SOURCE_API_SYSTEMINITIALIZERFULL_H
11d17cd902SAlex Langford 
12d17cd902SAlex Langford #include "lldb/Initialization/SystemInitializerCommon.h"
13d17cd902SAlex Langford 
14d17cd902SAlex Langford namespace lldb_private {
15d17cd902SAlex Langford /// Initializes lldb.
16d17cd902SAlex Langford ///
17d17cd902SAlex Langford /// This class is responsible for initializing all of lldb system
18d17cd902SAlex Langford /// services needed to use the full LLDB application.  This class is
19d17cd902SAlex Langford /// not intended to be used externally, but is instead used
20d17cd902SAlex Langford /// internally by SBDebugger to initialize the system.
21d17cd902SAlex Langford class SystemInitializerFull : public SystemInitializerCommon {
22d17cd902SAlex Langford public:
23d17cd902SAlex Langford   SystemInitializerFull();
24d17cd902SAlex Langford   ~SystemInitializerFull() override;
25d17cd902SAlex Langford 
26936c6242SJonas Devlieghere   llvm::Error Initialize() override;
27d17cd902SAlex Langford   void Terminate() override;
28d17cd902SAlex Langford };
29d17cd902SAlex Langford 
30d17cd902SAlex Langford } // namespace lldb_private
31d17cd902SAlex Langford 
32*cdc514e4SJonas Devlieghere #endif // LLDB_SOURCE_API_SYSTEMINITIALIZERFULL_H
33