Rise
The Vieneo Province
DiscordRPC.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <discord_rpc.h>
4 
5 #include "Logger.h"
6 #include "Networking.h"
7 #include "Bus.h"
8 
9 class DiscordRPC
10 {
12  static Bus* bus;
13  static Logger* logger;
14 
15  DiscordEventHandlers handlers{};
16  DiscordRichPresence discordPresence{};
17 
18  static void Trace(const char* msg, Logger::Level level);
19  static void HandleDiscordReady(const DiscordUser* connectedUser);
20  static void HandleDiscordDisconnected(int errcode, const char* message);
21  static void HandleDiscordError(int errcode, const char* message);
22 
23  char state[128] = { 0 };
24  char details[128] = { 0 };
25  char largeImageKey[32] = { 0 };
26  char smallImageKey[32] = { 0 };
27  char largeImageText[128] = { 0 };
28  char smallImageText[128] = { 0 };
29 
30 public:
31  void UpdatePresence(const char* prmDetails, const char* prmState, const char* prmLargeImageKey);
32  void UpdateTelemetry();
33  DiscordRPC(Networking* prmNetwork, Bus* prmBus, Logger* prmLogger);
34  static void FrameMove();
35  ~DiscordRPC() { Discord_Shutdown(); }
36 };
char details[128]
Definition: DiscordRPC.h:24
DiscordEventHandlers handlers
Definition: DiscordRPC.h:15
Definition: Logger.h:9
static Networking * network
Definition: DiscordRPC.h:11
char largeImageKey[32]
Definition: DiscordRPC.h:25
static void HandleDiscordDisconnected(int errcode, const char *message)
Definition: DiscordRPC.cpp:30
static void HandleDiscordReady(const DiscordUser *connectedUser)
Definition: DiscordRPC.cpp:18
static Logger * logger
Definition: DiscordRPC.h:13
char smallImageText[128]
Definition: DiscordRPC.h:28
Definition: Bus.h:16
char state[128]
Definition: DiscordRPC.h:23
static Bus * bus
Definition: DiscordRPC.h:12
static void Trace(const char *msg, Logger::Level level)
Definition: DiscordRPC.cpp:11
static void HandleDiscordError(int errcode, const char *message)
Definition: DiscordRPC.cpp:37
char largeImageText[128]
Definition: DiscordRPC.h:27
static void FrameMove()
Definition: DiscordRPC.cpp:320
void UpdatePresence(const char *prmDetails, const char *prmState, const char *prmLargeImageKey)
Definition: DiscordRPC.cpp:44
char smallImageKey[32]
Definition: DiscordRPC.h:26
DiscordRichPresence discordPresence
Definition: DiscordRPC.h:16
void UpdateTelemetry()
Definition: DiscordRPC.cpp:54
Level
Definition: Logger.h:19
DiscordRPC(Networking *prmNetwork, Bus *prmBus, Logger *prmLogger)
Definition: DiscordRPC.cpp:296