//..............................................................................
//
// Ninja log - range processor
//

namespace log {

//! \addtogroup api-log
//! @{

//..............................................................................

class RangeProcessor
{
	uint64_t m_timestamp;
	uint64_t m_recordCode;
	uint64_t m_zoneOffset;

	bool readonly m_isFinished; // set to 'true' to indicate we are done

	virtual void processNewZone()
	{
	}

	virtual void processText(
		uint64_t partCode,
		char const* text
		)
	{
	}

	virtual void processBin(
		uint64_t partCode,
		void const* p,
		size_t size
		)
	{
	}

	virtual void processDualBin(
		uint64_t partCode,
		void const* p1,
		void const* p2,
		size_t size
		)
	{
	}

	virtual void processEndOfRange()
	{
	}
}

// . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

typedef RangeProcessor* RangeProcessorFactoryFunc();

//..............................................................................

//! @}

} // namespace log
