10 #ifndef K_API_SERIALIZER_H
11 #define K_API_SERIALIZER_H
1027 #define kSerializer_WriteObject_(S, D) kxSerializer_WriteObject_(S, D)
1028 #define kSerializer_ReadObject_(S, D, A) kxSerializer_ReadObject_(S, D, A)
1030 #define kSerializer_WriteByte_(S, D) kxSerializer_WriteByte_(S, D)
1031 #define kSerializer_WriteByteArray_(S, D, C) kxSerializer_WriteByteArray_(S, D, C)
1032 #define kSerializer_ReadByte_(S, D) kxSerializer_ReadByte_(S, D)
1033 #define kSerializer_ReadByteArray_(S, D, C) kxSerializer_ReadByteArray_(S, D, C)
1035 #define kSerializer_WriteChar_(S, D) kxSerializer_WriteChar_(S, D)
1036 #define kSerializer_WriteCharArray_(S, D, C) kxSerializer_WriteCharArray_(S, D, C)
1037 #define kSerializer_ReadChar_(S, D) kxSerializer_ReadChar_(S, D)
1038 #define kSerializer_ReadCharArray_(S, D, C) kxSerializer_ReadCharArray_(S, D, C)
1040 #define kSerializer_Write8u_(S, D) kxSerializer_Write8u_(S, D)
1041 #define kSerializer_Write8uArray_(S, D, C) kxSerializer_Write8uArray_(S, D, C)
1042 #define kSerializer_Read8u_(S, D) kxSerializer_Read8u_(S, D)
1043 #define kSerializer_Read8uArray_(S, D, C) kxSerializer_Read8uArray_(S, D, C)
1045 #define kSerializer_Write8s_(S, D) kxSerializer_Write8s_(S, D)
1046 #define kSerializer_Write8sArray_(S, D, C) kxSerializer_Write8sArray_(S, D, C)
1047 #define kSerializer_Read8s_(S, D) kxSerializer_Read8s_(S, D)
1048 #define kSerializer_Read8sArray_(S, D, C) kxSerializer_Read8sArray_(S, D, C)
1050 #define kSerializer_Write16u_(S, D) kxSerializer_Write16u_(S, D)
1051 #define kSerializer_Write16uArray_(S, D, C) kxSerializer_Write16uArray_(S, D, C)
1052 #define kSerializer_Read16u_(S, D) kxSerializer_Read16u_(S, D)
1053 #define kSerializer_Read16uArray_(S, D, C) kxSerializer_Read16uArray_(S, D, C)
1055 #define kSerializer_Write16s_(S, D) kxSerializer_Write16s_(S, D)
1056 #define kSerializer_Write16sArray_(S, D, C) kxSerializer_Write16sArray_(S, D, C)
1057 #define kSerializer_Read16s_(S, D) kxSerializer_Read16s_(S, D)
1058 #define kSerializer_Read16sArray_(S, D, C) kxSerializer_Read16sArray_(S, D, C)
1060 #define kSerializer_Write32u_(S, D) kxSerializer_Write32u_(S, D)
1061 #define kSerializer_Write32uArray_(S, D, C) kxSerializer_Write32uArray_(S, D, C)
1062 #define kSerializer_Read32u_(S, D) kxSerializer_Read32u_(S, D)
1063 #define kSerializer_Read32uArray_(S, D, C) kxSerializer_Read32uArray_(S, D, C)
1065 #define kSerializer_Write32s_(S, D) kxSerializer_Write32s_(S, D)
1066 #define kSerializer_Write32sArray_(S, D, C) kxSerializer_Write32sArray_(S, D, C)
1067 #define kSerializer_Read32s_(S, D) kxSerializer_Read32s_(S, D)
1068 #define kSerializer_Read32sArray_(S, D, C) kxSerializer_Read32sArray_(S, D, C)
1070 #define kSerializer_Write64u_(S, D) kxSerializer_Write64u_(S, D)
1071 #define kSerializer_Write64uArray_(S, D, C) kxSerializer_Write64uArray_(S, D, C)
1072 #define kSerializer_Read64u_(S, D) kxSerializer_Read64u_(S, D)
1073 #define kSerializer_Read64uArray_(S, D, C) kxSerializer_Read64uArray_(S, D, C)
1075 #define kSerializer_Write64s_(S, D) kxSerializer_Write64s_(S, D)
1076 #define kSerializer_Write64sArray_(S, D, C) kxSerializer_Write64sArray_(S, D, C)
1077 #define kSerializer_Read64s_(S, D) kxSerializer_Read64s_(S, D)
1078 #define kSerializer_Read64sArray_(S, D, C) kxSerializer_Read64sArray_(S, D, C)
1080 #define kSerializer_Write32f_(S, D) kxSerializer_Write32f_(S, D)
1081 #define kSerializer_Write32fArray_(S, D, C) kxSerializer_Write32fArray_(S, D, C)
1082 #define kSerializer_Read32f_(S, D) kxSerializer_Read32f_(S, D)
1083 #define kSerializer_Read32fArray_(S, D, C) kxSerializer_Read32fArray_(S, D, C)
1085 #define kSerializer_Write64f_(S, D) kxSerializer_Write64f_(S, D)
1086 #define kSerializer_Write64fArray_(S, D, C) kxSerializer_Write64fArray_(S, D, C)
1087 #define kSerializer_Read64f_(S, D) kxSerializer_Read64f_(S, D)
1088 #define kSerializer_Read64fArray_(S, D, C) kxSerializer_Read64fArray_(S, D, C)
1090 #define kSerializer_WriteSize_(S, D) kxSerializer_WriteSize_(S, D)
1091 #define kSerializer_WriteSizeArray_(S, D, C) kxSerializer_WriteSizeArray_(S, D, C)
1092 #define kSerializer_ReadSize_(S, D) kxSerializer_ReadSize_(S, D)
1093 #define kSerializer_ReadSizeArray_(S, D, C) kxSerializer_ReadSizeArray_(S, D, C)
1095 #define kSerializer_WriteSSize_(S, D) kxSerializer_WriteSSize_(S, D)
1096 #define kSerializer_WriteSSizeArray_(S, D, C) kxSerializer_WriteSSizeArray_(S, D, C)
1097 #define kSerializer_ReadSSize_(S, D) kxSerializer_ReadSSize_(S, D)
1098 #define kSerializer_ReadSSizeArray_(S, D, C) kxSerializer_ReadSSizeArray_(S, D, C)
1100 #define kSerializer_WriteType_(S, T, V) kxSerializer_WriteType_(S, T, V)
1101 #define kSerializer_ReadType_(S, T, V) kxSerializer_ReadType_(S, T, V)
1103 #define kSerializer_WriteItems_(S, T, V, I, C) kxSerializer_WriteItems_(S, T, V, I, C)
1104 #define kSerializer_ReadItems_(S, T, V, I, C) kxSerializer_ReadItems_(S, T, V, I, C)
1106 #define kSerializer_BeginWrite_(S, T, I) kxSerializer_BeginWrite_(S, T, I)
1107 #define kSerializer_EndWrite_(S) kxSerializer_EndWrite_(S)
1108 #define kSerializer_BeginRead_(S, T, I) kxSerializer_BeginRead_(S, T, I)
1109 #define kSerializer_EndRead_(S) kxSerializer_EndRead_(S)
1110 #define kSerializer_ReadCompleted_(S) kxSerializer_ReadCompleted_(S)
1112 #define kSerializer_AdvanceRead_(S, O) kxSerializer_AdvanceRead_(S, O)
1113 #define kSerializer_Flush_(S) kxSerializer_Flush_(S)
1114 #define kSerializer_Reset_(S) kxSerializer_Reset_(S)
1115 #define kSerializer_Stream_(S) kxSerializer_Stream_(S)
1116 #define kSerializer_Endianness_(S) kxSerializer_Endianness_(S)
1122 #include <kApi/Io/kSerializer.x.h>
kStatus kSerializer_Write16s(kSerializer serializer, k16s data)
Writes a k16s value.
kStatus kSerializer_ReadSizeArray(kSerializer serializer, kSize *data, kSize count)
Reads a kSize array.
kStatus kSerializer_ReadCharArray(kSerializer serializer, kChar *data, kSize count)
Reads a kChar array.
Represents a 32-bit unsigned integer.
kStatus kSerializer_Write32sArray(kSerializer serializer, const k32s *data, kSize count)
Writes a k32s array.
kStatus kSerializer_EndWrite(kSerializer serializer)
Ends writing a measured data section.
kStatus kSerializer_Read64u(kSerializer serializer, k64u *data)
Reads a k64u value.
kStatus kSerializer_Write8u(kSerializer serializer, k8u data)
Writes a k8u value.
kStatus kSerializer_ReadChar(kSerializer serializer, kChar *data)
Reads a kChar value.
kStatus kSerializer_Read32f(kSerializer serializer, k32f *data)
Reads a k32f value.
kStatus kSerializer_Write16sArray(kSerializer serializer, const k16s *data, kSize count)
Writes a k16s array.
kStatus kSerializer_Read8u(kSerializer serializer, k8u *data)
Reads a k8u value.
Represents a 64-bit unsigned integer.
kStatus kSerializer_Read8s(kSerializer serializer, k8s *data)
Reads a k8s value.
kStatus kSerializer_WriteCharArray(kSerializer serializer, const kChar *data, kSize count)
Writes a kChar array.
kStatus kSerializer_Read16s(kSerializer serializer, k16s *data)
Reads a k16s value.
kStatus kSerializer_Write8uArray(kSerializer serializer, const k8u *data, kSize count)
Writes a k8u array.
kStatus kSerializer_EndRead(kSerializer serializer)
Ends reading a measured data section.
kStatus kSerializer_Write32uArray(kSerializer serializer, const k32u *data, kSize count)
Writes a k32u array.
Represents a library of types.
kStatus kSerializer_Read64f(kSerializer serializer, k64f *data)
Reads a k64f value.
kStatus kSerializer_SetVersion(kSerializer serializer, kAssembly assembly, kVersion version)
Sets the version to use when serializing types.
kStatus kSerializer_Write32f(kSerializer serializer, k32f data)
Writes a k32f value.
kStatus kSerializer_Read16u(kSerializer serializer, k16u *data)
Reads a k16u value.
kStatus kSerializer_WriteType(kSerializer serializer, kType type, kTypeVersion *version)
Writes a type code.
Represents a 16-bit unsigned integer.
kStatus kSerializer_Write16u(kSerializer serializer, k16u data)
Writes a k16u value.
Represents an unsigned integer that can store a pointer address.
Abstract base class for memory allocator types.
kStatus kSerializer_Write64f(kSerializer serializer, k64f data)
Writes a k64f value.
kStream kSerializer_Stream(kSerializer serializer)
Gets the underlying stream.
kStatus kSerializer_Read64uArray(kSerializer serializer, k64u *data, kSize count)
Reads a k64u array.
kStatus kSerializer_Write64u(kSerializer serializer, k64u data)
Writes a k64u value.
Represents an 8-bit unsigned integer.
kStatus kSerializer_ReadObject(kSerializer serializer, kObject *object, kAlloc allocator)
Reads an object from the underlying stream.
kStatus kSerializer_SaveObject(kObject object, kType serializerType, const kChar *filePath)
Saves an object to file using the specified serializer type.
Represents a single unit (byte) in a UTF-8 character.
kStatus kSerializer_Write64sArray(kSerializer serializer, const k64s *data, kSize count)
Writes a k64s array.
kStatus kSerializer_SetEndianness(kSerializer serializer, kEndianness endianness)
Explicitly sets the endianness (byte ordering) of encoded/decoded values.
kStatus kSerializer_Write64fArray(kSerializer serializer, const k64f *data, kSize count)
Writes a k64f array.
kStatus kSerializer_WriteSize(kSerializer serializer, kSize data)
Writes a kSize value.
Represents a byte on the current platform.
kStatus kSerializer_WriteByte(kSerializer serializer, kByte data)
Writes a kByte value.
kStatus kSerializer_WriteSSizeArray(kSerializer serializer, const kSSize *data, kSize count)
Writes a kSSize array.
kStatus kSerializer_AdvanceRead(kSerializer serializer, kSize offset)
Reads and discards a specified number of bytes.
Represents a signed integer that can store a pointer address.
kStatus kSerializer_Read32u(kSerializer serializer, k32u *data)
Reads a k32u value.
kStatus kSerializer_WriteItems(kSerializer serializer, kType type, kTypeVersion version, const void *items, kSize count)
Writes an array of values or objects.
kStatus kSerializer_Write8s(kSerializer serializer, k8s data)
Writes a k8s value.
kStatus kSerializer_Read8sArray(kSerializer serializer, k8s *data, kSize count)
Reads a k8s array.
kStatus kSerializer_ReadByte(kSerializer serializer, kByte *data)
Reads a kByte value.
Base class for serialization/deserialization classes.
kStatus kSerializer_Reset(kSerializer serializer)
Discards any streaming context accumulated by the serializer.
kStatus kSerializer_WriteChar(kSerializer serializer, kChar data)
Writes a kChar value.
kStatus kSerializer_Read32uArray(kSerializer serializer, k32u *data, kSize count)
Reads a k32u array.
kStatus kSerializer_Read32s(kSerializer serializer, k32s *data)
Reads a k32s value.
kStatus kSerializer_Write32u(kSerializer serializer, k32u data)
Writes a k32u value.
kStatus kSerializer_BeginWrite(kSerializer serializer, kType sizeType, kBool includeSize)
Begins writing a measured section of data, using an 8, 16, 32, or 64-bit integer to record the size...
kStatus kSerializer_Read64sArray(kSerializer serializer, k64s *data, kSize count)
Reads a k64s array.
kStatus kSerializer_Write32s(kSerializer serializer, k32s data)
Writes a k32s value.
kPointer kTypeVersion
Represents an opaque reference to type version information (used in object serialization).
kStatus kSerializer_BeginRead(kSerializer serializer, kType sizeType, kBool includeSize)
Begins reading a measured data section.
kStatus kSerializer_Write64s(kSerializer serializer, k64s data)
Writes a k64s value.
Core Zen type declarations.
kStatus kSerializer_Read64fArray(kSerializer serializer, k64f *data, kSize count)
Reads a k64f array.
kStatus kSerializer_ReadItems(kSerializer serializer, kType type, kTypeVersion version, void *items, kSize count)
Reads an array of values or objects.
Represents an I/O stream.
kStatus kSerializer_ReadSize(kSerializer serializer, kSize *data)
Reads a kSize value.
Represents a 32-bit signed integer.
kStatus kSerializer_Write16uArray(kSerializer serializer, const k16u *data, kSize count)
Writes a k16u array.
kStatus kSerializer_LoadObject(kObject *object, kType serializerType, const kChar *filePath, kAlloc readAlloc)
Loads an object from file using the specified serializer type.
kStatus kSerializer_Construct(kSerializer *serializer, kStream stream, kType serializerType, kAlloc allocator)
Constructs a serializer object using the specified serialization format.
kStatus kSerializer_Write8sArray(kSerializer serializer, const k8s *data, kSize count)
Writes a k8s array.
kStatus kSerializer_Read64s(kSerializer serializer, k64s *data)
Reads a k64s value.
kStatus kSerializer_Read16sArray(kSerializer serializer, k16s *data, kSize count)
Reads a k16s array.
kStatus kSerializer_WriteSizeArray(kSerializer serializer, const kSize *data, kSize count)
Writes a kSize array.
Represents a 64-bit signed integer.
kStatus kSerializer_ReadText(kSerializer serializer, kChar *data, kSize capacity)
Reads a null-terminated kChar array.
kStatus kSerializer_WriteText(kSerializer serializer, const kChar *data)
Writes a null-terminated kChar array.
kStatus kSerializer_WriteByteArray(kSerializer serializer, const kByte *data, kSize count)
Writes a kByte array.
Represents an 8-bit signed integer.
Represents the byte-ordering of primative data types.
kStatus kSerializer_ReadByteArray(kSerializer serializer, kByte *data, kSize count)
Reads a kByte array.
kStatus kSerializer_Read32sArray(kSerializer serializer, k32s *data, kSize count)
Reads a k32s array.
Represents metadata about a type (class, interface, or value).
kStatus kSerializer_SetSizeEncoding(kSerializer serializer, k32u byteCount)
Explicitly sets the number of bytes used to encode/decode kSize and kSSize values.
kStatus kSerializer_WriteObject(kSerializer serializer, kObject object)
Writes an object to the underlying stream.
kBool kSerializer_ReadCompleted(kSerializer serializer)
Determines whether the current measured read section has more bytes.
kStatus kSerializer_Write32fArray(kSerializer serializer, const k32f *data, kSize count)
Writes a k32f array.
Represents a 16-bit signed integer.
Represents a 32-bit floating-point number.
Represents a version number.
kStatus kSerializer_Read16uArray(kSerializer serializer, k16u *data, kSize count)
Reads a k16u array.
Represents an error code.
kStatus kSerializer_ReadSSize(kSerializer serializer, kSSize *data)
Reads a kSSize value.
kStatus kSerializer_ReadType(kSerializer serializer, kType *type, kTypeVersion *version)
Reads a type code.
kStatus kSerializer_Read8uArray(kSerializer serializer, k8u *data, kSize count)
Reads a k8u array.
kStatus kSerializer_Write64uArray(kSerializer serializer, const k64u *data, kSize count)
Writes a k64u array.
kStatus kSerializer_ReadSSizeArray(kSerializer serializer, kSSize *data, kSize count)
Reads a kSSize array.
Represents a 64-bit floating-point number.
kStatus kSerializer_Read32fArray(kSerializer serializer, k32f *data, kSize count)
Reads a k32f array.
Represents a boolean value.
kStatus kSerializer_WriteSSize(kSerializer serializer, kSSize data)
Writes a kSSize value.
kEndianness kSerializer_Endianness(kSerializer serializer)
Reports the (byte ordering) of encoded/decoded values.
kStatus kSerializer_Flush(kSerializer serializer)
Flushes the serializer write buffer to the underlying stream.