KiCad PCB EDA Suite
Loading...
Searching...
No Matches
DESIGN_BLOCK_LIBRARY_ADAPTER Class Reference

#include <design_block_library_adapter.h>

Inheritance diagram for DESIGN_BLOCK_LIBRARY_ADAPTER:
LIBRARY_MANAGER_ADAPTER

Public Types

enum  SAVE_T { SAVE_OK , SAVE_SKIPPED }
 The set of return values from DesignBlockSave() below. More...
 

Public Member Functions

 DESIGN_BLOCK_LIBRARY_ADAPTER (LIBRARY_MANAGER &aManager)
 
LIBRARY_TABLE_TYPE Type () const override
 The type of library table this adapter works with.
 
void AsyncLoad () override
 Loads all available libraries for this adapter type in the background.
 
std::vector< DESIGN_BLOCK * > GetDesignBlocks (const wxString &aNickname)
 
std::vector< wxString > GetDesignBlockNames (const wxString &aNickname)
 
DESIGN_BLOCKLoadDesignBlock (const wxString &aNickname, const wxString &aDesignBlockName, bool aKeepUUID=false)
 Load a design block having aDesignBlockName from the library given by aNickname.
 
bool DesignBlockExists (const wxString &aNickname, const wxString &aDesignBlockName)
 Indicates whether or not the given design block already exists in the given library.
 
const DESIGN_BLOCKGetEnumeratedDesignBlock (const wxString &aNickname, const wxString &aDesignBlockName)
 A version of #DesignBlockLoad() for use after #DesignBlockEnumerate() for more efficient cache management.
 
SAVE_T SaveDesignBlock (const wxString &aNickname, const DESIGN_BLOCK *aDesignBlock, bool aOverwrite=true)
 Write aDesignBlock to an existing library given by aNickname.
 
void DeleteDesignBlock (const wxString &aNickname, const wxString &aDesignBlockName)
 Delete the aDesignBlockName from the library given by aNickname.
 
bool IsDesignBlockLibWritable (const wxString &aNickname)
 Return true if the library given by aNickname is writable.
 
DESIGN_BLOCKDesignBlockLoadWithOptionalNickname (const LIB_ID &aDesignBlockId, bool aKeepUUID=false)
 Load a design block having aDesignBlockId with possibly an empty nickname.
 
std::optional< LIBRARY_ERRORLibraryError (const wxString &aNickname) const
 
LIBRARY_MANAGERManager () const
 
LIBRARY_TABLEGlobalTable () const
 Retrieves the global library table for this adapter type.
 
std::optional< LIBRARY_TABLE * > ProjectTable () const
 Retrieves the project library table for this adapter type, or nullopt if one doesn't exist.
 
std::optional< wxString > FindLibraryByURI (const wxString &aURI) const
 
std::vector< wxString > GetLibraryNames () const
 Returns a list of library nicknames that are available (skips any that failed to load)
 
bool HasLibrary (const wxString &aNickname, bool aCheckEnabled=false) const
 Test for the existence of aNickname in the library tables.
 
bool DeleteLibrary (const wxString &aNickname)
 Deletes the given library from disk if it exists; returns true if deleted.
 
std::optional< wxString > GetLibraryDescription (const wxString &aNickname) const
 
std::vector< LIBRARY_TABLE_ROW * > Rows (LIBRARY_TABLE_SCOPE aScope=LIBRARY_TABLE_SCOPE::BOTH, bool aIncludeInvalid=false) const
 Like LIBRARY_MANAGER::Rows but filtered to the LIBRARY_TABLE_TYPE of this adapter.
 
std::optional< LIBRARY_TABLE_ROW * > GetRow (const wxString &aNickname, LIBRARY_TABLE_SCOPE aScope=LIBRARY_TABLE_SCOPE::BOTH) const
 Like LIBRARY_MANAGER::GetRow but filtered to the LIBRARY_TABLE_TYPE of this adapter.
 
std::optional< LIBRARY_TABLE_ROW * > FindRowByURI (const wxString &aUri, LIBRARY_TABLE_SCOPE aScope=LIBRARY_TABLE_SCOPE::BOTH) const
 Like LIBRARY_MANAGER::FindRowByURI but filtered to the LIBRARY_TABLE_TYPE of this adapter.
 
virtual void ProjectChanged ()
 Notify the adapter that the active project has changed.
 
void GlobalTablesChanged (std::initializer_list< LIBRARY_TABLE_TYPE > aChangedTables={})
 Notify the adapter that the global library tables have changed.
 
