Objectively
Ultra-lightweight object oriented framework for GNU C.
Loading...
Searching...
No Matches
JSONContext.h File Reference

JSONContext class for JSON serialization and deserialization. More...

Go to the source code of this file.

Data Structures

struct  JSONContext
 A context for JSON serialization and deserialization. More...
 

Enumerations

enum  JSONWriteOptions { JSON_WRITE_PRETTY = 0x1 , JSON_WRITE_SORTED = 0x2 }
 Options for JSON serialization. More...
 

Functions

OBJECTIVELY_EXPORT Class_JSONContext (void)
 

Detailed Description

JSONContext class for JSON serialization and deserialization.

Definition in file JSONContext.h.

Enumeration Type Documentation

◆ JSONWriteOptions

Options for JSON serialization.

Enumerator
JSON_WRITE_PRETTY 

Enables pretty (indented) formatting of JSON output.

JSON_WRITE_SORTED 

Enables lexicographic sorting of JSON object keys.

Definition at line 47 of file JSONContext.h.

47 {
48
53
58
JSONWriteOptions
Options for JSON serialization.
Definition JSONContext.h:47
@ JSON_WRITE_PRETTY
Enables pretty (indented) formatting of JSON output.
Definition JSONContext.h:52
@ JSON_WRITE_SORTED
Enables lexicographic sorting of JSON object keys.
Definition JSONContext.h:57

Function Documentation

◆ _JSONContext()

OBJECTIVELY_EXPORT Class * _JSONContext ( void  )

Definition at line 821 of file JSONContext.c.

821 {
822 static Class *clazz;
823 static Once once;
824
825 do_once(&once, {
826 clazz = _initialize(&(const ClassDef) {
827 .name = "JSONContext",
828 .superclass = _Object(),
829 .instanceSize = sizeof(JSONContext),
830 .interfaceOffset = offsetof(JSONContext, interface),
831 .interfaceSize = sizeof(JSONContextInterface),
833 .destroy = destroy,
834 });
835 });
836
837 return clazz;
838}
Class * _initialize(const ClassDef *def)
Initializes the given Class.
Definition Class.c:86
static void destroy(Class *clazz)
static void initialize(Class *clazz)
Class * _Object(void)
Definition Object.c:136
long Once
The Once type.
Definition Once.h:37
#define do_once(once, block)
Executes the given block at most one time.
Definition Once.h:43
ClassDefs are passed to _initialize via an archetype to initialize a Class.
Definition Class.h:41
The runtime representation of a Class.
Definition Class.h:95
A context for JSON serialization and deserialization.
Definition JSONContext.h:72