3 #ifndef GEODE_PDXWRITER_H_
4 #define GEODE_PDXWRITER_H_
23 #include "geode_globals.hpp"
33 typedef SharedPtr<PdxWriter> PdxWriterPtr;
63 virtual PdxWriterPtr writeChar(
const char* fieldName,
char value) = 0;
75 virtual PdxWriterPtr writeWideChar(
const char* fieldName,
wchar_t value) = 0;
87 virtual PdxWriterPtr writeBoolean(
const char* fieldName,
bool value) = 0;
99 virtual PdxWriterPtr writeByte(
const char* fieldName, int8_t value) = 0;
111 virtual PdxWriterPtr writeShort(
const char* fieldName, int16_t value) = 0;
123 virtual PdxWriterPtr writeInt(
const char* fieldName, int32_t value) = 0;
135 virtual PdxWriterPtr writeLong(
const char* fieldName, int64_t value) = 0;
147 virtual PdxWriterPtr writeFloat(
const char* fieldName,
float value) = 0;
159 virtual PdxWriterPtr writeDouble(
const char* fieldName,
double value) = 0;
185 const char* value) = 0;
197 virtual PdxWriterPtr writeWideString(
const char* fieldName,
198 const wchar_t* value) = 0;
231 virtual PdxWriterPtr writeBooleanArray(
const char* fieldName,
bool* array,
245 virtual PdxWriterPtr writeWideCharArray(
const char* fieldName,
wchar_t* array,
259 virtual PdxWriterPtr writeCharArray(
const char* fieldName,
char* array,
273 virtual PdxWriterPtr writeByteArray(
const char* fieldName, int8_t* array,
287 virtual PdxWriterPtr writeShortArray(
const char* fieldName, int16_t* array,
301 virtual PdxWriterPtr writeIntArray(
const char* fieldName, int32_t* array,
315 virtual PdxWriterPtr writeLongArray(
const char* fieldName, int64_t* array,
329 virtual PdxWriterPtr writeFloatArray(
const char* fieldName,
float* array,
343 virtual PdxWriterPtr writeDoubleArray(
const char* fieldName,
double* array,
357 virtual PdxWriterPtr writeStringArray(
const char* fieldName,
char** array,
371 virtual PdxWriterPtr writeWideStringArray(
const char* fieldName,
372 wchar_t** array,
int length) = 0;
388 virtual PdxWriterPtr writeObjectArray(
const char* fieldName,
404 virtual PdxWriterPtr writeArrayOfByteArrays(
const char* fieldName,
405 int8_t** array,
int arrayLength,
406 int* elementLength) = 0;
431 virtual PdxWriterPtr markIdentityField(
const char* fieldName) = 0;
451 #endif // GEODE_PDXWRITER_H_