#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); static int generation() { return m_generation; } static void incGeneration() { m_generation++; } private: Emotes(); static QString m_twitchEmoteTemplate; 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 QString getTwitchEmoteLink(long id, qreal &scale); static int m_generation; }; #endif // EMOTES_H