KiCad PCB EDA Suite
Loading...
Searching...
No Matches
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_BLOCK > m_blocks
 
std::vector< SCH_SDB_OLE_ITEM > m_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

◆ PADS_SCH_SDB() [2/2]

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

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.

◆ 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.

◆ 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.

◆ FooterOffset()

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

Definition at line 100 of file pads_sch_sdb.h.

◆ HasFamilyMagic()

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

Definition at line 70 of file pads_sch_sdb.cpp.

Referenced by BOOST_AUTO_TEST_CASE().

◆ IsSupportedVersion()

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

Definition at line 76 of file pads_sch_sdb.cpp.

Referenced by BOOST_AUTO_TEST_CASE().

◆ Load()

void PADS_SCH_BINARY::PADS_SCH_SDB::Load ( std::vector< uint8_t > aBytes)

Definition at line 82 of file pads_sch_sdb.cpp.

◆ 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.

◆ operator=()

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

◆ parseBlocks()

void PADS_SCH_BINARY::PADS_SCH_SDB::parseBlocks ( )
private

Definition at line 173 of file pads_sch_sdb.cpp.

◆ parseDirectory()

void PADS_SCH_BINARY::PADS_SCH_SDB::parseDirectory ( )
private

Definition at line 128 of file pads_sch_sdb.cpp.

◆ parseHeader()

void PADS_SCH_BINARY::PADS_SCH_SDB::parseHeader ( )
private

Definition at line 99 of file pads_sch_sdb.cpp.

◆ PayloadOffset()

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

Definition at line 99 of file pads_sch_sdb.h.

◆ 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.

◆ 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.

◆ verifyFooter()

void PADS_SCH_BINARY::PADS_SCH_SDB::verifyFooter ( )
private

Definition at line 153 of file pads_sch_sdb.cpp.

◆ Version()

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

Definition at line 93 of file pads_sch_sdb.h.

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.

◆ 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.

◆ 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.

◆ m_footerOffset

size_t PADS_SCH_BINARY::PADS_SCH_SDB::m_footerOffset = 0
private

Definition at line 116 of file pads_sch_sdb.h.

◆ 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.

◆ m_payloadOffset

size_t PADS_SCH_BINARY::PADS_SCH_SDB::m_payloadOffset = 0
private

Definition at line 115 of file pads_sch_sdb.h.

◆ 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.

◆ m_version

uint16_t PADS_SCH_BINARY::PADS_SCH_SDB::m_version = 0
private

Definition at line 111 of file pads_sch_sdb.h.


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