LLDB mainline
PluginInstances< Instance > Class Template Reference
Inheritance diagram for PluginInstances< Instance >:
[legend]

Public Member Functions

template<typename... Args>
bool RegisterPlugin (llvm::StringRef name, llvm::StringRef description, typename Instance::CallbackType callback, Args &&...args)
bool UnregisterPlugin (typename Instance::CallbackType callback)
Instance::CallbackType GetCallbackAtIndex (uint32_t idx)
llvm::StringRef GetDescriptionAtIndex (uint32_t idx)
llvm::StringRef GetNameAtIndex (uint32_t idx)
Instance::CallbackType GetCallbackForName (llvm::StringRef name)
void PerformDebuggerCallback (Debugger &debugger)
std::vector< Instance > GetSnapshot ()
const Instance * GetInstanceAtIndex (uint32_t idx)
const Instance * GetInstanceForName (llvm::StringRef name)
const Instance * FindEnabledInstance (std::function< bool(const Instance &)> predicate) const
std::vector< RegisteredPluginInfoGetPluginInfoForAllInstances ()
bool SetInstanceEnabled (llvm::StringRef name, bool enable)

Private Attributes

std::vector< Instance > m_instances

Detailed Description

template<typename Instance>
class PluginInstances< Instance >

Definition at line 415 of file PluginManager.cpp.

Member Function Documentation

◆ FindEnabledInstance()

template<typename Instance>
const Instance * PluginInstances< Instance >::FindEnabledInstance ( std::function< bool(const Instance &)> predicate) const
inline

Definition at line 505 of file PluginManager.cpp.

◆ GetCallbackAtIndex()

template<typename Instance>
Instance::CallbackType PluginInstances< Instance >::GetCallbackAtIndex ( uint32_t idx)
inline

Definition at line 443 of file PluginManager.cpp.

Referenced by lldb_private::PluginManager::GetABICreateCallbackAtIndex(), lldb_private::PluginManager::GetDisassemblerCreateCallbackAtIndex(), lldb_private::PluginManager::GetDynamicLoaderCreateCallbackAtIndex(), lldb_private::PluginManager::GetEmulateInstructionCreateCallbackAtIndex(), lldb_private::PluginManager::GetInstrumentationRuntimeCreateCallbackAtIndex(), lldb_private::PluginManager::GetJITLoaderCreateCallbackAtIndex(), lldb_private::PluginManager::GetLanguageCreateCallbackAtIndex(), lldb_private::PluginManager::GetLanguageRuntimeCreateCallbackAtIndex(), lldb_private::PluginManager::GetMemoryHistoryCreateCallbackAtIndex(), lldb_private::PluginManager::GetObjectContainerCreateCallbackAtIndex(), lldb_private::PluginManager::GetObjectFileCreateCallbackAtIndex(), lldb_private::PluginManager::GetOperatingSystemCreateCallbackAtIndex(), lldb_private::PluginManager::GetPlatformCreateCallbackAtIndex(), lldb_private::PluginManager::GetProcessCreateCallbackAtIndex(), lldb_private::PluginManager::GetREPLCreateCallbackAtIndex(), lldb_private::PluginManager::GetScriptInterpreterCreateCallbackAtIndex(), lldb_private::PluginManager::GetStructuredDataPluginCreateCallbackAtIndex(), lldb_private::PluginManager::GetSymbolFileCreateCallbackAtIndex(), lldb_private::PluginManager::GetSymbolLocatorCreateCallbackAtIndex(), lldb_private::PluginManager::GetSymbolVendorCreateCallbackAtIndex(), lldb_private::PluginManager::GetSystemRuntimeCreateCallbackAtIndex(), lldb_private::PluginManager::GetTypeSystemCreateCallbackAtIndex(), and lldb_private::PluginManager::GetUnwindAssemblyCreateCallbackAtIndex().

◆ GetCallbackForName()

◆ GetDescriptionAtIndex()

template<typename Instance>
llvm::StringRef PluginInstances< Instance >::GetDescriptionAtIndex ( uint32_t idx)
inline

◆ GetInstanceAtIndex()

template<typename Instance>
const Instance * PluginInstances< Instance >::GetInstanceAtIndex ( uint32_t idx)
inline

◆ GetInstanceForName()

template<typename Instance>
const Instance * PluginInstances< Instance >::GetInstanceForName ( llvm::StringRef name)
inline

◆ GetNameAtIndex()

◆ GetPluginInfoForAllInstances()

template<typename Instance>
std::vector< RegisteredPluginInfo > PluginInstances< Instance >::GetPluginInfoForAllInstances ( )
inline

Definition at line 519 of file PluginManager.cpp.