std::optional< float > AsyncLoadProgress () const
 Returns async load progress between 0.0 and 1.0, or nullopt if load is not in progress.
 
void BlockUntilLoaded ()
 
bool IsLibraryLoaded (const wxString &aNickname)
 
virtual bool IsWritable (const wxString &aNickname) const
 Return true if the given nickname exists and is not a read-only library.
 
virtual bool SupportsConfigurationDialog (const wxString &aNickname) const
 
virtual void ShowConfigurationDialog (const wxString &aNickname, wxWindow *aParent) const
 

Static Public Member Functions

static wxString GlobalPathEnvVariableName ()
 

Protected Member Functions

std::map< wxString, LIB_DATA > & globalLibs () override
 
std::map< wxString, LIB_DATA > & globalLibs () const override
 
std::mutex & globalLibsMutex () override
 
LIBRARY_RESULT< IO_BASE * > createPlugin (const LIBRARY_TABLE_ROW *row) override
 Creates a concrete plugin for the given row.
 
std::optional< const LIB_DATA * > fetchIfLoaded (const wxString &aNickname) const
 
std::optional< LIB_DATA * > fetchIfLoaded (const wxString &aNickname)
 
LIBRARY_RESULT< LIB_DATA * > loadIfNeeded (const wxString &aNickname)
 Fetches a loaded library, triggering a load of that library if it isn't loaded yet.
 
void abortLoad ()
 Aborts any async load in progress; blocks until fully done aborting.
 

Static Protected Member Functions

static wxString getUri (const LIBRARY_TABLE_ROW *aRow)
 

Protected Attributes

LIBRARY_MANAGERm_manager
 
std::map< wxString, LIB_DATAm_libraries
 
std::mutex m_libraries_mutex
 
std::atomic_bool m_abort
 
std::vector< std::future< void > > m_futures
 
std::atomic< size_t > m_loadCount
 
size_t m_loadTotal
 

Static Private Member Functions

static DESIGN_BLOCK_IOplugin (const LIB_DATA *aRow)
 Helper to cast the ABC plugin in the LIB_DATA* to a concrete plugin.
 

Static Private Attributes

static std::map< wxString, LIB_DATAGlobalLibraries
 
static std::mutex GlobalLibraryMutex
 

Detailed Description

Definition at line 34 of file design_block_library_adapter.h.

Member Enumeration Documentation

◆ SAVE_T

The set of return values from DesignBlockSave() below.

Enumerator
SAVE_OK 
SAVE_SKIPPED 

Definition at line 84 of file design_block_library_adapter.h.

Constructor & Destructor Documentation

◆ DESIGN_BLOCK_LIBRARY_ADAPTER()

DESIGN_BLOCK_LIBRARY_ADAPTER::DESIGN_BLOCK_LIBRARY_ADAPTER ( LIBRARY_MANAGER & aManager)

Member Function Documentation

◆ abortLoad()

void LIBRARY_MANAGER_ADAPTER::abortLoad ( )
protectedinherited

Aborts any async load in progress; blocks until fully done aborting.

Definition at line 914 of file library_manager.cpp.

References BlockUntilLoaded(), m_abort, m_futures, m_loadTotal, and traceLibraries.

Referenced by globalLibsMutex(), GlobalTablesChanged(), and ProjectChanged().

◆ AsyncLoad()

◆ AsyncLoadProgress()

std::optional< float > LIBRARY_MANAGER_ADAPTER::AsyncLoadProgress ( ) const
inherited

Returns async load progress between 0.0 and 1.0, or nullopt if load is not in progress.

Definition at line 931 of file library_manager.cpp.

References m_loadCount, and m_loadTotal.

Referenced by AsyncLoad(), BOOST_AUTO_TEST_CASE(), PGM_BASE::PreloadDesignBlockLibraries(), and SCH::IFACE::PreloadLibraries().

◆ BlockUntilLoaded()

void LIBRARY_MANAGER_ADAPTER::BlockUntilLoaded ( )
inherited

◆ createPlugin()

LIBRARY_RESULT< IO_BASE * > DESIGN_BLOCK_LIBRARY_ADAPTER::createPlugin ( const LIBRARY_TABLE_ROW * row)
overrideprotectedvirtual

◆ DeleteDesignBlock()

void DESIGN_BLOCK_LIBRARY_ADAPTER::DeleteDesignBlock ( const wxString & aNickname,
const wxString & aDesignBlockName )

