//
// Created by rhetenor on 20.11.18.
//

#ifndef FLIPPR_DRIVER_SEVENDIGITDISPLAY_H
#define FLIPPR_DRIVER_SEVENDIGITDISPLAY_H

#include "output/items/SevenDigitDisplay.h"

#include "output/items/detail/Display.h"

namespace flippR_driver
{
namespace output
{
namespace items
{
namespace detail
{

class SevenDigitDisplay : public virtual items::detail::Display, public virtual items::SevenDigitDisplay
{
public:
  SevenDigitDisplay(const uint8_t & address, const std::string & name) :
    detail::Display(address, name)
  {
    CLOG(DEBUG, OUTPUT_LOGGER) << "Created SevenDigitDisplay " << name << " with address " << int{this->address};
  }

  void write_score(unsigned int score) override
  {
    detail::Display::write_score(score, 7);
  }
  void write_content(std::string & content) override
  {
    detail::Display::write_content(content, 7);
  }

  ~SevenDigitDisplay() override = default;

  std::string get_name() const override
  {
    return name;
  }

};
}
}
}
}
#endif //FLIPPR_DRIVER_SEVENDIGITDISPLAY_H
