C Client-Side SDK
LaunchDarkly SDK
ldvalue.h
Go to the documentation of this file.
1 
5 #pragma once
6 
7 #include <launchdarkly/boolean.h>
8 #include <launchdarkly/export.h>
9 
43 };
44 
96 struct LDValue;
100 struct LDObject;
104 struct LDArray;
109 struct LDIter;
110 
116 LD_EXPORT(struct LDValue *)
117 LDValue_Bool(LDBoolean boolean);
118 
123 LD_EXPORT(struct LDValue *)
124 LDValue_True(void);
125 
130 LD_EXPORT(struct LDValue *)
131 LDValue_False(void);
132 
139 LD_EXPORT(struct LDValue *)
140 LDValue_Null(void);
141 
147 LD_EXPORT(struct LDValue *)
148 LDValue_Number(double number);
149 
161 LD_EXPORT(struct LDValue *)
162 LDValue_ConstantString(const char *string);
163 
172 LD_EXPORT(struct LDValue *)
173 LDValue_OwnedString(const char *string);
174 
185 LD_EXPORT(struct LDValue *)
186 LDValue_Array(struct LDArray *array);
187 
198 LD_EXPORT(struct LDValue *)
199 LDValue_Object(struct LDObject *obj);
200 
206 LD_EXPORT(struct LDValue *)
207 LDValue_Clone(struct LDValue *source);
208 
215 LDValue_Type(struct LDValue *value);
216 
227 LD_EXPORT(LDBoolean)
228 LDValue_Equal(struct LDValue *a, struct LDValue *b);
229 
238 LD_EXPORT(void)
239 LDValue_Free(struct LDValue *value);
240 
249 LD_EXPORT(struct LDValue *)
250 LDValue_ParseJSON(const char *json);
251 
257 LD_EXPORT(char *)
258 LDValue_SerializeFormattedJSON(struct LDValue *value);
259 
265 LD_EXPORT(char *)
266 LDValue_SerializeJSON(struct LDValue *value);
267 
273 LD_EXPORT(double)
274 LDValue_GetNumber(struct LDValue *value);
275 
282 LD_EXPORT(LDBoolean)
283 LDValue_GetBool(struct LDValue *value);
291 LD_EXPORT(const char *)
292 LDValue_GetString(struct LDValue *value);
293 
303 LD_EXPORT(struct LDIter *)
304 LDValue_GetIter(struct LDValue *value);
314 LD_EXPORT(unsigned int)
315 LDValue_Count(struct LDValue *value);
316 
326 LD_EXPORT(struct LDObject *)
327 LDObject_New(void);
328 
333 LD_EXPORT(void)
334 LDObject_Free(struct LDObject *obj);
335 
350 LD_EXPORT(void)
351 LDObject_AddConstantKey(struct LDObject *obj, const char *key, struct LDValue *value);
352 
367 LD_EXPORT(void)
368 LDObject_AddOwnedKey(struct LDObject *obj, const char *key, struct LDValue *value);
369 
376 LD_EXPORT(struct LDValue *)
377 LDObject_Build(struct LDObject *obj);
378 
388 LD_EXPORT(struct LDArray *)
389 LDArray_New(void);
390 
395 LD_EXPORT(void)
396 LDArray_Free(struct LDArray *array);
397 
404 LD_EXPORT(struct LDValue *)
405 LDArray_Build(struct LDArray *array);
406 
413 LD_EXPORT(void)
414 LDArray_Add(struct LDArray *array, struct LDValue *value);
415 
421 LD_EXPORT(struct LDIter *)
422 LDIter_Next(struct LDIter *iterator);
423 
431 LD_EXPORT(const char *)
432 LDIter_Key(struct LDIter *iterator);
433 
440 LD_EXPORT(struct LDValue *)
441 LDIter_Val(struct LDIter *iterator);
442 
LDValueType
LDValueType
Definition: ldvalue.h:14
LDValueType_Object
@ LDValueType_Object
Definition: ldvalue.h:42
LDObject_New
struct LDObject * LDObject_New(void)
LDValueType_Number
@ LDValueType_Number
Definition: ldvalue.h:30
LDObject_Free
void LDObject_Free(struct LDObject *obj)
LDArray_New
struct LDArray * LDArray_New(void)
LDValueType_Unrecognized
@ LDValueType_Unrecognized
Definition: ldvalue.h:18
boolean.h
A custom c89 boolean type.
LDValue_False
struct LDValue * LDValue_False(void)
LDValue_GetString
const char * LDValue_GetString(struct LDValue *value)
LDArray_Free
void LDArray_Free(struct LDArray *array)
LDValue_True
struct LDValue * LDValue_True(void)
LDValue_Number
struct LDValue * LDValue_Number(double number)
LDValue_OwnedString
struct LDValue * LDValue_OwnedString(const char *string)
LDValue_Count
unsigned int LDValue_Count(struct LDValue *value)
LDValueType_Null
@ LDValueType_Null
Definition: ldvalue.h:22
LDObject_AddConstantKey
void LDObject_AddConstantKey(struct LDObject *obj, const char *key, struct LDValue *value)
LDValue_ParseJSON
struct LDValue * LDValue_ParseJSON(const char *json)
LDValue_GetIter
struct LDIter * LDValue_GetIter(struct LDValue *value)
LDValue_Clone
struct LDValue * LDValue_Clone(struct LDValue *source)
LDObject_Build
struct LDValue * LDObject_Build(struct LDObject *obj)
LD_EXPORT
#define LD_EXPORT(x)
Used to ensure only intended symbols are exported in the binaries.
Definition: export.h:10
LDValue_Bool
struct LDValue * LDValue_Bool(LDBoolean boolean)
LDArray
@ LDArray
JSON integer indexed array.
Definition: json.h:29
LDValue_SerializeJSON
char * LDValue_SerializeJSON(struct LDValue *value)
LDValue_Equal
LDBoolean LDValue_Equal(struct LDValue *a, struct LDValue *b)
LDIter_Key
const char * LDIter_Key(struct LDIter *iterator)
LDIter_Next
struct LDIter * LDIter_Next(struct LDIter *iterator)
LDValue_Null
struct LDValue * LDValue_Null(void)
LDValue_ConstantString
struct LDValue * LDValue_ConstantString(const char *string)
LDArray_Add
void LDArray_Add(struct LDArray *array, struct LDValue *value)
LDValueType_String
@ LDValueType_String
Definition: ldvalue.h:34
LDObject_AddOwnedKey
void LDObject_AddOwnedKey(struct LDObject *obj, const char *key, struct LDValue *value)
LDValue_GetBool
LDBoolean LDValue_GetBool(struct LDValue *value)
LDValue_Array
struct LDValue * LDValue_Array(struct LDArray *array)
LDValue_SerializeFormattedJSON
char * LDValue_SerializeFormattedJSON(struct LDValue *value)
LDValueType_Bool
@ LDValueType_Bool
Definition: ldvalue.h:26
LDArray_Build
struct LDValue * LDArray_Build(struct LDArray *array)
LDIter_Val
struct LDValue * LDIter_Val(struct LDIter *iterator)
LDValue_Free
void LDValue_Free(struct LDValue *value)
LDObject
@ LDObject
JSON string indexed map.
Definition: json.h:27
LDValue_Object
struct LDValue * LDValue_Object(struct LDObject *obj)
LDValueType_Array
@ LDValueType_Array
Definition: ldvalue.h:38
LDValue_Type
enum LDValueType LDValue_Type(struct LDValue *value)
LDValue_GetNumber
double LDValue_GetNumber(struct LDValue *value)
export.h
Public. Configuration of exported symbols.