srecord  1.65.0
srecord::memory_walker_fletcher16 Class Reference

The srecord::memory_walker_fletcher16 class is used to represent the parse state of a memory walker which calculates a running Fletcher-16 checksum. More...

#include <fletcher16.h>

Inheritance diagram for srecord::memory_walker_fletcher16:
Collaboration diagram for srecord::memory_walker_fletcher16:

Public Types

typedef std::shared_ptr< memory_walker_fletcher16pointer
 
- Public Types inherited from srecord::memory_walker
typedef std::shared_ptr< memory_walkerpointer
 

Public Member Functions

virtual ~memory_walker_fletcher16 ()
 The destructor. More...
 
unsigned get (void) const
 The get method is used to get the Fletcher-16 checksum once all memory chunks have been processed by calls to our observe method. More...
 
- Public Member Functions inherited from srecord::memory_walker
virtual ~memory_walker ()
 The destructor. More...
 
virtual void observe_end (void)
 The observe_end method is called once all of the data blocks have been passed to the observer via the observe() method. More...
 
virtual void notify_upper_bound (unsigned long address)
 The notify_upper_bound method is used to notify the walker of the upper bound (highest address plus one) of the observe calls to come. More...
 
virtual void observe_header (const record *rec=0)
 The observe_header method is used to inform the walker of the header record. More...
 
virtual void observe_start_address (const record *rec=0)
 The observe_start_address method is used to inform the walker of the execution start address record. More...
 

Static Public Member Functions

static pointer create (int sum1, int sum2, int answer, endian_t end)
 The create class method is used to create new dynamically allocated instances of this class. More...
 

Protected Member Functions

void observe (unsigned long address, const void *data, int data_size)
 The observe method is used by the memory walker to provide data. More...
 
- Protected Member Functions inherited from srecord::memory_walker
 memory_walker ()
 The default constructor. More...
 

Detailed Description

The srecord::memory_walker_fletcher16 class is used to represent the parse state of a memory walker which calculates a running Fletcher-16 checksum.

Definition at line 32 of file fletcher16.h.

Member Typedef Documentation

◆ pointer

Definition at line 36 of file fletcher16.h.

Constructor & Destructor Documentation

◆ ~memory_walker_fletcher16()

virtual srecord::memory_walker_fletcher16::~memory_walker_fletcher16 ( )
virtual

The destructor.

Member Function Documentation

◆ create()

static pointer srecord::memory_walker_fletcher16::create ( int  sum1,
int  sum2,
int  answer,
endian_t  end 
)
static

The create class method is used to create new dynamically allocated instances of this class.

Parameters
sum1The seed value for sum1. Defaults to zero.
sum2The seed value for sum2. Defaults to zero.
answerSet this to -1 to be completely ignored. If >= 0, this is the desired outcome if the checksum includes the checksum itself. The checksum returned will be calculated to return this desired outcome, when traversed, rather than a pure Fletcher-16 checksum.
endThe endian-ness of the checksum. This is needed to manipulate the answer. Ignored if answer is ignored.

◆ get()

unsigned srecord::memory_walker_fletcher16::get ( void  ) const

The get method is used to get the Fletcher-16 checksum once all memory chunks have been processed by calls to our observe method.

◆ observe()

void srecord::memory_walker_fletcher16::observe ( unsigned long  address,
const void *  data,
int  data_size 
)
protectedvirtual

The observe method is used by the memory walker to provide data.

Derived classes are required to impliment this method, and do something with the data.

Parameters
addressThe base address of this chunk of memory.
dataThe base address of this chunk of memory in memory.
data_sizeThe size, in bytes, of this chunk of memory.

Implements srecord::memory_walker.


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