A modelling and serializer library for Microsoft Azure IoTHub client applications

Dependents:   sht15_remote_monitoring f767zi_mqtt remote_monitoring simplesample_amqp ... more

This library implements a serializer library to be used in projects involving Microsoft Azure IoT Hub connectivity. The code is replicated from https://github.com/Azure/azure-iot-sdks

jsonencoder.h

Committer:
AzureIoTClient
Date:
2015-09-15
Revision:
0:1f9b2707ec7d
Child:
10:c2aee3965a83

File content as of revision 0:1f9b2707ec7d:

// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.

#ifndef JSONENCODER_H
#define JSONENCODER_H

#include "macro_utils.h"
#include "strings.h"

#ifdef __cplusplus
#include "cstddef"
extern "C" {
#else
#include "stddef.h"
#endif

#include "multitree.h"

#define JSON_ENCODER_RESULT_VALUES           \
JSON_ENCODER_OK,                             \
JSON_ENCODER_INVALID_ARG,                    \
JSON_ENCODER_ALREADY_EXISTS,                 \
JSON_ENCODER_MULTITREE_ERROR,                \
JSON_ENCODER_TOSTRING_FUNCTION_ERROR,        \
JSON_ENCODER_ERROR                          

DEFINE_ENUM(JSON_ENCODER_RESULT, JSON_ENCODER_RESULT_VALUES);

#define JSON_ENCODER_TOSTRING_RESULT_VALUES  \
JSON_ENCODER_TOSTRING_OK,                    \
JSON_ENCODER_TOSTRING_INVALID_ARG,           \
JSON_ENCODER_TOSTRING_ERROR

DEFINE_ENUM(JSON_ENCODER_TOSTRING_RESULT, JSON_ENCODER_TOSTRING_RESULT_VALUES);

typedef JSON_ENCODER_TOSTRING_RESULT(*JSON_ENCODER_TOSTRING_FUNC)(STRING_HANDLE, const void* value);

extern JSON_ENCODER_TOSTRING_RESULT JSONEncoder_CharPtr_ToString(STRING_HANDLE, const void* value);
extern JSON_ENCODER_RESULT JSONEncoder_EncodeTree(MULTITREE_HANDLE treeHandle, STRING_HANDLE destination, JSON_ENCODER_TOSTRING_FUNC toStringFunc);

#ifdef __cplusplus
}
#endif


#endif /* JSONENCODER_H */