Library for Yodiwo's Plegma API
yodiwo_helpers.h@8:710e7fa99666, 2015-09-28 (annotated)
- Committer:
- mitsarionas
- Date:
- Mon Sep 28 08:53:12 2015 +0000
- Revision:
- 8:710e7fa99666
- Parent:
- 6:4596aaa1a824
fix: c linkage
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 | 8:710e7fa99666 | 5 | #ifdef __cplusplus |
mitsarionas | 8:710e7fa99666 | 6 | extern "C" { |
mitsarionas | 8:710e7fa99666 | 7 | #endif |
mitsarionas | 8:710e7fa99666 | 8 | |
mitsarionas | 0:384a04dc912e | 9 | #include "yodiwo_api.h" |
mitsarionas | 0:384a04dc912e | 10 | |
mitsarionas | 6:4596aaa1a824 | 11 | #define YODIWO_API_VERSION_STR "1" |
mitsarionas | 6:4596aaa1a824 | 12 | #define KEY_SEPARATOR '-' |
mitsarionas | 6:4596aaa1a824 | 13 | |
mitsarionas | 0:384a04dc912e | 14 | /* ======================================================================================================================= */ |
mitsarionas | 0:384a04dc912e | 15 | /* FromJson Functions */ |
mitsarionas | 0:384a04dc912e | 16 | /* ======================================================================================================================= */ |
mitsarionas | 0:384a04dc912e | 17 | typedef int(ParseFunc)(jsmntok_t* tok, char* json, void** result); |
mitsarionas | 6:4596aaa1a824 | 18 | typedef Yodiwo_Plegma_Json_e(ParseFuncSubStruct)(char *json, size_t jsonSize, void* value); |
mitsarionas | 0:384a04dc912e | 19 | // ----------------------------------------------------------------------------------------------------------------------- |
mitsarionas | 0:384a04dc912e | 20 | typedef struct { |
mitsarionas | 0:384a04dc912e | 21 | char* fieldName; |
mitsarionas | 0:384a04dc912e | 22 | int filedNameLength; |
mitsarionas | 0:384a04dc912e | 23 | ParseFunc* parseFunc; |
mitsarionas | 0:384a04dc912e | 24 | ParseFuncSubStruct* parseFuncSubStruct; |
mitsarionas | 0:384a04dc912e | 25 | void** value; |
mitsarionas | 0:384a04dc912e | 26 | } ParseTable; |
mitsarionas | 0:384a04dc912e | 27 | // ----------------------------------------------------------------------------------------------------------------------- |
mitsarionas | 0:384a04dc912e | 28 | Yodiwo_Plegma_Json_e HelperJsonParseExec(char*json, int jsonSize, ParseTable table[], size_t tableSize); |
mitsarionas | 0:384a04dc912e | 29 | |
mitsarionas | 0:384a04dc912e | 30 | int Parse_String(jsmntok_t* t, char* json, void** result); |
mitsarionas | 0:384a04dc912e | 31 | int Parse_Double(jsmntok_t* t, char* json, void** result); |
mitsarionas | 0:384a04dc912e | 32 | int Parse_Float(jsmntok_t* t, char* json, void** result); |
mitsarionas | 0:384a04dc912e | 33 | int Parse_Int(jsmntok_t* t, char* json, void** result); |
mitsarionas | 0:384a04dc912e | 34 | int Parse_Bool(jsmntok_t* t, char* json, void** result); |
mitsarionas | 0:384a04dc912e | 35 | int Helper_Json_ParseArray(jsmntok_t t[], int tokSize); |
mitsarionas | 0:384a04dc912e | 36 | |
mitsarionas | 0:384a04dc912e | 37 | |
mitsarionas | 0:384a04dc912e | 38 | |
mitsarionas | 0:384a04dc912e | 39 | // ----------------------------------------------------------------------------------------------------------------------- |
mitsarionas | 0:384a04dc912e | 40 | int Array_string_ToJson(char* jsonStart, size_t jsonSize, Array_string *array); |
mitsarionas | 0:384a04dc912e | 41 | Yodiwo_Plegma_Json_e Array_string_FromJson(char* json, size_t jsonSize, Array_string *array); |
mitsarionas | 0:384a04dc912e | 42 | |
mitsarionas | 6:4596aaa1a824 | 43 | int NodeKey_FromString(Yodiwo_Plegma_NodeKey_t *nodeKey, char *str); |
mitsarionas | 6:4596aaa1a824 | 44 | |
mitsarionas | 6:4596aaa1a824 | 45 | char *make_nextKey_str(char *key, int nextId); |
mitsarionas | 6:4596aaa1a824 | 46 | int fill_PortKey(Yodiwo_Plegma_Port_t *port, char *thingKey, int portId); |
mitsarionas | 6:4596aaa1a824 | 47 | int fill_ThingKey(Yodiwo_Plegma_Thing_t *thing, char *nodeKey, int thingId); |
mitsarionas | 6:4596aaa1a824 | 48 | int fill_Thing_Keys(Yodiwo_Plegma_Thing_t *thing, char *nodeKey, int thingId); |
mitsarionas | 0:384a04dc912e | 49 | |
mitsarionas | 8:710e7fa99666 | 50 | #ifdef __cplusplus |
mitsarionas | 8:710e7fa99666 | 51 | } |
mitsarionas | 8:710e7fa99666 | 52 | #endif |
mitsarionas | 0:384a04dc912e | 53 | |
mitsarionas | 2:855390040d43 | 54 | #endif /* _Yodiwo_Plegma_HELPERS_H_ */ |
mitsarionas | 6:4596aaa1a824 | 55 |