KiCad PCB EDA Suite
Loading...
Searching...
No Matches
PADS_SCH_BINARY::PADS_SCH_SDB Class Reference

#include <pads_sch_sdb.h>

Public Member Functions

 PADS_SCH_SDB ()=default
 
 PADS_SCH_SDB (const PADS_SCH_SDB &)=delete
 
PADS_SCH_SDBoperator= (const PADS_SCH_SDB &)=delete
 
void Load (std::vector< uint8_t > aBytes)
 
uint16_t Version () const
 
const std::array< SCH_SDB_POOL, 20 > & Pools () const
 
const PADS_IO::BINARY_CURSORCursor () const
 
const std::vector< uint8_t > & Bytes () const
 
const std::vector< SCH_SDB_BLOCK > & Blocks () const
 
const std::vector< SCH_SDB_OLE_ITEM > & OleItems () const
 
size_t PayloadOffset () const
 
size_t FooterOffset () const
 

Static Public Member Functions

static bool HasFamilyMagic (const std::vector< uint8_t > &aBytes)
 
static bool IsSupportedVersion (uint16_t aVersion)
 

Private Member Functions

void parseHeader ()
 
void parseDirectory ()
 
void verifyFooter ()
 
void parseBlocks ()
 
void throwAt (size_t aOffset, const wxString &aDetail) const
 

Private Attributes

std::vector< uint8_t > m_data
 
PADS_IO::BINARY_CURSOR m_cursor { m_data }
 
uint16_t m_version = 0
 
std::array< SCH_SDB_POOL, 20 > m_pools {}
 
std::vector< SCH_SDB_BLOCKm_blocks
 
std::vector< SCH_SDB_OLE_ITEMm_oleItems
 
size_t m_payloadOffset = 0
 
size_t m_footerOffset = 0
 

Detailed Description

Definition at line 80 of file pads_sch_sdb.h.

Constructor & Destructor Documentation

◆ PADS_SCH_SDB() [1/2]

PADS_SCH_BINARY::PADS_SCH_SDB::PADS_SCH_SDB ( )
default

Referenced by operator=(), and PADS_SCH_SDB().

◆ PADS_SCH_SDB() [2/2]

PADS_SCH_BINARY::PADS_SCH_SDB::PADS_SCH_SDB ( const PADS_SCH_SDB & )
delete

References PADS_SCH_SDB().

Member Function Documentation

◆ Blocks()

const std::vector< SCH_SDB_BLOCK > & PADS_SCH_BINARY::PADS_SCH_SDB::Blocks ( ) const
inline

Definition at line 97 of file pads_sch_sdb.h.

References m_blocks.

Referenced by BOOST_AUTO_TEST_CASE(), and BOOST_AUTO_TEST_CASE().

◆ Bytes()

const std::vector< uint8_t > & PADS_SCH_BINARY::PADS_SCH_SDB::Bytes ( ) const
inline

Definition at line 96 of file pads_sch_sdb.h.

References m_data.

Referenced by BOOST_AUTO_TEST_CASE(), and BOOST_AUTO_TEST_CASE().

◆ Cursor()

const PADS_IO::BINARY_CURSOR & PADS_SCH_BINARY::PADS_SCH_SDB::Cursor ( ) const
inline

Definition at line 95 of file pads_sch_sdb.h.

References m_cursor.

Referenced by BOOST_AUTO_TEST_CASE(), and PADS_SCH_BINARY::PADS_SCH_BINARY_PARSER::Parse().

◆ FooterOffset()

size_t PADS_SCH_BINARY::PADS_SCH_SDB::FooterOffset ( ) const
inline

Definition at line 100 of file pads_sch_sdb.h.

References m_footerOffset.

Referenced by BOOST_AUTO_TEST_CASE().

◆ HasFamilyMagic()

bool PADS_SCH_BINARY::PADS_SCH_SDB::HasFamilyMagic ( const std::vector< uint8_t > & aBytes)
static

◆ IsSupportedVersion()

bool PADS_SCH_BINARY::PADS_SCH_SDB::IsSupportedVersion ( uint16_t aVersion)
static

◆ Load()

◆ OleItems()

const std::vector< SCH_SDB_OLE_ITEM > & PADS_SCH_BINARY::PADS_SCH_SDB::OleItems ( ) const
inline

Definition at line 98 of file pads_sch_sdb.h.

References m_oleItems.

Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), and BOOST_AUTO_TEST_CASE().

◆ operator=()

