#ifndef METRONOME_H #define METRONOME_H #include #include namespace Timer { class MetronomeImpl; class Metronome { public: class Quantity { public: enum type { Hours, Minutes, Seconds }; }; public: Metronome(Quantity::type quantity, int amount); ~Metronome(); public: typedef std::function CallbackMethod; public: size_t Connect(CallbackMethod function); void Disconnect(size_t connection); private: std::unique_ptr m_pMetronomeImpl; }; } // namespace Timer #endif // METRONOME_H