From 3cedc83bfa25c05f61da1bfbb4676818eea57209 Mon Sep 17 00:00:00 2001 From: radius Date: Mon, 24 Dec 2018 14:28:36 -0500 Subject: [PATCH] [discord] cleanup, add helper functions --- command.c | 11 +++-------- discord/discord.c | 26 +++++++++++++++++++++----- discord/discord.h | 6 ++++++ 3 files changed, 30 insertions(+), 13 deletions(-) diff --git a/command.c b/command.c index 0f0ad1969d..166618703a 100644 --- a/command.c +++ b/command.c @@ -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; { diff --git a/discord/discord.c b/discord/discord.c index 7249380380..ed6929e479 100644 --- a/discord/discord.c +++ b/discord/discord.c @@ -49,8 +49,6 @@ #include #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, diff --git a/discord/discord.h b/discord/discord.h index 8148482d54..271fcec38c 100644 --- a/discord/discord.h +++ b/discord/discord.h @@ -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 */