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

A cache assistant for KiCad legacy symbol libraries. More...

#include <sch_legacy_lib_plugin_cache.h>

Inheritance diagram for SCH_LEGACY_PLUGIN_CACHE:
SCH_LIB_PLUGIN_CACHE

Public Member Functions

 SCH_LEGACY_PLUGIN_CACHE (const wxString &aLibraryPath)
 
virtual ~SCH_LEGACY_PLUGIN_CACHE ()
 
void Save (const std::optional< bool > &aOpt) override
 Save the entire library to file m_libFileName;. More...
 
void Load () override
 
void DeleteSymbol (const wxString &aName) override
 
void IncrementModifyHash ()
 
int GetModifyHash ()
 
virtual void AddSymbol (const LIB_SYMBOL *aSymbol)
 
virtual LIB_SYMBOLGetSymbol (const wxString &aName)
 
wxFileName GetRealFile () const
 
wxDateTime GetLibModificationTime ()
 
bool IsFile (const wxString &aFullPathAndFileName) const
 
bool IsFileChanged () const
 
void SetModified (bool aModified=true)
 
wxString GetLogicalName () const
 
void SetFileName (const wxString &aFileName)
 
wxString GetFileName () const
 
const LIB_SYMBOL_MAPGetSymbolMap () const
 

Static Public Member Functions

static LIB_SYMBOLLoadPart (LINE_READER &aReader, int aMajorVersion, int aMinorVersion, LIB_SYMBOL_MAP *aMap=nullptr)
 
static void SaveSymbol (LIB_SYMBOL *aSymbol, OUTPUTFORMATTER &aFormatter, LIB_SYMBOL_MAP *aMap=nullptr)
 

Protected Member Functions

LIB_SYMBOLremoveSymbol (LIB_SYMBOL *aAlias)
 

Protected Attributes

int m_modHash
 
std::mutex m_modHashMutex
 
wxString m_fileName
 
wxFileName m_libFileName
 
wxDateTime m_fileModTime
 
LIB_SYMBOL_MAP m_symbols
 
bool m_isWritable
 
bool m_isModified
 
SCH_LIB_TYPE m_libType
 

Private Member Functions

void loadHeader (FILE_LINE_READER &aReader)
 
void loadDocs ()
 
void saveDocFile ()
 

Static Private Member Functions

static void loadAliases (std::unique_ptr< LIB_SYMBOL > &aSymbol, LINE_READER &aReader, LIB_SYMBOL_MAP *aMap=nullptr)
 
static void loadField (std::unique_ptr< LIB_SYMBOL > &aSymbol, LINE_READER &aReader)
 
static void loadDrawEntries (std::unique_ptr< LIB_SYMBOL > &aSymbol, LINE_READER &aReader, int aMajorVersion, int aMinorVersion)
 
static void loadFootprintFilters (std::unique_ptr< LIB_SYMBOL > &aSymbol, LINE_READER &aReader)
 
static LIB_SHAPEloadArc (std::unique_ptr< LIB_SYMBOL > &aSymbol, LINE_READER &aReader)
 
static LIB_SHAPEloadCircle (std::unique_ptr< LIB_SYMBOL > &aSymbol, LINE_READER &aReader)
 
static LIB_TEXTloadText (std::unique_ptr< LIB_SYMBOL > &aSymbol, LINE_READER &aReader, int aMajorVersion, int aMinorVersion)
 
static LIB_SHAPEloadRect (std::unique_ptr< LIB_SYMBOL > &aSymbol, LINE_READER &aReader)
 
static LIB_PINloadPin (std::unique_ptr< LIB_SYMBOL > &aSymbol, LINE_READER &aReader)
 
static LIB_SHAPEloadPolyLine (std::unique_ptr< LIB_SYMBOL > &aSymbol, LINE_READER &aReader)
 
