35class CompoundFileReader;
std::map< uint32_t, std::vector< uint32_t > > m_children
storage id to member ids in tree order
std::unique_ptr< CFB::CompoundFileReader > m_reader
std::vector< uint8_t > ReadStream(const SOURCE_FB_ENTRY &aStream) const
const SOURCE_FB_ENTRY & Root() const
int32_t LibraryProduct() const
The LibFormat product, 1 when missing, short or 0.
FILE_KIND FileKind() const
std::vector< const SOURCE_FB_ENTRY * > Children(const SOURCE_FB_ENTRY &aStorage) const
The members of a storage in directory-tree order.
std::vector< uint8_t > m_image
COMPOUND_FILE(const wxString &aPath)
std::map< uint32_t, SOURCE_FB_ENTRY > m_entries
const SOURCE_FB_ENTRY * FindChild(const SOURCE_FB_ENTRY &aStorage, const std::u16string &aName) const
std::vector< uint8_t > ReadWholeFile(const wxString &aPath)
The whole content of a file; throws IO_ERROR when it cannot be read.
const char * FileKindString(FILE_KIND aKind)
FILE_KIND
The FileType strings the importer reads.
@ SCHEMATIC_SYMBOL_LIBRARY
wxString UnescapeItemName(const std::u16string &aName)
Undo the item name escaping, which stores # ! \ / : * ? " < > | as 0x06..0x10.
uint8_t Type
1 storage, 2 stream, 5 root
bool IsAppStream() const
FileType, LibFormat and SummaryInformation start with 0x05 and are never items.
std::u16string Name
without the terminator