Delete the aDesignBlockName from the library given by aNickname.

Parameters
aNicknameis a locator for the "library", it is a "name" in LIB_TABLE_ROW.
aDesignBlockNameis the name of a design block to delete from the specified library.
Exceptions
IO_ERRORif there is a problem finding the design block or the library, or deleting it.

Definition at line 364 of file design_block_library_adapter.cpp.

References DESIGN_BLOCK_IO::DesignBlockDelete(), LIBRARY_MANAGER_ADAPTER::fetchIfLoaded(), LIBRARY_TABLE_ROW::GetOptionsMap(), LIBRARY_MANAGER_ADAPTER::getUri(), plugin(), and LIB_DATA::row.

◆ DeleteLibrary()

bool LIBRARY_MANAGER_ADAPTER::DeleteLibrary ( const wxString & aNickname)
inherited

Deletes the given library from disk if it exists; returns true if deleted.

Definition at line 862 of file library_manager.cpp.

References IO_BASE::DeleteLibrary(), LIBRARY_TABLE_ROW::GetOptionsMap(), getUri(), loadIfNeeded(), LIB_DATA::plugin, result, and LIB_DATA::row.

Referenced by Type().

◆ DesignBlockExists()

bool DESIGN_BLOCK_LIBRARY_ADAPTER::DesignBlockExists ( const wxString & aNickname,
const wxString & aDesignBlockName )

Indicates whether or not the given design block already exists in the given library.

Definition at line 317 of file design_block_library_adapter.cpp.

References DESIGN_BLOCK_IO::DesignBlockExists(), LIBRARY_MANAGER_ADAPTER::fetchIfLoaded(), LIBRARY_TABLE_ROW::GetOptionsMap(), LIBRARY_MANAGER_ADAPTER::getUri(), plugin(), and LIB_DATA::row.

Referenced by SaveDesignBlock().

◆ DesignBlockLoadWithOptionalNickname()

DESIGN_BLOCK * DESIGN_BLOCK_LIBRARY_ADAPTER::DesignBlockLoadWithOptionalNickname ( const LIB_ID & aDesignBlockId,
bool aKeepUUID = false )

Load a design block having aDesignBlockId with possibly an empty nickname.

Parameters
aDesignBlockIdthe [nickname] and name of the design block to load.
aKeepUUID= true to keep initial items UUID, false to set new UUID normally true if loaded in the design block editor, false if loaded in the board editor used only in kicad_plugin
Returns
the DESIGN_BLOCK if found caller owns it, else NULL if not found.
Exceptions
IO_ERRORif the library cannot be found or read. No exception is thrown in the case where aDesignBlockName cannot be found.
PARSE_ERRORif aDesignBlockId is not parsed OK.

Definition at line 388 of file design_block_library_adapter.cpp.

References LIB_ID::GetLibItemName(), LIB_ID::GetLibNickname(), LIBRARY_MANAGER_ADAPTER::GetLibraryNames(), library, and LoadDesignBlock().

Referenced by DESIGN_BLOCK_PANE::GetDesignBlock().

◆ fetchIfLoaded() [1/2]

std::optional< LIB_DATA * > LIBRARY_MANAGER_ADAPTER::fetchIfLoaded ( const wxString & aNickname)
protectedinherited

Definition at line 988 of file library_manager.cpp.

References globalLibs(), LOADED, and m_libraries.

◆ fetchIfLoaded() [2/2]

◆ FindLibraryByURI()

std::optional< wxString > LIBRARY_MANAGER_ADAPTER::FindLibraryByURI ( const wxString & aURI) const
inherited

Definition at line 826 of file library_manager.cpp.

References m_manager, Type(), and LIBRARY_MANAGER::UrisAreEquivalent().

Referenced by Type().

◆ FindRowByURI()

std::optional< LIBRARY_TABLE_ROW * > LIBRARY_MANAGER_ADAPTER::FindRowByURI ( const wxString & aUri,
LIBRARY_TABLE_SCOPE aScope = LIBRARY_TABLE_SCOPE::BOTH ) const
inherited

Like LIBRARY_MANAGER::FindRowByURI but filtered to the LIBRARY_TABLE_TYPE of this adapter.

Definition at line 906 of file library_manager.cpp.

References m_manager, and Type().

Referenced by SYMBOL_EDIT_FRAME::KiwayMailIn(), and Type().

◆ GetDesignBlockNames()

std::vector< wxString > DESIGN_BLOCK_LIBRARY_ADAPTER::GetDesignBlockNames ( const wxString & aNickname)
Returns
all the names of design blocks in the given library, if it exists and is loaded (or an empty list)

Definition at line 279 of file design_block_library_adapter.cpp.

References DESIGN_BLOCK_IO::DesignBlockEnumerate(), LIBRARY_MANAGER_ADAPTER::fetchIfLoaded(), LIBRARY_TABLE_ROW::GetOptionsMap(), LIBRARY_MANAGER_ADAPTER::getUri(), name, plugin(), and LIB_DATA::row.

◆ GetDesignBlocks()

std::vector< DESIGN_BLOCK * > DESIGN_BLOCK_LIBRARY_ADAPTER::GetDesignBlocks ( const wxString & aNickname)

◆ GetEnumeratedDesignBlock()

const DESIGN_BLOCK * DESIGN_BLOCK_LIBRARY_ADAPTER::GetEnumeratedDesignBlock ( const wxString & aNickname,
const wxString & aDesignBlockName )

A version of #DesignBlockLoad() for use after #DesignBlockEnumerate() for more efficient cache management.

The return value is const to allow it to return a reference to a cached item.

Definition at line 331 of file design_block_library_adapter.cpp.

References LIBRARY_MANAGER_ADAPTER::fetchIfLoaded(), DESIGN_BLOCK_IO::GetEnumeratedDesignBlock(), LIBRARY_TABLE_ROW::GetOptionsMap(), LIBRARY_MANAGER_ADAPTER::getUri(), plugin(), and LIB_DATA::row.

◆ GetLibraryDescription()

std::optional< wxString > LIBRARY_MANAGER_ADAPTER::GetLibraryDescription ( const wxString & aNickname) const
inherited

Definition at line 883 of file library_manager.cpp.

References fetchIfLoaded().

Referenced by SCH_BASE_FRAME::GetLibraryItemsForListDialog(), and Type().

◆ GetLibraryNames()

std::vector< wxString > LIBRARY_MANAGER_ADAPTER::GetLibraryNames ( ) const
inherited

◆ GetRow()

◆ getUri()

◆ globalLibs() [1/2]

std::map< wxString, LIB_DATA > & DESIGN_BLOCK_LIBRARY_ADAPTER::globalLibs ( ) const
inlineoverrideprotectedvirtual

Implements LIBRARY_MANAGER_ADAPTER.

Definition at line 149 of file design_block_library_adapter.h.

References GlobalLibraries.

◆ globalLibs() [2/2]

std::map< wxString, LIB_DATA > & DESIGN_BLOCK_LIBRARY_ADAPTER::globalLibs ( )
inlineoverrideprotectedvirtual

Implements LIBRARY_MANAGER_ADAPTER.

Definition at line 148 of file design_block_library_adapter.h.

References GlobalLibraries.

◆ globalLibsMutex()

std::mutex & DESIGN_BLOCK_LIBRARY_ADAPTER::globalLibsMutex ( )
inlineoverrideprotectedvirtual

Implements LIBRARY_MANAGER_ADAPTER.

Definition at line 150 of file design_block_library_adapter.h.

References GlobalLibraryMutex.

◆ GlobalPathEnvVariableName()

wxString DESIGN_BLOCK_LIBRARY_ADAPTER::GlobalPathEnvVariableName ( )
static

◆ GlobalTable()

LIBRARY_TABLE * LIBRARY_MANAGER_ADAPTER::GlobalTable ( ) const
inherited

Retrieves the global library table for this adapter type.

Definition at line 813 of file library_manager.cpp.

References GLOBAL, m_manager, and Type().

Referenced by SCH_EDITOR_CONTROL::ExportSymbolsToLibrary(), and Type().

◆ GlobalTablesChanged()

void LIBRARY_MANAGER_ADAPTER::GlobalTablesChanged ( std::initializer_list< LIBRARY_TABLE_TYPE > aChangedTables = {})
inherited

Notify the adapter that the global library tables have changed.

Definition at line 787 of file library_manager.cpp.

References abortLoad(), globalLibs(), globalLibsMutex(), and Type().

Referenced by Type().

◆ HasLibrary()

bool LIBRARY_MANAGER_ADAPTER::HasLibrary ( const wxString & aNickname,
bool aCheckEnabled = false ) const
inherited

◆ IsDesignBlockLibWritable()

bool DESIGN_BLOCK_LIBRARY_ADAPTER::IsDesignBlockLibWritable ( const wxString & aNickname)

Return true if the library given by aNickname is writable.