Referenced by lldb_private::PluginManager::GetABIPluginInfo(), lldb_private::PluginManager::GetArchitecturePluginInfo(), lldb_private::PluginManager::GetDisassemblerPluginInfo(), lldb_private::PluginManager::GetDynamicLoaderPluginInfo(), lldb_private::PluginManager::GetEmulateInstructionPluginInfo(), lldb_private::PluginManager::GetInstrumentationRuntimePluginInfo(), lldb_private::PluginManager::GetJITLoaderPluginInfo(), lldb_private::PluginManager::GetLanguagePluginInfo(), lldb_private::PluginManager::GetLanguageRuntimePluginInfo(), lldb_private::PluginManager::GetMemoryHistoryPluginInfo(), lldb_private::PluginManager::GetObjectContainerPluginInfo(), lldb_private::PluginManager::GetObjectFilePluginInfo(), lldb_private::PluginManager::GetOperatingSystemPluginInfo(), lldb_private::PluginManager::GetPlatformPluginInfo(), lldb_private::PluginManager::GetProcessPluginInfo(), lldb_private::PluginManager::GetRegisterTypeBuilderPluginInfo(), lldb_private::PluginManager::GetREPLPluginInfo(), lldb_private::PluginManager::GetScriptedInterfacePluginInfo(), lldb_private::PluginManager::GetScriptInterpreterPluginInfo(), lldb_private::PluginManager::GetStructuredDataPluginInfo(), lldb_private::PluginManager::GetSymbolFilePluginInfo(), lldb_private::PluginManager::GetSymbolLocatorPluginInfo(), lldb_private::PluginManager::GetSymbolVendorPluginInfo(), lldb_private::PluginManager::GetSystemRuntimePluginInfo(), lldb_private::PluginManager::GetTraceExporterPluginInfo(), lldb_private::PluginManager::GetTracePluginInfo(), lldb_private::PluginManager::GetTypeSystemPluginInfo(), and lldb_private::PluginManager::GetUnwindAssemblyPluginInfo().

◆ GetSnapshot()

◆ PerformDebuggerCallback()

template<typename Instance>
void PluginInstances< Instance >::PerformDebuggerCallback ( Debugger & debugger)
inline

Definition at line 467 of file PluginManager.cpp.

Referenced by lldb_private::PluginManager::DebuggerInitialize().

◆ RegisterPlugin()

template<typename Instance>
template<typename... Args>
bool PluginInstances< Instance >::RegisterPlugin ( llvm::StringRef name,
llvm::StringRef description,
typename Instance::CallbackType callback,
Args &&... args )
inline

◆ SetInstanceEnabled()

template<typename Instance>
bool PluginInstances< Instance >::SetInstanceEnabled ( llvm::StringRef name,
bool enable )
inline

Definition at line 530 of file PluginManager.cpp.

Referenced by lldb_private::PluginManager::SetABIPluginEnabled(), lldb_private::PluginManager::SetArchitecturePluginEnabled(), lldb_private::PluginManager::SetDisassemblerPluginEnabled(), lldb_private::PluginManager::SetDynamicLoaderPluginEnabled(), lldb_private::PluginManager::SetEmulateInstructionPluginEnabled(), lldb_private::PluginManager::SetInstrumentationRuntimePluginEnabled(), lldb_private::PluginManager::SetJITLoaderPluginEnabled(), lldb_private::PluginManager::SetLanguagePluginEnabled(), lldb_private::PluginManager::SetLanguageRuntimePluginEnabled(), lldb_private::PluginManager::SetMemoryHistoryPluginEnabled(), lldb_private::PluginManager::SetObjectContainerPluginEnabled(), lldb_private::PluginManager::SetObjectFilePluginEnabled(), lldb_private::PluginManager::SetOperatingSystemPluginEnabled(), lldb_private::PluginManager::SetPlatformPluginEnabled(), lldb_private::PluginManager::SetProcessPluginEnabled(), lldb_private::PluginManager::SetRegisterTypeBuilderPluginEnabled(), lldb_private::PluginManager::SetREPLPluginEnabled(), lldb_private::PluginManager::SetScriptedInterfacePluginEnabled(), lldb_private::PluginManager::SetScriptInterpreterPluginEnabled(), lldb_private::PluginManager::SetStructuredDataPluginEnabled(), lldb_private::PluginManager::SetSymbolFilePluginEnabled(), lldb_private::PluginManager::SetSymbolLocatorPluginEnabled(), lldb_private::PluginManager::SetSymbolVendorPluginEnabled(), lldb_private::PluginManager::SetSystemRuntimePluginEnabled(), lldb_private::PluginManager::SetTraceExporterPluginEnabled(), lldb_private::PluginManager::SetTracePluginEnabled(), lldb_private::PluginManager::SetTypeSystemPluginEnabled(), and lldb_private::PluginManager::SetUnwindAssemblyPluginEnabled().

◆ UnregisterPlugin()

template<typename Instance>
bool PluginInstances< Instance >::UnregisterPlugin ( typename Instance::CallbackType callback)
inline

Member Data Documentation

◆ m_instances

template<typename Instance>
std::vector<Instance> PluginInstances< Instance >::m_instances
private

Definition at line 543 of file PluginManager.cpp.


The documentation for this class was generated from the following file: