21#ifndef PCB_EASYEDAPRO_PLUGIN_H_
22#define PCB_EASYEDAPRO_PLUGIN_H_
24#include <nlohmann/json_fwd.hpp>
44 {
"elibz",
"epro",
"zip" } );
50 {
"elibz",
"efoo",
"epro",
"zip" } );
53 bool CanReadBoard(
const wxString& aFileName )
const override;
55 std::vector<std::pair<wxString, wxString>>
EnumerateProjectBoards(
const wxString& aFileName )
const override;
61 const std::map<std::string, UTF8>* aProperties =
nullptr )
override;
67 std::unique_ptr<FOOTPRINT>
FootprintLoad(
const wxString& aLibraryPath,
const wxString& aFootprintName,
68 bool aKeepUUID =
false,
69 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.
void LoadAllDataFromProject(const wxString &aLibraryPath, const nlohmann::json &aProject)
std::vector< FOOTPRINT * > GetImportedCachedLibraryFootprints() override
Return a container with the cached library footprints generated in the last call to Load.
bool CanReadBoard(const wxString &aFileName) const override
wxString m_importedDesignRules
long long GetLibraryTimestamp(const wxString &aLibraryPath) const override
Generate a timestamp representing all the files in the library (including the library directory).
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...
bool IsLibraryWritable(const wxString &aLibraryPath) override
Return true if the library at aLibraryPath is writable.
wxString GetImportedDesignRules() const override
Return custom DRC rules generated while importing the most recent board.
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.
const IO_BASE::IO_FILE_DESC GetBoardFileDesc() const override
Return board file description for the PCB_IO.
std::vector< std::pair< wxString, wxString > > EnumerateProjectBoards(const wxString &aFileName) const override
Check if this PCB_IO can read the specified board file.
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.
const IO_BASE::IO_FILE_DESC GetLibraryFileDesc() const override
Get the descriptor for the individual library elements that this IO plugin operates on.
const IO_BASE::IO_FILE_DESC GetLibraryDesc() const override
Get the descriptor for the library container that this IO plugin operates on.
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.