diff options
Diffstat (limited to 'Src/Winamp/api_stats.h')
-rw-r--r-- | Src/Winamp/api_stats.h | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/Src/Winamp/api_stats.h b/Src/Winamp/api_stats.h new file mode 100644 index 00000000..02e2a71c --- /dev/null +++ b/Src/Winamp/api_stats.h @@ -0,0 +1,74 @@ +#ifndef NULLSOFT_API_STATS_H +#define NULLSOFT_API_STATS_H + +#include <bfc/dispatch.h> +/* super secret user spying code goes here */ + +class api_stats : public Dispatchable +{ + public: + enum + { + LAUNCHES, // st1 + TIME_RUNNING, // st2 + TIME_VISIBLE,// st3 + TIME_PLAYING,// st4 + TIME_MB,// st5 + TIME_VISIBLE_PLAYING, // st6 + TIME_MB_PLAYING, // st7 + FILES_PLAYED, // st8 + CDS_PLAYED, // st9 + STREAMS_PLAYED, // st10 + VIDEOS_PLAYED, // st11 + LIBRARY_SIZE, // st12 + REGVER, // st13 + PLEDIT_LENGTH, // st14 + PLAYLIST_COUNT, // st15 + PODCAST_COUNT, // st16 + PMP_TRANSFER_COUNT, // st17 + REPLAYGAIN_COUNT, // st18 + TRANSCODE_COUNT, // st19 + TRANSCODE_FORMAT, // st20 + RIP_COUNT, // st21 + RIP_FORMAT, // st22 + AVI_AUDIO_FORMAT, // st23 + AVI_VIDEO_FOURCC, // st24 + BOOKMARK_COUNT, // st25 + PLG_COUNT, // st26 + NUM_STATS, + }; +protected: + api_stats() {} + ~api_stats() {} +public: + void SetStat(int stat, int value); + void IncrementStat(int stat); + void SetString(const char *key, const wchar_t *value); + enum + { + SETSTAT = 0, + INCREMENTSTAT = 1, + SETSTRING = 2, + }; +}; + +inline void api_stats::SetStat(int stat, int value) +{ + _voidcall(SETSTAT, stat, value); +} + +inline void api_stats::IncrementStat(int stat) +{ + _voidcall(INCREMENTSTAT, stat); +} + +inline void api_stats::SetString(const char *key, const wchar_t *value) +{ + _voidcall(SETSTRING, key, value); +} + +// {E23D9470-A095-4f02-97A1-88A8859DE0C2} +static const GUID AnonymousStatsGUID = +{ 0xe23d9470, 0xa095, 0x4f02, { 0x97, 0xa1, 0x88, 0xa8, 0x85, 0x9d, 0xe0, 0xc2 } }; + +#endif // !NULLSOFT_API_STATS_H
\ No newline at end of file |