23#ifndef SCH_IO_ORCAD_H_
24#define SCH_IO_ORCAD_H_
102 const std::map<std::string, UTF8>* aProperties =
nullptr )
override;
109 void EnumerateSymbolLib( wxArrayString& aSymbolNameList,
const wxString& aLibraryPath,
110 const std::map<std::string, UTF8>* aProperties =
nullptr )
override;
112 void EnumerateSymbolLib( std::vector<LIB_SYMBOL*>& aSymbolList,
const wxString& aLibraryPath,
113 const std::map<std::string, UTF8>* aProperties =
nullptr )
override;
116 const std::map<std::string, UTF8>* aProperties =
nullptr )
override;
123 const std::vector<std::unique_ptr<LIB_SYMBOL>>&
loadOlbSymbols(
const wxString& aLibraryPath );
125 std::map<wxString, std::vector<std::unique_ptr<LIB_SYMBOL>>>
m_libCache;
REPORTER * m_reporter
Reporter to log errors/warnings to, may be nullptr.
Define a library symbol object.
Holds all the data relating to one schematic.
const std::vector< std::unique_ptr< LIB_SYMBOL > > & loadOlbSymbols(const wxString &aLibraryPath)
Parse an .OLB and build its KiCad library symbols, cached by library path.
std::map< wxString, std::vector< std::unique_ptr< LIB_SYMBOL > > > m_libCache
bool IsLibraryWritable(const wxString &aLibraryPath) override
Return true if the library at aLibraryPath is writable.
bool CanReadSchematicFile(const wxString &aFileName) const override
The .dsn extension collides with SPECCTRA PCB session files (plain text), so beyond the extension gat...
SCH_SHEET * LoadSchematicFile(const wxString &aFileName, SCHEMATIC *aSchematic, SCH_SHEET *aAppendToMe=nullptr, const std::map< std::string, UTF8 > *aProperties=nullptr) override
Orchestration: root sheet/screen boilerplate (honoring aAppendToMe), CFB open, Library parse + versio...
LIB_SYMBOL * LoadSymbol(const wxString &aLibraryPath, const wxString &aAliasName, const std::map< std::string, UTF8 > *aProperties=nullptr) override
Load a LIB_SYMBOL object having aPartName from the aLibraryPath containing a library format that this...
void EnumerateSymbolLib(wxArrayString &aSymbolNameList, const wxString &aLibraryPath, const std::map< std::string, UTF8 > *aProperties=nullptr) override
Enumerate the symbols of an OrCAD .OLB library (an OLE2/CFB compound document with the same Library/C...
const IO_BASE::IO_FILE_DESC GetSchematicFileDesc() const override
Returns schematic file description for the SCH_IO.
int GetModifyHash() const override
Return the modification hash from the library cache.
const IO_BASE::IO_FILE_DESC GetLibraryDesc() const override
Get the descriptor for the library container that this IO plugin operates on.
SCH_IO(const wxString &aName)
Sheet symbol placed in a schematic, and is the entry point for a sub schematic.
static REPORTER & GetInstance()
std::string OrcadNormalizeCfbName(const std::string &aName)
Container that describes file type info.