PADS_SCH_SDB & PADS_SCH_BINARY::PADS_SCH_SDB::operator= ( const PADS_SCH_SDB & )
delete

References PADS_SCH_SDB().

◆ parseBlocks()

◆ parseDirectory()

◆ parseHeader()

void PADS_SCH_BINARY::PADS_SCH_SDB::parseHeader ( )
private

Definition at line 99 of file pads_sch_sdb.cpp.

References IsSupportedVersion(), m_cursor, m_data, m_payloadOffset, m_version, and throwAt().

Referenced by Load().

◆ PayloadOffset()

size_t PADS_SCH_BINARY::PADS_SCH_SDB::PayloadOffset ( ) const
inline

Definition at line 99 of file pads_sch_sdb.h.

References m_payloadOffset.

Referenced by BOOST_AUTO_TEST_CASE().

◆ Pools()

const std::array< SCH_SDB_POOL, 20 > & PADS_SCH_BINARY::PADS_SCH_SDB::Pools ( ) const
inline

Definition at line 94 of file pads_sch_sdb.h.

References m_pools.

Referenced by BOOST_AUTO_TEST_CASE().

◆ throwAt()

void PADS_SCH_BINARY::PADS_SCH_SDB::throwAt ( size_t aOffset,
const wxString & aDetail ) const
private

Definition at line 364 of file pads_sch_sdb.cpp.

References m_version, and THROW_IO_ERROR.

Referenced by parseBlocks(), parseDirectory(), parseHeader(), and verifyFooter().

◆ verifyFooter()

void PADS_SCH_BINARY::PADS_SCH_SDB::verifyFooter ( )
private

Definition at line 153 of file pads_sch_sdb.cpp.

References PADS_IO::CheckSdbFooter(), m_cursor, m_data, m_footerOffset, m_payloadOffset, and throwAt().

Referenced by Load().

◆ Version()

uint16_t PADS_SCH_BINARY::PADS_SCH_SDB::Version ( ) const
inline

Definition at line 93 of file pads_sch_sdb.h.

References m_version.

Referenced by BOOST_AUTO_TEST_CASE(), and PADS_SCH_BINARY::PADS_SCH_BINARY_PARSER::Parse().

Member Data Documentation

◆ m_blocks

std::vector<SCH_SDB_BLOCK> PADS_SCH_BINARY::PADS_SCH_SDB::m_blocks
private

Definition at line 113 of file pads_sch_sdb.h.

Referenced by Blocks(), Load(), and parseBlocks().

◆ m_cursor

PADS_IO::BINARY_CURSOR PADS_SCH_BINARY::PADS_SCH_SDB::m_cursor { m_data }
private

Definition at line 110 of file pads_sch_sdb.h.

Referenced by Cursor(), Load(), parseBlocks(), parseDirectory(), parseHeader(), and verifyFooter().

◆ m_data

std::vector<uint8_t> PADS_SCH_BINARY::PADS_SCH_SDB::m_data
private

Definition at line 109 of file pads_sch_sdb.h.

Referenced by Bytes(), Load(), parseBlocks(), parseDirectory(), parseHeader(), and verifyFooter().

◆ m_footerOffset

size_t PADS_SCH_BINARY::PADS_SCH_SDB::m_footerOffset = 0
private

Definition at line 116 of file pads_sch_sdb.h.

Referenced by FooterOffset(), Load(), parseBlocks(), and verifyFooter().

◆ m_oleItems

std::vector<SCH_SDB_OLE_ITEM> PADS_SCH_BINARY::PADS_SCH_SDB::m_oleItems
private

Definition at line 114 of file pads_sch_sdb.h.

Referenced by Load(), OleItems(), and parseBlocks().

◆ m_payloadOffset

size_t PADS_SCH_BINARY::PADS_SCH_SDB::m_payloadOffset = 0
private

Definition at line 115 of file pads_sch_sdb.h.

Referenced by Load(), parseBlocks(), parseHeader(), PayloadOffset(), and verifyFooter().

◆ m_pools

std::array<SCH_SDB_POOL, 20> PADS_SCH_BINARY::PADS_SCH_SDB::m_pools {}
private

Definition at line 112 of file pads_sch_sdb.h.

Referenced by Load(), parseBlocks(), parseDirectory(), and Pools().

◆ m_version

uint16_t PADS_SCH_BINARY::PADS_SCH_SDB::m_version = 0
private

Definition at line 111 of file pads_sch_sdb.h.

Referenced by Load(), parseHeader(), throwAt(), and Version().


The documentation for this class was generated from the following files: