#ifndef EMOTES_H #define EMOTES_H #include "twitchemotevalue.h" #include "lazyloadedimage.h" #include "QMutex" #include "QMap" #include "concurrentmap.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