Often system libraries are read only because of where they are installed.

Exceptions
IO_ERRORif no library at aLibraryPath exists.

Definition at line 376 of file design_block_library_adapter.cpp.

References LIBRARY_MANAGER_ADAPTER::fetchIfLoaded(), LIBRARY_MANAGER_ADAPTER::getUri(), DESIGN_BLOCK_IO::IsLibraryWritable(), plugin(), and LIB_DATA::row.

◆ IsLibraryLoaded()

bool LIBRARY_MANAGER_ADAPTER::IsLibraryLoaded ( const wxString & aNickname)
inherited

◆ IsWritable()

virtual bool LIBRARY_MANAGER_ADAPTER::IsWritable ( const wxString & aNickname) const
inlinevirtualinherited

Return true if the given nickname exists and is not a read-only library.

Reimplemented in SYMBOL_LIBRARY_ADAPTER.

Definition at line 156 of file library_manager.h.

◆ LibraryError()

std::optional< LIBRARY_ERROR > DESIGN_BLOCK_LIBRARY_ADAPTER::LibraryError ( const wxString & aNickname) const

Definition at line 410 of file design_block_library_adapter.cpp.

◆ LoadDesignBlock()

DESIGN_BLOCK * DESIGN_BLOCK_LIBRARY_ADAPTER::LoadDesignBlock ( const wxString & aNickname,
const wxString & aDesignBlockName,
bool aKeepUUID = false )

Load a design block having aDesignBlockName from the library given by aNickname.

Parameters
aNicknameis a locator for the "library", it is a "name" in LIB_TABLE_ROW.
aDesignBlockNameis the name of the design block to load.
aKeepUUID= true to keep initial items UUID, false to set new UUID normally true if loaded in the design block editor, false if loaded in the board editor. Used only in kicad_plugin
Returns
the design block if found caller owns it, else NULL if not found.
Exceptions
IO_ERRORif the library cannot be found or read. No exception is thrown in the case where aDesignBlockName cannot be found.

Definition at line 300 of file design_block_library_adapter.cpp.

References DESIGN_BLOCK_IO::DesignBlockLoad(), LIBRARY_MANAGER_ADAPTER::fetchIfLoaded(), DESIGN_BLOCK::GetLibId(), LIBRARY_TABLE_ROW::GetOptionsMap(), LIBRARY_MANAGER_ADAPTER::getUri(), plugin(), LIB_DATA::row, and LIB_ID::SetLibNickname().

Referenced by DesignBlockLoadWithOptionalNickname(), and PANEL_DESIGN_BLOCK_CHOOSER::rebuildHistoryNode().

◆ loadIfNeeded()

LIBRARY_RESULT< LIB_DATA * > LIBRARY_MANAGER_ADAPTER::loadIfNeeded ( const wxString & aNickname)
protectedinherited

◆ Manager()

LIBRARY_MANAGER & LIBRARY_MANAGER_ADAPTER::Manager ( ) const
inherited

◆ plugin()

DESIGN_BLOCK_IO * DESIGN_BLOCK_LIBRARY_ADAPTER::plugin ( const LIB_DATA * aRow)
staticprivate

◆ ProjectChanged()

void LIBRARY_MANAGER_ADAPTER::ProjectChanged ( )
virtualinherited

Notify the adapter that the active project has changed.

Definition at line 776 of file library_manager.cpp.

References abortLoad(), m_libraries, and m_libraries_mutex.

◆ ProjectTable()

std::optional< LIBRARY_TABLE * > LIBRARY_MANAGER_ADAPTER::ProjectTable ( ) const
inherited

Retrieves the project library table for this adapter type, or nullopt if one doesn't exist.

Definition at line 820 of file library_manager.cpp.

References m_manager, PROJECT, and Type().

Referenced by SCH_EDITOR_CONTROL::ExportSymbolsToLibrary(), SCH_IO_CADSTAR_ARCHIVE::LoadSchematicFile(), SCH_IO_EAGLE::LoadSchematicFile(), SCH_IO_EASYEDAPRO::LoadSchematicFile(), SCH_EDIT_FRAME::LoadSheetFromFile(), and Type().

◆ Rows()

std::vector< LIBRARY_TABLE_ROW * > LIBRARY_MANAGER_ADAPTER::Rows ( LIBRARY_TABLE_SCOPE aScope = LIBRARY_TABLE_SCOPE::BOTH,
bool aIncludeInvalid = false ) const
inherited

