KiCad PCB EDA Suite
Loading...
Searching...
No Matches
symbol_import_reconciler.cpp File Reference
#include "symbol_import_reconciler.h"
#include <map>
#include <set>
#include <wx/filefn.h>
#include <wx/filename.h>
#include <import_proj_properties.h>
#include <lib_id.h>
#include <lib_symbol.h>
#include <project.h>
#include <project_sch.h>
#include <reporter.h>
#include <schematic.h>
#include <sch_pin.h>
#include <sch_screen.h>
#include <sch_symbol.h>
#include <wildcards_and_files_ext.h>
#include <io/io_mgr.h>
#include <sch_io/sch_io.h>
#include <sch_io/sch_io_mgr.h>
#include <sch_io/kicad_sexpr/sch_io_kicad_sexpr.h>
#include <libraries/symbol_library_adapter.h>
#include <libraries/library_table.h>

Go to the source code of this file.

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.
 

Function Documentation

◆ ReconcileImportedSymbols()

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.

Parameters
aPropertiescarries 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().