[discord] cleanup, add helper functions

This commit is contained in:
radius 2018-12-24 14:28:36 -05:00
parent c2e3b5bfbf
commit 3cedc83bfa
3 changed files with 30 additions and 13 deletions

View File

@ -1834,9 +1834,6 @@ void command_playlist_update_write(
**/
bool command_event(enum event_command cmd, void *data)
{
#ifdef HAVE_DISCORD
static bool discord_inited = false;
#endif
bool boolean = false;
switch (cmd)
@ -2986,26 +2983,24 @@ TODO: Add a setting for these tweaks */
if (!settings->bools.discord_enable)
return false;
if (discord_inited)
if (discord_is_ready())
return true;
discord_init();
discord_inited = true;
}
#endif
break;
case CMD_EVENT_DISCORD_DEINIT:
#ifdef HAVE_DISCORD
if (!discord_inited)
if (!discord_is_ready())
return false;
discord_shutdown();
discord_inited = false;
#endif
break;
case CMD_EVENT_DISCORD_UPDATE:
#ifdef HAVE_DISCORD
if (!data || !discord_inited)
if (!data || !discord_is_ready())
return false;
{

View File

@ -49,8 +49,6 @@
#include <file/file_path.h>
#include "../file_path_special.h"
static int FrustrationLevel = 0;
static int64_t start_time = 0;
static int64_t pause_time = 0;
static int64_t ellapsed_time = 0;
@ -61,16 +59,33 @@ static unsigned discord_status = 0;
struct netplay_room *room;
static char user_id[128];
static char user_name[128];
static char avatar_path[PATH_MAX_LENGTH];
static char cdn_url[] = "https://cdn.discordapp.com/avatars";
DiscordRichPresence discord_presence;
char* discord_get_own_username(void)
{
return user_name;
}
char* discord_get_own_avatar(void)
{
return avatar_path;
}
bool discord_is_ready()
{
return discord_ready;
}
static bool discord_download_avatar(const char* user_id, const char* avatar_id)
{
static char url[PATH_MAX_LENGTH];
static char url_encoded[PATH_MAX_LENGTH];
static char fullpath[PATH_MAX_LENGTH];
static char avatar_path[PATH_MAX_LENGTH];
static char buf[PATH_MAX_LENGTH];
@ -79,9 +94,9 @@ static bool discord_download_avatar(const char* user_id, const char* avatar_id)
fill_pathname_application_special(buf,
sizeof(buf),
APPLICATION_SPECIAL_DIRECTORY_THUMBNAILS_DISCORD_AVATARS);
fill_pathname_join(fullpath, buf, avatar_id, sizeof(fullpath));
fill_pathname_join(avatar_path, buf, avatar_id, sizeof(avatar_path));
if(filestream_exists(fullpath))
if(filestream_exists(avatar_path))
return true;
else
{
@ -102,6 +117,7 @@ static bool discord_download_avatar(const char* user_id, const char* avatar_id)
static void handle_discord_ready(const DiscordUser* connectedUser)
{
strlcpy(user_name, connectedUser->username, sizeof(user_name));
RARCH_LOG("[Discord] connected to user: %s#%s - avatar id: %s\n",
connectedUser->username,
connectedUser->discriminator,

View File

@ -55,4 +55,10 @@ void discord_update(enum discord_presence presence);
void discord_run_callbacks();
bool discord_is_ready();
char* discord_get_own_username(void);
char* discord_get_own_avatar(void);
#endif /* __RARCH_DISCORD_H */