9#ifndef UA_TYPES_ENCODING_JSON_H_
10#define UA_TYPES_ENCODING_JSON_H_
22#define UA_JSON_MAXTOKENCOUNT 2048
28 const UA_String *namespaces,
size_t namespaceSize,
29 const UA_String *serverUris,
size_t serverUriSize,
48 const uint8_t **bufEnd,
const UA_String *namespaces,
49 size_t namespaceSize,
const UA_String *serverUris,
57#define UA_JSON_ENCODING_MAX_RECURSION 100
96calcJsonObjElm(
CtxJson *ctx,
const char *key,
109calcJsonArrStart(
CtxJson *ctx) {
115calcJsonArrElm(
CtxJson *ctx,
const void *value,
174 ParseCtx *parseCtx,
size_t *resultIndex);
#define UA_assert(ignore)
#define _UA_BEGIN_DECLS
#undef UA_DEBUG_DUMP_PKGS
const UA_String * serverUris
const UA_String * namespaces
Map for decoding a Json Object.
decodeJsonSignature function
size_t currentCustomIndex
const UA_DataTypeArray * customTypes
Datatype arrays with custom type definitions can be added in a linked list to the client or server co...
_UA_BEGIN_DECLS typedef bool UA_Boolean
This Source Code Form is subject to the terms of the Mozilla Public License, v.
#define UA_DATATYPEKINDS
The DataType "kind" is an internal type classification.
status encodeJsonInternal(const void *src, const UA_DataType *type, CtxJson *ctx)
const decodeJsonSignature decodeJsonJumpTable[UA_DATATYPEKINDS]
#define UA_JSON_ENCODING_MAX_RECURSION
Interal Definitions.
const encodeJsonSignature encodeJsonJumpTable[UA_DATATYPEKINDS]
Expose the jump tables and some methods for PubSub JSON decoding.
UA_StatusCode writeJsonObjElm(CtxJson *ctx, const char *key, const void *value, const UA_DataType *type)
UA_StatusCode UA_encodeJsonInternal(const void *src, const UA_DataType *type, uint8_t **bufPos, const uint8_t **bufEnd, const UA_String *namespaces, size_t namespaceSize, const UA_String *serverUris, size_t serverUriSize, UA_Boolean useReversible)
Encodes the scalar value described by type to json encoding.
UA_StatusCode writeJsonArrStart(CtxJson *ctx)
UA_StatusCode writeJsonNull(CtxJson *ctx)
UA_StatusCode writeJsonArrEnd(CtxJson *ctx)
UA_StatusCode(* encodeJsonSignature)(const void *src, const UA_DataType *type, CtxJson *ctx)
UA_Boolean isJsonNull(const CtxJson *ctx, const ParseCtx *parseCtx)
size_t UA_calcSizeJsonInternal(const void *src, const UA_DataType *type, const UA_String *namespaces, size_t namespaceSize, const UA_String *serverUris, size_t serverUriSize, UA_Boolean useReversible)
Returns the number of bytes the value src takes in json encoding.
UA_StatusCode writeJsonKey(CtxJson *ctx, const char *key)
UA_StatusCode writeJsonObjStart(CtxJson *ctx)
UA_StatusCode writeJsonObjEnd(CtxJson *ctx)
UA_StatusCode tokenize(ParseCtx *parseCtx, CtxJson *ctx, const UA_ByteString *src, size_t tokensSize)
UA_StatusCode writeJsonArrElm(CtxJson *ctx, const void *value, const UA_DataType *type)
UA_StatusCode lookAheadForKey(const char *search, CtxJson *ctx, ParseCtx *parseCtx, size_t *resultIndex)
UA_StatusCode(* decodeJsonSignature)(void *dst, const UA_DataType *type, CtxJson *ctx, ParseCtx *parseCtx)
UA_StatusCode decodeFields(CtxJson *ctx, ParseCtx *parseCtx, DecodeEntry *entries, size_t entryCount)
UA_StatusCode writeJsonCommaIfNeeded(CtxJson *ctx)