From 20d28e80a5c861a9d5f449ea911ab75b4f37ad0d Mon Sep 17 00:00:00 2001 From: Jef Date: Tue, 24 Sep 2024 14:54:57 +0200 Subject: Initial community commit --- Src/timer/tmultiplex.h | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 Src/timer/tmultiplex.h (limited to 'Src/timer/tmultiplex.h') diff --git a/Src/timer/tmultiplex.h b/Src/timer/tmultiplex.h new file mode 100644 index 00000000..3ed426ba --- /dev/null +++ b/Src/timer/tmultiplex.h @@ -0,0 +1,45 @@ +#ifndef __MAIN_TIMERMULTIPLEXER_H +#define __MAIN_TIMERMULTIPLEXER_H + +#include "timermul.h" +#include +#include +#include + +class VirtualTimer +{ + public: + VirtualTimer(TimerClient *_client, intptr_t _id, api_dependent *depend); + virtual ~VirtualTimer() { } + + TimerClient *client, *mclient; + api_dependent *dep; + StringW name; + intptr_t id; +}; + +class MainTimerMultiplexer : public TimerMultiplexer, public TimerMultiplexerClient, public DependentViewerI { + public: + + MainTimerMultiplexer(); + virtual ~MainTimerMultiplexer(); + + virtual void add(TimerClient *client, intptr_t id, int ms); + virtual void remove(TimerClient *client, intptr_t id); + + virtual void onMultiplexedTimer(void *data, int skip, int mssincelast); + virtual void onServerTimer(); + + virtual int viewer_onItemDeleted(api_dependent *item); + + private: + + int isValidTimerClientPtr(TimerClient *tc, api_dependent *dep); + + int haveClient(TimerClient *client); + PtrList timerclients; + PtrListQuickSortedByPtrVal masters; + +}; + +#endif -- cgit