#ifndef ARM_ITEM_PRINTER_H_INCLUDED
#define ARM_ITEM_PRINTER_H_INCLUDED
#include "opencsd.h"
#include <string>
class ItemPrinter
{
public:
ItemPrinter();
virtual ~ItemPrinter();
void setMessageLogger(ocsdMsgLogger *pMsgLogger) { m_pMsgLogger = pMsgLogger; };
void itemPrintLine(const std::string &msg);
void setTestWaits(const int num_waits);
const int getTestWaits() const;
void decTestWaits();
void setMute(bool mute);
const bool is_muted() const;
void muteIDPrint(bool mute) { m_mute_id_print = mute; };
const bool id_print_muted() const { return m_mute_id_print; }
protected:
ocsdMsgLogger *m_pMsgLogger;
int m_test_waits;
bool m_mute;
bool m_mute_id_print;
};
inline ItemPrinter::ItemPrinter() :
m_pMsgLogger(0),
m_test_waits(0),
m_mute(false),
m_mute_id_print(false)
{
}
inline ItemPrinter::~ItemPrinter()
{
m_pMsgLogger = 0;
}
inline void ItemPrinter::itemPrintLine(const std::string &msg)
{
if(m_pMsgLogger)
m_pMsgLogger->LogMsg(msg);
}
inline void ItemPrinter::setTestWaits(const int num_waits)
{
m_test_waits = num_waits;
}
inline const int ItemPrinter::getTestWaits() const
{
return m_test_waits;
}
inline void ItemPrinter::decTestWaits()
{
m_test_waits--;
}
inline void ItemPrinter::setMute(bool mute)
{
m_mute = mute;
}
inline const bool ItemPrinter::is_muted() const
{
return m_mute;
}
#endif