Metronome.h 467 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #ifndef METRONOME_H
  2. #define METRONOME_H
  3. #include <memory>
  4. #include <functional>
  5. namespace Timer {
  6. class MetronomeImpl;
  7. class Metronome
  8. {
  9. public:
  10. class Quantity
  11. {
  12. public:
  13. enum type
  14. {
  15. Hours,
  16. Minutes,
  17. Seconds
  18. };
  19. };
  20. public:
  21. Metronome(Quantity::type quantity, int amount);
  22. ~Metronome();
  23. size_t Connect(std::function<void()> function);
  24. private:
  25. std::unique_ptr<MetronomeImpl> m_pMetronomeImpl;
  26. };
  27. } // namespace Timer
  28. #endif // METRONOME_H