Let's use rapidjson instead of roll-your-own json. Added helpers to keep allocations minimized.

This commit is contained in:
Chris Marsh
2017-07-20 13:24:18 -07:00
parent 12054246a2
commit 79d70b8bae
6 changed files with 234 additions and 224 deletions

23
src/serialization.h Normal file
View File

@ -0,0 +1,23 @@
#pragma once
#include <stdint.h>
// if only there was a standard library function for this
template<size_t Len>
inline size_t StringCopy(char (&dest)[Len], const char* src) {
if (!dest || !src || !Len) {
return 0;
}
size_t copied;
char* out = dest;
for (copied = 1; *src && copied < Len; ++copied) {
*out++ = *src++;
}
*out = 0;
return copied - 1;
}
struct DiscordRichPresence;
size_t JsonWriteRichPresenceObj(char* dest, size_t maxLen, const DiscordRichPresence* presence);
size_t JsonWriteHandshakeObj(char* dest, size_t maxLen, int version, const char* applicationId);