54 lines
1.1 KiB
C++
54 lines
1.1 KiB
C++
/*
|
|
* File: DataSourceImager.h
|
|
*
|
|
* Copyright (c) Freescale Semiconductor, Inc. All rights reserved.
|
|
* See included license file for license details.
|
|
*/
|
|
#if !defined(_DataSourceImager_h_)
|
|
#define _DataSourceImager_h_
|
|
|
|
#include "Blob.h"
|
|
#include "DataSource.h"
|
|
|
|
namespace elftosb
|
|
{
|
|
/*!
|
|
* \brief Converts a DataSource into a single binary buffer.
|
|
*/
|
|
class DataSourceImager : public Blob
|
|
{
|
|
public:
|
|
//! \brief Constructor.
|
|
DataSourceImager();
|
|
|
|
//! \name Setup
|
|
//@{
|
|
void setBaseAddress(uint32_t address);
|
|
void setFillPattern(uint8_t pattern);
|
|
//@}
|
|
|
|
void reset();
|
|
|
|
//! \name Accessors
|
|
//@{
|
|
uint32_t getBaseAddress() { return m_baseAddress; }
|
|
//@}
|
|
|
|
//! \name Operations
|
|
//@{
|
|
//! \brief Adds all of the segments of which \a dataSource is composed.
|
|
void addDataSource(DataSource *source);
|
|
|
|
//! \brief Adds the data from one data segment.
|
|
void addDataSegment(DataSource::Segment *segment);
|
|
//@}
|
|
|
|
protected:
|
|
uint8_t m_fill;
|
|
uint32_t m_baseAddress;
|
|
bool m_isBaseAddressSet;
|
|
};
|
|
};
|
|
|
|
#endif // _DataSourceImager_h_
|