Allow for disconnect/reconnect.

This commit is contained in:
Chris Marsh
2017-08-03 10:47:27 -07:00
parent 54bef63d67
commit 0271889b2e
3 changed files with 35 additions and 9 deletions

View File

@ -223,6 +223,10 @@ extern "C" void Discord_Initialize(const char* applicationId,
Handlers = {};
}
if (Connection) {
return;
}
Connection = RpcConnection::Create(applicationId);
Connection->onConnect = []() {
WasJustConnected.exchange(true);
@ -244,12 +248,16 @@ extern "C" void Discord_Initialize(const char* applicationId,
};
#ifndef DISCORD_DISABLE_IO_THREAD
KeepRunning.store(true);
IoThread = std::thread(DiscordRpcIo);
#endif
}
extern "C" void Discord_Shutdown()
{
if (!Connection) {
return;
}
Connection->onConnect = nullptr;
Connection->onDisconnect = nullptr;
Handlers = {};

View File

@ -17,6 +17,7 @@ static RpcConnection Instance;
{
c->Close();
BaseConnection::Destroy(c->connection);
c = nullptr;
}
void RpcConnection::Open()