Library for Yodiwo's Plegma API
yodiwo_helpers.h@6:4596aaa1a824, 2015-09-24 (annotated)
- 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?
User | Revision | Line number | New 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 |