Like LIBRARY_MANAGER::Rows but filtered to the LIBRARY_TABLE_TYPE of this adapter.

Definition at line 892 of file library_manager.cpp.

References m_manager, and Type().

Referenced by Type().

◆ SaveDesignBlock()

DESIGN_BLOCK_LIBRARY_ADAPTER::SAVE_T DESIGN_BLOCK_LIBRARY_ADAPTER::SaveDesignBlock ( const wxString & aNickname,
const DESIGN_BLOCK * aDesignBlock,
bool aOverwrite = true )

Write aDesignBlock to an existing library given by aNickname.

If a design block by the same name already exists, it is replaced.

Parameters
aNicknameis a locator for the "library", it is a "name" in LIB_TABLE_ROW.
aDesignBlockis what to store in the library. The caller continues to own the design block after this call.
aOverwritewhen true means overwrite any existing design block by the same name, else if false means skip the write and return SAVE_SKIPPED.
Returns
SAVE_OK or SAVE_SKIPPED. If error saving, then IO_ERROR is thrown.
Exceptions
IO_ERRORif there is a problem saving.

Definition at line 346 of file design_block_library_adapter.cpp.

References DesignBlockExists(), DESIGN_BLOCK_IO::DesignBlockSave(), LIBRARY_MANAGER_ADAPTER::fetchIfLoaded(), DESIGN_BLOCK::GetName(), LIBRARY_TABLE_ROW::GetOptionsMap(), LIBRARY_MANAGER_ADAPTER::getUri(), plugin(), LIB_DATA::row, SAVE_OK, and SAVE_SKIPPED.

Referenced by PCB_EDIT_FRAME::SaveBoardAsDesignBlock(), PCB_EDIT_FRAME::SaveBoardToDesignBlock(), SCH_EDIT_FRAME::SaveSelectionAsDesignBlock(), SCH_EDIT_FRAME::SaveSelectionToDesignBlock(), PCB_EDIT_FRAME::saveSelectionToDesignBlock(), SCH_EDIT_FRAME::SaveSheetAsDesignBlock(), and SCH_EDIT_FRAME::SaveSheetToDesignBlock().

◆ ShowConfigurationDialog()

virtual void LIBRARY_MANAGER_ADAPTER::ShowConfigurationDialog ( const wxString & aNickname,
wxWindow * aParent ) const
inlinevirtualinherited

Reimplemented in SYMBOL_LIBRARY_ADAPTER.

Definition at line 160 of file library_manager.h.

◆ SupportsConfigurationDialog()

virtual bool LIBRARY_MANAGER_ADAPTER::SupportsConfigurationDialog ( const wxString & aNickname) const
inlinevirtualinherited

Reimplemented in SYMBOL_LIBRARY_ADAPTER.

Definition at line 158 of file library_manager.h.

◆ Type()

LIBRARY_TABLE_TYPE DESIGN_BLOCK_LIBRARY_ADAPTER::Type ( ) const
inlineoverridevirtual

The type of library table this adapter works with.

Implements LIBRARY_MANAGER_ADAPTER.

Definition at line 39 of file design_block_library_adapter.h.

References DESIGN_BLOCK.

Member Data Documentation

◆ GlobalLibraries

std::map< wxString, LIB_DATA > DESIGN_BLOCK_LIBRARY_ADAPTER::GlobalLibraries
staticprivate

Definition at line 161 of file design_block_library_adapter.h.

Referenced by AsyncLoad(), globalLibs(), and globalLibs().

◆ GlobalLibraryMutex

std::mutex DESIGN_BLOCK_LIBRARY_ADAPTER::GlobalLibraryMutex
staticprivate

Definition at line 163 of file design_block_library_adapter.h.

Referenced by AsyncLoad(), and globalLibsMutex().

◆ m_abort

std::atomic_bool LIBRARY_MANAGER_ADAPTER::m_abort
protectedinherited

Definition at line 192 of file library_manager.h.

Referenced by abortLoad().

◆ m_futures

std::vector<std::future<void> > LIBRARY_MANAGER_ADAPTER::m_futures
protectedinherited

◆ m_libraries

◆ m_libraries_mutex

std::mutex LIBRARY_MANAGER_ADAPTER::m_libraries_mutex
protectedinherited

◆ m_loadCount

std::atomic<size_t> LIBRARY_MANAGER_ADAPTER::m_loadCount
protectedinherited

◆ m_loadTotal

size_t LIBRARY_MANAGER_ADAPTER::m_loadTotal
protectedinherited

◆ m_manager


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