53 std::vector<std::unique_ptr<FOOTPRINT>> owners;
65 for(
const wxString&
name : names )
67 std::unique_ptr<FOOTPRINT> owner( io.
FootprintLoad( aPrettyPath,
name,
false,
nullptr ) );
71 wxLogTrace(
traceDiffMerge, wxT(
"FP_LIB_DIFFER: '%s' returned null on load" ),
name );
75 map[
name] = owner.get();
76 owners.push_back( std::move( owner ) );
79 return { std::move( owners ), std::move( map ) };
static std::pair< std::vector< std::unique_ptr< FOOTPRINT > >, FOOTPRINT_MAP > LoadLibrary(const wxString &aPrettyPath)
Load a .pretty directory into a FOOTPRINT_MAP.
const FOOTPRINT_MAP & m_before
FP_LIB_DIFFER(const FOOTPRINT_MAP &aBefore, const FOOTPRINT_MAP &aAfter, const wxString &aPath=wxEmptyString)
DOCUMENT_DIFF Diff() override
Produce a DOCUMENT_DIFF of the inputs the concrete differ was constructed with.
~FP_LIB_DIFFER() override
const FOOTPRINT_MAP & m_after
std::map< wxString, const FOOTPRINT * > FOOTPRINT_MAP
A #PLUGIN derivation for saving and loading Pcbnew s-expression formatted files.
void FootprintEnumerate(wxArrayString &aFootprintNames, const wxString &aLibraryPath, bool aBestEfforts, const std::map< std::string, UTF8 > *aProperties=nullptr) override
Return a list of footprint names contained within the library at aLibraryPath.
FOOTPRINT * FootprintLoad(const wxString &aLibraryPath, const wxString &aFootprintName, bool aKeepUUID=false, const std::map< std::string, UTF8 > *aProperties=nullptr) override
Load a footprint having aFootprintName from the aLibraryPath containing a library format that this PC...
const wxChar *const traceDiffMerge
Flag to enable diff/merge engine and renderer debugging output.
DOCUMENT_DIFF DiffLibraryByName(const MAP &aBefore, const MAP &aAfter, const wxString &aPath, const wxString &aDocType, const wxString &aTypeName, const KICAD_DIFFER::OPTIONS &aOptions, BBoxFn aBBox, ChangedFn aChanged)
Shared name-keyed library diff used by FP_LIB_DIFFER and SYM_LIB_DIFFER.
The full set of changes between two parsed documents of one type.
wxLogTrace helper definitions.