ex

Fork of mbed-os-example-mbed5-blinky by mbed-os-examples

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers datacollector.h Source File

datacollector.h

00001 
00002 #ifndef _MBED_PACK_DATAC_
00003 #define _MBED_PACK_DATAC_
00004 
00005 #include "pack_include.h"
00006 #include "cJSON.h"
00007 
00008 
00009 /**
00010  *
00011  * build meta.json data object
00012  *
00013  * \return ctx to collect package data
00014  *
00015  */
00016 void* mbed_build_pck_config_block(unsigned char* filename);
00017 
00018 
00019 /**
00020  *
00021  * destory meta.json data object
00022  *
00023  * \param ctx to collect package data
00024  *
00025  */
00026 void mbed_destroy_pck_config_block(meta_info_t* ctx);
00027 
00028 
00029 /**
00030  * pre-build module, init for extract module from package
00031  *
00032  * \param meta_object meta.json object decompress from package
00033  * \param module_info module info extracted from package by parse meta.json
00034  * \param index index of module record in record
00035  * \return 0 if success, or failed
00036  */
00037 int mbed_prebuild_module(cJSON* meta_object, module_info_t* module_info, uint8_t index);
00038 
00039 /**
00040  * post-build module, uninit for extract module from package
00041  *
00042  * \param module module info extracted from package by parse meta.json
00043  */
00044 void mbed_postbuild_module(module_info_t* module);
00045 
00046 /**
00047  * main operation of decompressing package
00048  *
00049  * \param package_bin original data of package
00050  * \param package_bin_size original package size
00051  * \return 0 if success, or failed
00052  */
00053 //int mbed_decompress(decompress_info_t* decompress_info, unsigned char* package_bin, uint32_t package_bin_size);
00054 
00055 /**
00056  * get module count by parse meta.json
00057  *
00058  * \param meta_object meta.json object
00059  * \param type the type caller want to get
00060  * \return if successful retrun module count, or return -1
00061  */
00062 uint8_t mbed_get_module_num(cJSON* meta_object, module_type_t type);
00063 
00064 /**
00065  * get module info from meta.json and modules array data
00066  *
00067  * \param meta_data meta.json data
00068  * \param module_begin_offset, modules begin offset from package
00069  * \param module_info used for store signle module info 
00070  * \param index index of module in modules array
00071  * \return 0 if success, or failed
00072  */
00073 int mbed_get_module_info(cJSON* meta_object, uint32_t module_begin_offset, module_info_t* module_info, uint8_t index);
00074 
00075 /**
00076  * get module info from meta.json and modules array data
00077  *
00078  * \param meta_data meta.json data
00079  * \param name package name
00080  *\ param name_len length of name
00081  * \return 0 if success, or failed
00082  */
00083 int mbed_get_pkg_name(cJSON* meta_object, unsigned char* name, uint8_t* name_len);
00084 
00085 /**
00086  * get package type info from meta.json
00087  *
00088  * \param meta_data meta.json data
00089  * \param type package type
00090  * \return 0 if success, or failed
00091  */
00092 int mbed_get_pkg_type(cJSON* meta_object, package_type_t* type);
00093 
00094 
00095 #endif
00096