#ifndef EMOTES_H #define EMOTES_H #include "QMap" #include "QMutex" #include "concurrentmap.h" #include "lazyloadedimage.h" #include "twitchemotevalue.h" class Emotes { public: static ConcurrentMap & twitchEmotes() { return *m_twitchEmotes; } static ConcurrentMap & bttvEmotes() { return *m_bttvEmotes; } static ConcurrentMap & ffzEmotes() { return *m_ffzEmotes; } static ConcurrentMap & chatterinoEmotes() { return *m_chatterinoEmotes; } static ConcurrentMap & bttvChannelEmoteFromCaches() { return *m_bttvChannelEmoteFromCaches; } static ConcurrentMap & ffzChannelEmoteFromCaches() { return *m_ffzChannelEmoteFromCaches; } static ConcurrentMap & twitchEmoteFromCache() { return *m_twitchEmoteFromCache; } static ConcurrentMap & miscImageFromCache() { return *m_miscImageFromCache; } static void loadGlobalEmotes(); static LazyLoadedImage *getCheerImage(long long int amount, bool animated); static LazyLoadedImage *getCheerBadge(long long int amount); static LazyLoadedImage *getTwitchEmoteById(const QString &name, long int id); private: Emotes(); static ConcurrentMap *m_twitchEmotes; static ConcurrentMap *m_bttvEmotes; static ConcurrentMap *m_ffzEmotes; static ConcurrentMap *m_chatterinoEmotes; static ConcurrentMap *m_bttvChannelEmoteFromCaches; static ConcurrentMap *m_ffzChannelEmoteFromCaches; static ConcurrentMap *m_twitchEmoteFromCache; static ConcurrentMap *m_miscImageFromCache; static LazyLoadedImage *m_cheerBadge100000; static LazyLoadedImage *m_cheerBadge10000; static LazyLoadedImage *m_cheerBadge5000; static LazyLoadedImage *m_cheerBadge1000; static LazyLoadedImage *m_cheerBadge100; static LazyLoadedImage *m_cheerBadge1; }; #endif // EMOTES_H