3 #include <QApplication> 12 class TwitchIrcServer;
15 class CommandController;
16 class AccountController;
17 class NotificationController;
18 class HighlightController;
19 class HotkeyController;
20 class IUserDataController;
21 class UserDataController;
33 class ChatterinoBadges;
63 std::vector<std::unique_ptr<Singleton>> singletons_;
76 int run(QApplication &qtApp);
110 return this->accounts;
114 return this->hotkeys;
118 return this->windows;
126 return this->commands;
130 return this->notifications;
134 return this->highlights;
142 return this->chatterinoBadges;
146 return this->ffzBadges;
153 void initSeventvEventAPI();
154 void initNm(
Paths &paths);
156 template <
typename T,
157 typename = std::enable_if_t<std::is_base_of<Singleton, T>::value>>
161 this->singletons_.push_back(std::unique_ptr<T>(t));
Application * getApp()
Definition: Application.cpp:623
Definition: Emotes.hpp:17
HotkeyController * getHotkeys() override
Definition: Application.hpp:112
virtual Fonts * getFonts()=0
Definition: Logging.hpp:14
WindowManager * getWindows() override
Definition: Application.hpp:116
Definition: Singleton.hpp:10
Definition: Application.hpp:61
virtual NotificationController * getNotifications()=0
ChatterinoBadges * getChatterinoBadges() override
Definition: Application.hpp:140
Definition: Application.cpp:48
Definition: HighlightController.hpp:150
Definition: FfzBadges.hpp:23
virtual TwitchIrcServer * getTwitch()=0
TwitchIrcServer * getTwitch() override
Definition: Application.hpp:136
Definition: Emotes.hpp:25
Definition: CommandController.hpp:26
Theme * getThemes() override
Definition: Application.hpp:99
Definition: Toasts.hpp:19
virtual FfzBadges * getFfzBadges()=0
virtual ChatterinoBadges * getChatterinoBadges()=0
AccountController * getAccounts() override
Definition: Application.hpp:108
Definition: WindowManager.hpp:27
Toasts * getToasts() override
Definition: Application.hpp:120
virtual ~IApplication()=default
Definition: UserDataController.hpp:20
Definition: UserDataController.hpp:31
static Application * instance
Definition: Application.hpp:68
virtual Toasts * getToasts()=0
HighlightController * getHighlights() override
Definition: Application.hpp:132
IApplication()
Definition: Application.cpp:55
CommandController * getCommands() override
Definition: Application.hpp:124
FfzBadges * getFfzBadges() override
Definition: Application.hpp:144
Fonts * getFonts() override
Definition: Application.hpp:103
virtual AccountController * getAccounts()=0
Definition: ChatterinoBadges.hpp:17
Settings which are availlable for reading and writing on the gui thread.
Definition: Settings.hpp:78
virtual HotkeyController * getHotkeys()=0
IApplication * getIApp()
Definition: Application.cpp:632
Definition: NativeMessaging.hpp:25
Definition: HotkeyController.hpp:22
virtual IUserDataController * getUserData()=0
NotificationController * getNotifications() override
Definition: Application.hpp:128
Definition: NotificationController.hpp:20
Definition: Application.hpp:37
virtual CommandController * getCommands()=0
virtual Theme * getThemes()=0
virtual WindowManager * getWindows()=0
Definition: AccountController.hpp:18
Definition: TwitchIrcServer.hpp:24
static IApplication * instance
Definition: Application.hpp:43
virtual HighlightController * getHighlights()=0
virtual IEmotes * getEmotes()=0
void load(const std::shared_ptr< NetworkData > &data)
Definition: NetworkPrivate.cpp:391
Definition: SeventvBadges.hpp:18