static LIB_SHAPEloadBezier (std::unique_ptr< LIB_SYMBOL > &aSymbol, LINE_READER &aReader)
 
static FILL_T parseFillMode (LINE_READER &aReader, const char *aLine, const char **aOutput)
 
static void saveArc (LIB_SHAPE *aArc, OUTPUTFORMATTER &aFormatter)
 
static void saveBezier (LIB_SHAPE *aBezier, OUTPUTFORMATTER &aFormatter)
 
static void saveCircle (LIB_SHAPE *aCircle, OUTPUTFORMATTER &aFormatter)
 
static void saveField (const LIB_FIELD *aField, OUTPUTFORMATTER &aFormatter)
 
static void savePin (const LIB_PIN *aPin, OUTPUTFORMATTER &aFormatter)
 
static void savePolyLine (LIB_SHAPE *aPolyLine, OUTPUTFORMATTER &aFormatter)
 
static void saveRectangle (LIB_SHAPE *aRectangle, OUTPUTFORMATTER &aFormatter)
 
static void saveText (const LIB_TEXT *aText, OUTPUTFORMATTER &aFormatter)
 

Private Attributes

friend SCH_LEGACY_PLUGIN
 
int m_versionMajor
 
int m_versionMinor
 

Detailed Description

A cache assistant for KiCad legacy symbol libraries.

Definition at line 43 of file sch_legacy_lib_plugin_cache.h.

Constructor & Destructor Documentation

◆ SCH_LEGACY_PLUGIN_CACHE()

SCH_LEGACY_PLUGIN_CACHE::SCH_LEGACY_PLUGIN_CACHE ( const wxString &  aLibraryPath)

Definition at line 59 of file sch_legacy_lib_plugin_cache.cpp.

References m_versionMajor, and m_versionMinor.

◆ ~SCH_LEGACY_PLUGIN_CACHE()

virtual SCH_LEGACY_PLUGIN_CACHE::~SCH_LEGACY_PLUGIN_CACHE ( )
inlinevirtual

Definition at line 47 of file sch_legacy_lib_plugin_cache.h.

Member Function Documentation

◆ AddSymbol()

◆ DeleteSymbol()

◆ GetFileName()

wxString SCH_LIB_PLUGIN_CACHE::GetFileName ( ) const
inlineinherited

◆ GetLibModificationTime()

wxDateTime SCH_LIB_PLUGIN_CACHE::GetLibModificationTime ( )
inherited

◆ GetLogicalName()

wxString SCH_LIB_PLUGIN_CACHE::GetLogicalName ( ) const
inlineinherited

Definition at line 84 of file sch_lib_plugin_cache.h.

References SCH_LIB_PLUGIN_CACHE::m_libFileName.

◆ GetModifyHash()

int SCH_LIB_PLUGIN_CACHE::GetModifyHash ( )
inlineinherited

◆ GetRealFile()

◆ GetSymbol()

LIB_SYMBOL * SCH_LIB_PLUGIN_CACHE::GetSymbol ( const wxString &  aName)
virtualinherited

◆ GetSymbolMap()

const LIB_SYMBOL_MAP & SCH_LIB_PLUGIN_CACHE::GetSymbolMap ( ) const
inlineinherited

◆ IncrementModifyHash()

void SCH_LIB_PLUGIN_CACHE::IncrementModifyHash ( )
inlineinherited

◆ IsFile()

bool SCH_LIB_PLUGIN_CACHE::IsFile ( const wxString &  aFullPathAndFileName) const
inherited

◆ IsFileChanged()

bool SCH_LIB_PLUGIN_CACHE::IsFileChanged ( ) const
inherited

◆ Load()

◆ loadAliases()

void SCH_LEGACY_PLUGIN_CACHE::loadAliases ( std::unique_ptr< LIB_SYMBOL > &  aSymbol,
LINE_READER aReader,
LIB_SYMBOL_MAP aMap = nullptr 
)
staticprivate

