20#ifndef SYMBOL_IMPORT_RECONCILER_H
21#define SYMBOL_IMPORT_RECONCILER_H
82 Reconcile(
SCHEMATIC* aSchematic, std::vector<std::unique_ptr<LIB_SYMBOL>> aDefinitions,
83 const wxString& aCacheNickname,
const std::vector<wxString>& aSourceLibNicknames );
88 const std::map<wxString, LIB_SYMBOL*>& aCacheDefs,
114 const wxString& aSchematicPath,
115 const std::map<std::string, UTF8>* aProperties,
REPORTER& aReporter );
Define a library symbol object.
static REPORTER & GetInstance()
Container for project specific data.
A pure virtual class used to derive REPORTER objects from.
Holds all the data relating to one schematic.
Base class that schematic file and library loading and saving plugins should derive from.
bool registerCacheRow(const wxString &aCacheNickname)
Insert or refresh the project symbol-library-table row for the generated cache.
SYMBOL_IMPORT_RECONCILER(SYMBOL_LIBRARY_ADAPTER &aAdapter, const wxString &aProjectPath, REPORTER &aReporter=NULL_REPORTER::GetInstance())
SYMBOL_IMPORT_RECONCILE_RESULT Reconcile(SCHEMATIC *aSchematic, std::vector< std::unique_ptr< LIB_SYMBOL > > aDefinitions, const wxString &aCacheNickname, const std::vector< wxString > &aSourceLibNicknames)
Reconcile aSchematic against the importer definitions and the provenance source libraries.
SYMBOL_LIBRARY_ADAPTER & m_adapter
void writeAndRegisterCache(const wxString &aCacheNickname, const std::map< wxString, LIB_SYMBOL * > &aCacheDefs, SYMBOL_IMPORT_RECONCILE_RESULT &aResult)
Write the residual definitions into an atomically-published .kicad_sym and register its row.
An interface to the global shared library manager that is schematic-specific and linked to one projec...
An 8 bit string that is assuredly encoded in UTF8, and supplies special conversion support to and fro...
Outcome of a post-import symbol-library reconciliation pass.
int m_linkedToCache
schematic LIB_IDs re-pointed at the generated cache
int m_unresolved
schematic LIB_IDs left unresolved
wxString m_cacheNickname
nickname of the generated cache, empty if none written
int m_linkedToSource
schematic LIB_IDs re-pointed at a provenance source library
int m_savedToCache
distinct definitions written into the cache library
SYMBOL_IMPORT_RECONCILE_RESULT ReconcileImportedSymbols(SCH_IO &aPlugin, SCHEMATIC &aSchematic, PROJECT &aProject, const wxString &aSchematicPath, const std::map< std::string, UTF8 > *aProperties, REPORTER &aReporter)
Reconcile aSchematic against the definitions aPlugin retained while loading it.