LLDB  mainline
SystemLifetimeManager.h
Go to the documentation of this file.
1 //===-- SystemLifetimeManager.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_SYSTEMLIFETIMEMANAGER_H
10 #define LLDB_INITIALIZATION_SYSTEMLIFETIMEMANAGER_H
11 
14 #include "llvm/Support/Error.h"
15 
16 #include <memory>
17 #include <mutex>
18 
19 namespace lldb_private {
20 
22 public:
25 
26  llvm::Error Initialize(std::unique_ptr<SystemInitializer> initializer,
27  LoadPluginCallbackType plugin_callback);
28  void Terminate();
29 
30 private:
31  std::recursive_mutex m_mutex;
32  std::unique_ptr<SystemInitializer> m_initializer;
33  bool m_initialized = false;
34 
35  // Noncopyable.
36  SystemLifetimeManager(const SystemLifetimeManager &other) = delete;
38 };
39 }
40 
41 #endif
lldb_private::SystemLifetimeManager::SystemLifetimeManager
SystemLifetimeManager()
Definition: SystemLifetimeManager.cpp:18
lldb-private-types.h
lldb_private::SystemLifetimeManager::operator=
SystemLifetimeManager & operator=(const SystemLifetimeManager &other)=delete
lldb_private::SystemLifetimeManager::~SystemLifetimeManager
~SystemLifetimeManager()
Definition: SystemLifetimeManager.cpp:20
lldb_private::SystemLifetimeManager::m_initializer
std::unique_ptr< SystemInitializer > m_initializer
Definition: SystemLifetimeManager.h:32
lldb_private::SystemLifetimeManager::Terminate
void Terminate()
Definition: SystemLifetimeManager.cpp:45
lldb_private::SystemLifetimeManager::Initialize
llvm::Error Initialize(std::unique_ptr< SystemInitializer > initializer, LoadPluginCallbackType plugin_callback)
Definition: SystemLifetimeManager.cpp:25
SystemInitializer.h
lldb_private::SystemLifetimeManager::m_initialized
bool m_initialized
Definition: SystemLifetimeManager.h:33
lldb_private::SystemLifetimeManager::m_mutex
std::recursive_mutex m_mutex
Definition: SystemLifetimeManager.h:31
lldb_private
A class that represents a running process on the host machine.
Definition: SBCommandInterpreterRunOptions.h:16
Error
llvm::Error Error
Definition: UdtRecordCompleter.cpp:29
lldb_private::SystemLifetimeManager
Definition: SystemLifetimeManager.h:21