24#ifndef PCB_IO_EASYEDAPRO_V3_H_
25#define PCB_IO_EASYEDAPRO_V3_H_
55 bool CanReadBoard(
const wxString& aFileName )
const override;
57 std::vector<std::pair<wxString, wxString>>
EnumerateProjectBoards(
const wxString& aFileName )
const override;
63 void FootprintEnumerate( wxArrayString& aFootprintNames,
const wxString& aLibraryPath,
bool aBestEfforts,
64 const std::map<std::string, UTF8>* aProperties =
nullptr )
override;
70 std::unique_ptr<FOOTPRINT>
FootprintLoad(
const wxString& aLibraryPath,
const wxString& aFootprintName,
71 bool aKeepUUID =
false,
72 const std::map<std::string, UTF8>* aProperties =
nullptr )
override;
77 void loadBoard(
const wxString& aFileName,
BOARD& aBoard,
bool aIsNewLoad,
78 const std::map<std::string, UTF8>* aProperties =
nullptr,
PROJECT* aProject =
nullptr )
override;
Information pertinent to a Pcbnew printed circuit board.
Parses EasyEDA Pro v3 .epro2 archives.
long long GetLibraryTimestamp(const wxString &aLibraryPath) const override
Generate a timestamp representing all the files in the library (including the library directory).
bool IsLibraryWritable(const wxString &aLibraryPath) override
Return true if the library at aLibraryPath is writable.
std::unique_ptr< EASYEDAPRO::V3_DOC_PARSER > m_cachedLibraryParser
const IO_BASE::IO_FILE_DESC GetLibraryDesc() const override
Get the descriptor for the library container that this IO plugin operates on.
wxString GetImportedDesignRules() const override
Return custom DRC rules generated while importing the most recent board.
bool CanReadBoard(const wxString &aFileName) const override
~PCB_IO_EASYEDAPRO_V3() override
wxString m_importedDesignRules
bool CanReadLibrary(const wxString &aFileName) const override
Checks if this IO object can read the specified library file/directory.
void loadBoard(const wxString &aFileName, BOARD &aBoard, bool aIsNewLoad, const std::map< std::string, UTF8 > *aProperties=nullptr, PROJECT *aProject=nullptr) override
Parse aFileName into aBoard.
std::vector< FOOTPRINT * > GetImportedCachedLibraryFootprints() override
Return a container with the cached library footprints generated in the last call to Load.
wxString m_cachedLibraryPath
std::vector< std::unique_ptr< FOOTPRINT > > m_importedLibFootprints
Definitions from the last LoadBoard, cloned out to the import reconciler on request.
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.
std::vector< std::pair< wxString, wxString > > EnumerateProjectBoards(const wxString &aFileName) const override
Check if this PCB_IO can read the specified board file.
const IO_BASE::IO_FILE_DESC GetBoardFileDesc() const override
Return board file description for the PCB_IO.
std::unique_ptr< 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 EASYEDAPRO::V3_DOC_PARSER & getCachedLibraryParser(const wxString &aLibraryPath) const
long long m_cachedLibraryTimestamp
PCB_IO(const wxString &aName)
Plugin class for import plugins that support choosing a project.
Container for project specific data.
Container that describes file type info.