Chatterino
ChatterinoBadges.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include <boost/optional.hpp>
4 #include <common/Singleton.hpp>
5 #include <memory>
6 #include <shared_mutex>
7 #include <unordered_map>
8 #include <vector>
9 #include "common/Aliases.hpp"
10 #include "util/QStringHash.hpp"
11 
12 namespace chatterino {
13 
14 struct Emote;
15 using EmotePtr = std::shared_ptr<const Emote>;
16 
18 {
19 public:
20  virtual void initialize(Settings &settings, Paths &paths) override;
22 
23  boost::optional<EmotePtr> getBadge(const UserId &id);
24 
25 private:
26  void loadChatterinoBadges();
27 
28  std::shared_mutex mutex_;
29 
30  std::unordered_map<QString, int> badgeMap;
31  std::vector<EmotePtr> emotes;
32 };
33 
34 } // namespace chatterino
ChatterinoBadges()
Definition: ChatterinoBadges.cpp:18
Definition: Singleton.hpp:10
Definition: Application.cpp:48
boost::optional< EmotePtr > getBadge(const UserId &id)
Definition: ChatterinoBadges.cpp:22
virtual void initialize(Settings &settings, Paths &paths) override
Definition: ChatterinoBadges.cpp:13
std::shared_ptr< const Emote > EmotePtr
Definition: Emote.hpp:38
Definition: ChatterinoBadges.hpp:17
Settings which are availlable for reading and writing on the gui thread.
Definition: Settings.hpp:78
Definition: Paths.hpp:8