move GetProcessId to C files

This commit is contained in:
twinaphex 2020-05-23 04:49:14 +02:00
parent 6591b53547
commit 5e3fd8e95e
7 changed files with 31 additions and 38 deletions

View File

@ -1,12 +1,6 @@
#pragma once
#include <stdint.h>
/* clang-format off */
# define DISCORD_EXPORT
/* clang-format on */
#ifdef __cplusplus
extern "C" {
#endif
@ -52,28 +46,28 @@ typedef struct DiscordEventHandlers
#define DISCORD_REPLY_YES 1
#define DISCORD_REPLY_IGNORE 2
DISCORD_EXPORT void Discord_Initialize(const char* applicationId,
void Discord_Initialize(const char* applicationId,
DiscordEventHandlers* handlers,
int autoRegister,
const char* optionalSteamId);
DISCORD_EXPORT void Discord_Shutdown(void);
void Discord_Shutdown(void);
/* checks for incoming messages, dispatches callbacks */
DISCORD_EXPORT void Discord_RunCallbacks(void);
void Discord_RunCallbacks(void);
/* If you disable the lib starting its own I/O thread,
* you'll need to call this from your own */
#ifdef DISCORD_DISABLE_IO_THREAD
DISCORD_EXPORT void Discord_UpdateConnection(void);
void Discord_UpdateConnection(void);
#endif
DISCORD_EXPORT void Discord_UpdatePresence(const DiscordRichPresence* presence);
DISCORD_EXPORT void Discord_ClearPresence(void);
void Discord_UpdatePresence(const DiscordRichPresence* presence);
void Discord_ClearPresence(void);
DISCORD_EXPORT void Discord_Respond(const char* userid,
void Discord_Respond(const char* userid,
/* DISCORD_REPLY_ */ int reply);
DISCORD_EXPORT void Discord_UpdateHandlers(DiscordEventHandlers* handlers);
void Discord_UpdateHandlers(DiscordEventHandlers* handlers);
#ifdef __cplusplus
} /* extern "C" */

View File

@ -5,9 +5,6 @@
#include <stdint.h>
#include <stdlib.h>
/* not really connectiony, but need per-platform */
int GetProcessId(void);
struct BaseConnection
{
static BaseConnection* Create();

View File

@ -9,11 +9,6 @@
#include <sys/un.h>
#include <unistd.h>
int GetProcessId()
{
return ::getpid();
}
struct BaseConnectionUnix : public BaseConnection {
int sock{-1};
};

View File

@ -6,11 +6,6 @@
#define NOIME
#include <windows.h>
int GetProcessId()
{
return (int)::GetCurrentProcessId();
}
struct BaseConnectionWin : public BaseConnection
{
HANDLE pipe{INVALID_HANDLE_VALUE};

View File

@ -1,10 +1,13 @@
#include <stdio.h>
#include <errno.h>
#include <fcntl.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/un.h>
#include <unistd.h>
#include <boolean.h>
@ -13,6 +16,11 @@
#include <discord_rpc.h>
int get_process_id(void)
{
return getpid();
}
/* we want to register games so we can run them from
* Discord client as discord-<appid>:// */
void Discord_Register(const char *applicationId, const char *command)

View File

@ -9,6 +9,11 @@
#include <wchar.h>
#include <stdio.h>
int get_process_id(void)
{
return (int)GetCurrentProcessId();
}
/**
* Updated fixes for MinGW and WinXP
* This block is written the way it does not involve changing the rest of the code

View File

@ -1,5 +1,5 @@
#include <retro_common_api.h>
#include "discord_rpc.h"
#include "discord_register.h"
#include "backoff.h"
#include "msg_queue.h"
@ -149,7 +149,7 @@ static void UpdateReconnectTime(void)
}
#ifdef DISCORD_DISABLE_IO_THREAD
extern "C" DISCORD_EXPORT void Discord_UpdateConnection(void)
extern "C" void Discord_UpdateConnection(void)
#else
static void Discord_UpdateConnection(void)
#endif
@ -300,7 +300,7 @@ static bool DeregisterForEvent(const char* evtName)
return false;
}
extern "C" DISCORD_EXPORT void Discord_Initialize(
extern "C" void Discord_Initialize(
const char* applicationId,
DiscordEventHandlers* handlers,
int autoRegister,
@ -318,7 +318,7 @@ extern "C" DISCORD_EXPORT void Discord_Initialize(
Discord_Register(applicationId, nullptr);
}
Pid = GetProcessId();
Pid = get_process_id();
{
std::lock_guard<std::mutex> guard(HandlerMutex);
@ -373,7 +373,7 @@ extern "C" DISCORD_EXPORT void Discord_Initialize(
IoThread->Start();
}
extern "C" DISCORD_EXPORT void Discord_Shutdown(void)
extern "C" void Discord_Shutdown(void)
{
if (!Connection)
return;
@ -390,8 +390,7 @@ extern "C" DISCORD_EXPORT void Discord_Shutdown(void)
RpcConnection::Destroy(Connection);
}
extern "C" DISCORD_EXPORT void
Discord_UpdatePresence(const DiscordRichPresence* presence)
extern "C" void Discord_UpdatePresence(const DiscordRichPresence* presence)
{
{
std::lock_guard<std::mutex> guard(PresenceMutex);
@ -402,12 +401,12 @@ Discord_UpdatePresence(const DiscordRichPresence* presence)
IoThread->Notify();
}
extern "C" DISCORD_EXPORT void Discord_ClearPresence(void)
extern "C" void Discord_ClearPresence(void)
{
Discord_UpdatePresence(nullptr);
}
extern "C" DISCORD_EXPORT void Discord_Respond(const char* userId, /* DISCORD_REPLY_ */ int reply)
extern "C" void Discord_Respond(const char* userId, /* DISCORD_REPLY_ */ int reply)
{
/* if we are not connected, let's not batch up stale messages for later */
if (!Connection || !Connection->IsOpen())
@ -423,7 +422,7 @@ extern "C" DISCORD_EXPORT void Discord_Respond(const char* userId, /* DISCORD_RE
}
}
extern "C" DISCORD_EXPORT void Discord_RunCallbacks(void)
extern "C" void Discord_RunCallbacks(void)
{
/* Note on some weirdness: internally we might connect, get other signals, disconnect any number
* of times inbetween calls here. Externally, we want the sequence to seem sane, so any other
@ -515,7 +514,7 @@ extern "C" DISCORD_EXPORT void Discord_RunCallbacks(void)
DeregisterForEvent(event)
#endif
extern "C" DISCORD_EXPORT void Discord_UpdateHandlers(DiscordEventHandlers* newHandlers)
extern "C" void Discord_UpdateHandlers(DiscordEventHandlers* newHandlers)
{
if (newHandlers)
{