Files
BuildTools
Qt
Src
Agave
Components
Elevator
Mastering
Plugins
ReplayGainAnalysis
WAT
Wasabi
Wasabi2
Winamp
aacPlus
aacdec
aacdec-mft
adpcm
alac
albumart
apev2
auth
bmp
burnlib
codesign
config
devices
external_dependencies
f263
filereader
freetypewac
gif
gracenote
h264
h264dec
id3v2
ie_plugin
installer
jpeg
libvp6
libvpShared
mp3-mpg123
mp4v
mpeg4dec
nde
nprt_plugin
ns-eel
ns-eel2
nsavi
nsmkv
nsutil
nsv
nsvdec_vp3
nsvdec_vp5
nsvdec_vp6
nswasabi
nu
omBrowser
pcm
pfc
playlist
plist
png
replicant
resources
tagz
tataki
theora
timer
Factory.cpp
Factory.h
ScriptFactory.cpp
ScriptFactory.h
ScriptObjectService.cpp
ScriptObjectService.h
api.h
main.cpp
resource.h
stimer.cpp
stimer.h
timer.rc
timer.sln
timer.vcxproj
timer.vcxproj.filters
timerapi.cpp
timerapi.h
timermul.cpp
timermul.h
tmultiplex.cpp
tmultiplex.h
version.rc2
vlb
vp32
vp6
vp8x
wbm
winampAll
winampa
xml
xspf
vcpkg-ports
.gitignore
LICENSE.md
README.md
automate-git.py
cef_x86.bat
install-packages.cmd
vcpkg_version_finder.py
winampAll_2019.sln
winamp/Src/timer/tmultiplex.h
2024-09-24 14:54:57 +02:00

46 lines
1.1 KiB
C++

#ifndef __MAIN_TIMERMULTIPLEXER_H
#define __MAIN_TIMERMULTIPLEXER_H
#include "timermul.h"
#include <bfc/depend.h>
#include <bfc/string/StringW.h>
#include <api/timer/timerclient.h>
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<VirtualTimer> timerclients;
PtrListQuickSortedByPtrVal<TimerClient> masters;
};
#endif