blob: 87aebcffcce532bd4f0be96353a8e9bb4878029c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
#include <gtkmm.h>
#include <memory>
#include <mutex>
#include <string>
#include <unordered_set>
#include "discord/discord.hpp"
#include "windows/mainwindow.hpp"
#include "settings.hpp"
class Abaddon {
public:
Abaddon();
~Abaddon();
int StartGTK();
void StartDiscord();
void StopDiscord();
void LoadFromSettings();
void ActionConnect();
void ActionDisconnect();
void ActionSetToken();
void ActionMoveGuildUp(Snowflake id);
void ActionMoveGuildDown(Snowflake id);
void ActionCopyGuildID(Snowflake id);
void ActionListChannelItemClick(Snowflake id);
void ActionChatInputSubmit(std::string msg, Snowflake channel);
std::string GetDiscordToken() const;
bool IsDiscordActive() const;
const DiscordClient &GetDiscordClient() const;
void DiscordNotifyReady();
void DiscordNotifyChannelListFullRefresh();
void DiscordNotifyMessageCreate(Snowflake id);
private:
DiscordClient m_discord;
std::string m_discord_token;
std::unordered_set<Snowflake> m_channels_requested;
mutable std::mutex m_mutex;
Glib::RefPtr<Gtk::Application> m_gtk_app;
SettingsManager m_settings;
std::unique_ptr<MainWindow> m_main_window; // wah wah cant create a gtkstylecontext fuck you
};
|