◆ loadArc()

◆ loadBezier()

◆ loadCircle()

◆ loadDocs()

◆ loadDrawEntries()

void SCH_LEGACY_PLUGIN_CACHE::loadDrawEntries ( std::unique_ptr< LIB_SYMBOL > &  aSymbol,
LINE_READER aReader,
int  aMajorVersion,
int  aMinorVersion 
)
staticprivate

◆ loadField()

◆ loadFootprintFilters()

void SCH_LEGACY_PLUGIN_CACHE::loadFootprintFilters ( std::unique_ptr< LIB_SYMBOL > &  aSymbol,
LINE_READER aReader 
)
staticprivate

◆ loadHeader()

void SCH_LEGACY_PLUGIN_CACHE::loadHeader ( FILE_LINE_READER aReader)
private

◆ LoadPart()

◆ loadPin()

◆ loadPolyLine()

◆ loadRect()

◆ loadText()

◆ parseFillMode()

FILL_T SCH_LEGACY_PLUGIN_CACHE::parseFillMode ( LINE_READER aReader,
const char *  aLine,
const char **  aOutput 
)
staticprivate

Definition at line 734 of file sch_legacy_lib_plugin_cache.cpp.

References parseChar(), and SCH_PARSE_ERROR.

Referenced by loadArc(), loadBezier(), loadCircle(), loadPolyLine(), and loadRect().

◆ removeSymbol()

◆ Save()

◆ saveArc()

◆ saveBezier()

◆ saveCircle()

◆ saveDocFile()

void SCH_LEGACY_PLUGIN_CACHE::saveDocFile ( )
private

◆ saveField()

◆ savePin()

◆ savePolyLine()

◆ saveRectangle()

◆ SaveSymbol()

◆ saveText()

◆ SetFileName()

void SCH_LIB_PLUGIN_CACHE::SetFileName ( const wxString &  aFileName)
inlineinherited

◆ SetModified()

void SCH_LIB_PLUGIN_CACHE::SetModified ( bool  aModified = true)
inlineinherited

Member Data Documentation

◆ m_fileModTime

wxDateTime SCH_LIB_PLUGIN_CACHE::m_fileModTime
protectedinherited

◆ m_fileName

wxString SCH_LIB_PLUGIN_CACHE::m_fileName
protectedinherited

Definition at line 98 of file sch_lib_plugin_cache.h.

Referenced by SCH_LIB_PLUGIN_CACHE::IsFile().

◆ m_isModified

◆ m_isWritable

bool SCH_LIB_PLUGIN_CACHE::m_isWritable
protectedinherited

◆ m_libFileName

◆ m_libType

SCH_LIB_TYPE SCH_LIB_PLUGIN_CACHE::m_libType
protectedinherited

Definition at line 104 of file sch_lib_plugin_cache.h.

Referenced by Load(), and SCH_LIB_PLUGIN_CACHE::SCH_LIB_PLUGIN_CACHE().

◆ m_modHash

◆ m_modHashMutex

std::mutex SCH_LIB_PLUGIN_CACHE::m_modHashMutex
protectedinherited

◆ m_symbols

◆ m_versionMajor

int SCH_LEGACY_PLUGIN_CACHE::m_versionMajor
private

Definition at line 98 of file sch_legacy_lib_plugin_cache.h.

Referenced by Load(), and SCH_LEGACY_PLUGIN_CACHE().

◆ m_versionMinor

int SCH_LEGACY_PLUGIN_CACHE::m_versionMinor
private

Definition at line 99 of file sch_legacy_lib_plugin_cache.h.

Referenced by Load(), and SCH_LEGACY_PLUGIN_CACHE().

◆ SCH_LEGACY_PLUGIN

friend SCH_LEGACY_PLUGIN_CACHE::SCH_LEGACY_PLUGIN
private

Definition at line 66 of file sch_legacy_lib_plugin_cache.h.


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