/* * Copyright (c) 2022, Andreas Kling * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include namespace Web::Platform { class TimerSerenity final : public Timer { public: static NonnullRefPtr create(); virtual ~TimerSerenity(); virtual void start() override; virtual void start(int interval_ms) override; virtual void restart() override; virtual void restart(int interval_ms) override; virtual void stop() override; virtual void set_active(bool) override; virtual bool is_active() const override; virtual int interval() const override; virtual void set_interval(int interval_ms) override; virtual bool is_single_shot() const override; virtual void set_single_shot(bool) override; private: TimerSerenity(); NonnullRefPtr m_timer; }; }