|
LLDB mainline
|
Entries are snapshots taken when the object is created, so listing them never calls back into an interface that might be mid-destruction on another thread. More...
#include <ScriptedInstanceRegistry.h>
Public Member Functions | |
| uint64_t | Add (ScriptedInstanceInfo info) |
| void | Remove (uint64_t id) |
| std::vector< ScriptedInstanceInfo > | GetInstances () const |
| std::vector< ScriptedInstanceGroup > | GetInstanceGroups (llvm::ArrayRef< lldb::ScriptedExtension > extensions={}) const |
Private Member Functions | |
| std::vector< ScriptedInstanceInfo > | CopyInstances () const |
Private Attributes | |
| std::mutex | m_mutex |
| uint64_t | m_next_id = 1 |
| llvm::DenseMap< uint64_t, ScriptedInstanceInfo > | m_instances |
Entries are snapshots taken when the object is created, so listing them never calls back into an interface that might be mid-destruction on another thread.
Definition at line 61 of file ScriptedInstanceRegistry.h.
| uint64_t ScriptedInstanceRegistry::Add | ( | ScriptedInstanceInfo | info | ) |
Definition at line 30 of file ScriptedInstanceRegistry.cpp.
References lldb_private::UUID::Generate(), lldb_private::ScriptedInstanceInfo::id, m_instances, m_mutex, m_next_id, and lldb_private::ScriptedInstanceInfo::uuid.
|
private |
Definition at line 45 of file ScriptedInstanceRegistry.cpp.
References m_instances, and m_mutex.
Referenced by GetInstanceGroups(), and GetInstances().
| std::vector< ScriptedInstanceGroup > ScriptedInstanceRegistry::GetInstanceGroups | ( | llvm::ArrayRef< lldb::ScriptedExtension > | extensions = {} | ) | const |
Definition at line 74 of file ScriptedInstanceRegistry.cpp.
References lldb_private::ScriptedInstanceGroup::class_name, CopyInstances(), CreatedBefore(), lldb_private::ScriptedInstanceGroup::extension, lldb_private::PluginManager::GetNumScriptedInterfaces(), lldb_private::PluginManager::GetScriptedInterfaceExtensionAtIndex(), lldb_private::PluginManager::GetScriptedInterfaceNameAtIndex(), and lldb_private::ScriptedInstanceGroup::source_path.
| std::vector< ScriptedInstanceInfo > ScriptedInstanceRegistry::GetInstances | ( | ) | const |
Definition at line 55 of file ScriptedInstanceRegistry.cpp.
References CopyInstances(), and CreatedBefore().
| void ScriptedInstanceRegistry::Remove | ( | uint64_t | id | ) |
Definition at line 39 of file ScriptedInstanceRegistry.cpp.
References m_instances, and m_mutex.
|
private |
Definition at line 77 of file ScriptedInstanceRegistry.h.
Referenced by Add(), CopyInstances(), and Remove().
|
mutableprivate |
Definition at line 75 of file ScriptedInstanceRegistry.h.
Referenced by Add(), CopyInstances(), and Remove().
|
private |
Definition at line 76 of file ScriptedInstanceRegistry.h.
Referenced by Add().