Library for Yodiwo's Plegma API

Committer:
mitsarionas
Date:
Thu Sep 24 13:15:40 2015 +0000
Revision:
6:4596aaa1a824
Parent:
2:855390040d43
Child:
8:710e7fa99666
sync with c node code

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mitsarionas 0:384a04dc912e 1
mitsarionas 0:384a04dc912e 2 #ifndef _YODIWO_API_HELPERS_H_
mitsarionas 0:384a04dc912e 3 #define _YODIWO_API_HELPERS_H_
mitsarionas 0:384a04dc912e 4
mitsarionas 0:384a04dc912e 5 #include "yodiwo_api.h"
mitsarionas 0:384a04dc912e 6
mitsarionas 6:4596aaa1a824 7 #define YODIWO_API_VERSION_STR "1"
mitsarionas 6:4596aaa1a824 8 #define KEY_SEPARATOR '-'
mitsarionas 6:4596aaa1a824 9
mitsarionas 0:384a04dc912e 10 /* ======================================================================================================================= */
mitsarionas 0:384a04dc912e 11 /* FromJson Functions */
mitsarionas 0:384a04dc912e 12 /* ======================================================================================================================= */
mitsarionas 0:384a04dc912e 13 typedef int(ParseFunc)(jsmntok_t* tok, char* json, void** result);
mitsarionas 6:4596aaa1a824 14 typedef Yodiwo_Plegma_Json_e(ParseFuncSubStruct)(char *json, size_t jsonSize, void* value);
mitsarionas 0:384a04dc912e 15 // -----------------------------------------------------------------------------------------------------------------------
mitsarionas 0:384a04dc912e 16 typedef struct {
mitsarionas 0:384a04dc912e 17 char* fieldName;
mitsarionas 0:384a04dc912e 18 int filedNameLength;
mitsarionas 0:384a04dc912e 19 ParseFunc* parseFunc;
mitsarionas 0:384a04dc912e 20 ParseFuncSubStruct* parseFuncSubStruct;
mitsarionas 0:384a04dc912e 21 void** value;
mitsarionas 0:384a04dc912e 22 } ParseTable;
mitsarionas 0:384a04dc912e 23 // -----------------------------------------------------------------------------------------------------------------------
mitsarionas 0:384a04dc912e 24 Yodiwo_Plegma_Json_e HelperJsonParseExec(char*json, int jsonSize, ParseTable table[], size_t tableSize);
mitsarionas 0:384a04dc912e 25
mitsarionas 0:384a04dc912e 26 int Parse_String(jsmntok_t* t, char* json, void** result);
mitsarionas 0:384a04dc912e 27 int Parse_Double(jsmntok_t* t, char* json, void** result);
mitsarionas 0:384a04dc912e 28 int Parse_Float(jsmntok_t* t, char* json, void** result);
mitsarionas 0:384a04dc912e 29 int Parse_Int(jsmntok_t* t, char* json, void** result);
mitsarionas 0:384a04dc912e 30 int Parse_Bool(jsmntok_t* t, char* json, void** result);
mitsarionas 0:384a04dc912e 31 int Helper_Json_ParseArray(jsmntok_t t[], int tokSize);
mitsarionas 0:384a04dc912e 32
mitsarionas 0:384a04dc912e 33
mitsarionas 0:384a04dc912e 34
mitsarionas 0:384a04dc912e 35 // -----------------------------------------------------------------------------------------------------------------------
mitsarionas 0:384a04dc912e 36 int Array_string_ToJson(char* jsonStart, size_t jsonSize, Array_string *array);
mitsarionas 0:384a04dc912e 37 Yodiwo_Plegma_Json_e Array_string_FromJson(char* json, size_t jsonSize, Array_string *array);
mitsarionas 0:384a04dc912e 38
mitsarionas 6:4596aaa1a824 39 int NodeKey_FromString(Yodiwo_Plegma_NodeKey_t *nodeKey, char *str);
mitsarionas 6:4596aaa1a824 40
mitsarionas 6:4596aaa1a824 41 char *make_nextKey_str(char *key, int nextId);
mitsarionas 6:4596aaa1a824 42 int fill_PortKey(Yodiwo_Plegma_Port_t *port, char *thingKey, int portId);
mitsarionas 6:4596aaa1a824 43 int fill_ThingKey(Yodiwo_Plegma_Thing_t *thing, char *nodeKey, int thingId);
mitsarionas 6:4596aaa1a824 44 int fill_Thing_Keys(Yodiwo_Plegma_Thing_t *thing, char *nodeKey, int thingId);
mitsarionas 0:384a04dc912e 45
mitsarionas 0:384a04dc912e 46
mitsarionas 2:855390040d43 47 #endif /* _Yodiwo_Plegma_HELPERS_H_ */
mitsarionas 6:4596aaa1a824 48