|
KiCad PCB EDA Suite
|
#include <map>#include <memory>#include <string>#include <vector>#include <wx/string.h>#include <reporter.h>Go to the source code of this file.
Classes | |
| struct | SYMBOL_IMPORT_RECONCILE_RESULT |
| Outcome of a post-import symbol-library reconciliation pass. More... | |
| class | SYMBOL_IMPORT_RECONCILER |
| Frame-independent, non-interactive service that reconciles the symbol-library references of a freshly imported (non-KiCad) schematic so that every symbol LIB_ID resolves to a registered project library. More... | |
Functions | |
| 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. | |
| 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.
Shared by the interactive import and the kicad-cli sch import job so both materialize the project symbol library and re-point LIB_IDs. Importers publishing no definitions of their own are skipped, and a reconciliation failure is reported rather than thrown so an import is never aborted by it.
| aProperties | carries the manager-chosen cache nickname and provenance source libraries; a standalone import passes nullptr and the nickname is derived from aSchematicPath. |
Definition at line 480 of file symbol_import_reconciler.cpp.
References _, SCH_IO::GetImportedCachedLibrarySymbols(), PROJECT::GetProjectPath(), IMPORT_PROJ_PROPS::MakeSymbolCacheNickname(), IMPORT_PROJ_PROPS::ReadSymbolProps(), SYMBOL_IMPORT_RECONCILER::Reconcile(), REPORTER::Report(), result, RPT_SEVERITY_ERROR, PROJECT_SCH::SymbolLibAdapter(), and IO_ERROR::What().
Referenced by SCH_EDIT_FRAME::importFile(), and EESCHEMA_JOBS_HANDLER::JobImport().