| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897 |
- #ifndef SRC_SUBDEVICE_Thing_UTIL_H_
- #define SRC_SUBDEVICE_Thing_UTIL_H_
- #include "exports/iot_export_subdev.h"
- /* The fomat of thing topic */
- #define TOPIC_Thing_COMMON_FMT "/sys/%s/%s/thing/%s/%s"
- /* The fomat of thing topic */
- #define TOPIC_Thing_COMMON_EXT_FMT "/sys/%s/%s/thing/%s/%s/%s"
- /* The fomat of thing topic */
- #define TOPIC_Thing_COMMON_EXT_EXT_FMT "/sys/%s/%s/thing/%s"
- /* Register type */
- typedef enum IOTX_Thing_REGISTER_TYPES {
- /* static, via web get device_secert */
- IOTX_Thing_REGISTER_TYPE_STATIC,
- /* dynamic, via register API get device_secert */
- IOTX_Thing_REGISTER_TYPE_DYNAMIC,
-
- IOTX_Thing_REGISTER_TYPE_MAX
- }iotx_thing_register_types_t;
- /* Sign method */
- typedef enum IOTX_Thing_SIGN_METHOD_TYPES {
- /* HmacSha1 */
- IOTX_Thing_SIGN_METHOD_TYPE_SHA,
-
- /* HmacMd5 */
- IOTX_Thing_SIGN_METHOD_TYPE_MD5,
-
- /* Undefined */
- IOTX_Thing_SIGN_METHOD_TYPE_UNDEFINED,
-
- /* Maximum number of sign method */
- IOTX_Thing_SIGN_METHOD_TYPE_MAX
- }iotx_thing_sign_method_types_t;
- /* Login clean seesion type */
- typedef enum IOTX_Thing_CLEAN_SESSION_TYPES {
- /* True */
- IOTX_Thing_CLEAN_SESSION_TYPE_TRUE,
-
- /* False */
- IOTX_Thing_CLEAN_SESSION_TYPE_FALSE,
-
- /* Undefined */
- IOTX_Thing_CLEAN_SESSION_TYPE_UNDEFINED,
-
- /* Maximum number of login clean seesion type */
- IOTX_Thing_CLEAN_SESSION_TYPE_MAX
- }iotx_thing_clean_session_types_t;
- /* reply type */
- typedef enum IOTX_Thing_REPLY_ENUM {
- /* thing/sub/register */
- IOTX_Thing_REPLY_REGISTER,
-
- /* thing/sub/unregister */
- IOTX_Thing_REPLY_UNREGISTER,
-
- /* thing/topo/add */
- IOTX_Thing_REPLY_TOPO_ADD,
-
- /* thing/topo/delete */
- IOTX_Thing_REPLY_TOPO_DELETE,
-
- /* thing/event/property/post */
- IOTX_Thing_REPLY_PROPERTY_POST,
-
- /* thing/dsltemplate/get */
- IOTX_Thing_REPLY_DSL_GET,
-
- /* thing/deviceinfo/update*/
- IOTX_Thing_REPLY_DEVICEINFO_UPDATE,
-
- /* thing/deviceinfo/delete*/
- IOTX_Thing_REPLY_DEVICEINFO_DELETE,
-
- /* thing/keyelement/post */
- IOTX_Thing_REPLY_KEYELEMENT_POST,
-
- /* thing/up_raw */
- IOTX_Thing_REPLY_UP_RAW,
-
- /* thing/event/+/post */
- IOTX_Thing_REPLY_EVENT_POST,
-
- /* Maximum number of reply type */
- IOTX_Thing_REPLY_MAX
- }iotx_thing_reply_type_t;
-
- /* service type */
- typedef enum IOTX_Thing_SERVICE_TYPES {
- /* property/set*/
- IOTX_Thing_SERVICE_TYPE_PROPERTY_SET,
-
- /* property/get*/
- IOTX_Thing_SERVICE_TYPE_PROPERTY_GET,
-
- /* Undefined service type */
- IOTX_Thing_SERVICE_TYPE_UNDEFINED,
- IOTX_Thing_SERVICE_TYPE_TOPO_UPDATE,
-
- /* Maximum number of service type */
- IOTX_Thing_SERVICE_TYPE_MAX
- }iotx_thing_service_type_t;
- /* thing control type */
- typedef enum IOTX_Thing_CONTROL_TYPES {
- /* thing/enable*/
- IOTX_Thing_CONTROL_TYPE_ENABLE,
- /* thing/disable*/
- IOTX_Thing_CONTROL_TYPE_DISABLE,
- /* thing/delete*/
- IOTX_Thing_CONTROL_TYPE_DELETE,
-
- /* Maximum number of thind control type */
- IOTX_Thing_CONTROL_TYPE_MAX
- }iotx_thing_control_type_t;
- /**
- * @brief It define a datatype of function pointer.
- * This type of function will be called when a service occur.
- *
- * @param thing, the thing context
- * @param product_key, the product key
- * @param deveice_name, the deveice name
- * @param service_type, the service type
- * @param message_id, the service's message id
- * @param params, the service's params
- * @param params_length, the length of service's params
- * @param service_id, the service's id, defined by dsl template *
- *
- * @return none
- */
- typedef void (*service_request_callback)(void* thing_t,
- const char* product_key,
- const char* device_name,
- iotx_thing_service_type_t service_type,
- uint32_t message_id,
- char* params,
- uint32_t params_length,
- const char* service_id);
- /**
- * @brief It define a datatype of function pointer.
- * This type of function will be called when a raw data down occur.
- *
- * @param thing, the thing context
- * @param product_key, the product key
- * @param deveice_name, the deveice name
- * @param raw_data, the raw data
- * @param raw_data_length, the length of raw data
- *
- * @return none
- */
- typedef void (*down_raw_callback)(void* thing_t,
- const char* product_key,
- const char* device_name,
- const char* raw_data,
- uint32_t raw_data_length);
- /**
- * @brief It define a datatype of function pointer.
- * This type of function will be called when a thing control occur.
- *
- * @param thing, the thing context
- * @param product_key, the product key
- * @param deveice_name, the deveice name
- * @param raw_data, the raw data
- * @param raw_data_length, the length of raw data
- *
- * @return none
- */
- typedef void (*thing_control_callback)(void* thing_t,
- const char* product_key,
- const char* device_name,
- iotx_thing_control_type_t thing_control_type,
- uint32_t message_id);
- /* The structure of thing parameter */
- typedef struct {
- iotx_mqtt_param_pt mqtt;
- } iotx_thing_param_t, *iotx_thing_param_pt;
- /**
- * @brief Create a Thing construction
- * This function used to create a Thing construction.
- *
- * @param parameter.
- *
- * @return 0, Create success; -1, Create fail.
- */
- void* IOT_Thing_Construct(iotx_thing_param_pt param);
- /**
- * @brief Destory Thing construction
- *
- * @param pointer of handle, specify the Thing construction.
- *
- * @return 0, Destory success; -1, Destory fail.
- */
- int IOT_Thing_Destroy(void** handle);
- /**
- * @brief Device register
- * This function used to register device.
- *
- * @param pointer of handle, specify the Thing construction.
- * @param register type.
- * IOTX_Thing_REGISTER_TYPE_STATIC
- * IOTX_Thing_REGISTER_TYPE_DYNAMIC
- * @param product key.
- * @param device name.
- * @param timestamp. [if type = dynamic, must be NULL ]
- * @param client_id. [if type = dynamic, must be NULL ]
- * @param sign. [if type = dynamic, must be NULL ]
- * @param sign_method.
- * IOTX_Thing_SIGN_METHOD_TYPE_SHA
- * IOTX_Thing_SIGN_METHOD_TYPE_MD5
- *
- * @return 0, Logout success; -1, Logout fail.
- */
- int IOT_Thing_Register(void* handle,
- iotx_thing_register_types_t type,
- const char* product_key,
- const char* device_name,
- char* timestamp,
- char* client_id,
- char* sign,
- iotx_thing_sign_method_types_t sign_type);
- /**
- * @brief Device unregister
- * This function used to unregister device.
- * The device must dynamic register again if it want to use after unregister.
- *
- * @param pointer of handle, specify the Thing construction.
- * @param product key.
- * @param device name.
- *
- * @return 0, Unregister success; -1, Unregister fail.
- */
- int IOT_Thing_Unregister(void* handle,
- const char* product_key,
- const char* device_name);
- /**
- * @brief Device login
- * This function used to login device.
- *
- * @param pointer of handle, specify the Thing construction.
- * @param product key.
- * @param device name.
- * @param timestamp. [if register type = dynamic, NULL ]
- * @param client_id. [if register type = dynamic, NULL ]
- * @param sign. [if register type = dynamic, NULL ]
- * @param sign method. [if register type = dynamic, NO mean ]
- * IOTX_Thing_SIGN_METHOD_TYPE_SHA
- * IOTX_Thing_SIGN_METHOD_TYPE_MD5
- * @param clean session set.
- * IOTX_Thing_CLEAN_SESSION_TYPE_TRUE
- * IOTX_Thing_CLEAN_SESSION_TYPE_FALSE
- *
- * @return 0, Login success; -1, Login fail.
- */
- int IOT_Thing_Login(void* handle,
- const char* product_key,
- const char* device_name,
- char* timestamp,
- char* client_id,
- char* sign,
- iotx_thing_sign_method_types_t sign_method,
- iotx_thing_clean_session_types_t clean_session);
- /**
- * @brief Device logout
- * This function used to logout device.
- *
- * @param pointer of handle, specify the Thing construction.
- * @param product key.
- * @param device name.
- *
- * @return 0, Logout success; -1, Logout fail.
- */
- int IOT_Thing_Logout(void* handle,
- const char* product_key,
- const char* device_name);
- /**
- * @brief Get topo
- * This function publish a packet with topo/get topic and wait for the reply (with TOPO_GET_REPLY topic).
- *
- * @param pointer of handle, specify the Thing construction.
- * @param get_toop_reply.
- * @param length [in/out]. in -- get_topo_reply buffer length, out -- reply length
- *
- * @return 0, logout success; -1, logout failed.
- */
- int IOT_Thing_Get_TOPO(void* handle,
- char* get_toop_reply,
- uint32_t* length);
- /**
- * @brief Get config
- * This function publish a packet with config/get topic and wait for the reply (with CONFIG_GET_REPLY topic).
- *
- * @param pointer of handle, specify the Thing construction.
- * @param get_config_reply.
- * @param length [in/out]. in -- get_config_reply buffer length, out -- reply length
- *
- * @return 0, logout success; -1, logout failed.
- */
- int IOT_Thing_Get_Config(void* handle,
- char* get_config_reply,
- uint32_t* length);
- /**
- * @brief Publish Found List
- * This function publish a packet with new subdevice found list.
- *
- * @return 0, publish success; -1, publish failed.
- */
- int IOT_Thing_Publish_Found_List(void* handle, const char* product_key,
- const char* device_name);
- /**
- * @brief Get DSL template
- * This function used to get DSL template.
- *
- * @param pointer of handle, specify the Thing construction.
- * @param product key.
- * @param device name.
- * @param DSL template buffer [output].
- * @param buffer size [output].
- *
- * @return 0, Get success; -1, Get fail.
- */
- int IOT_Thing_Get_Dsl_Template(void* handle,
- const char* product_key,
- const char* device_name,
- char* dsl_template,
- uint32_t* length);
- /**
- * @brief Post key element
- * This function used to post key element to set specify template.
- *
- * @param pointer of handle, specify the Thing construction.
- * @param product key.
- * @param device name.
- * @param event.
- * @param property.
- * @param service.
- *
- * @return 0, Post success; -1, Post fail.
- */
- int IOT_Thing_Post_Property(void* handle,
- const char* product_key,
- const char* device_name,
- const char* property);
- /**
- * @brief Update device information
- * This function used to update device information.
- *
- * @param pointer of handle, specify the Thing construction.
- * @param product key.
- * @param device name.
- * @param device information.
- *
- * @return 0, Update success; -1, Update fail.
- */
- int IOT_Thing_Update_Deviceinfo(void* handle,
- const char* product_key,
- const char* device_name,
- const char* deviceinfo);
- /**
- * @brief Delete device information
- * This function used to delete device information.
- *
- * @param pointer of handle, specify the Thing construction.
- * @param product key.
- * @param device name.
- * @param device information.
- *
- * @return 0, Delete success; -1, Delete fail.
- */
- int IOT_Thing_Delete_Deviceinfo(void* handle,
- const char* product_key,
- const char* device_name,
- const char* deviceinfo);
- /**
- * @brief Post key element
- * This function used to post key element to set specify template.
- *
- * @param pointer of handle, specify the Thing construction.
- * @param product key.
- * @param device name.
- * @param event.
- * @param property.
- * @param service.
- *
- * @return 0, Post success; -1, Post fail.
- */
- int IOT_Thing_Post_Keyelement(void* handle,
- const char* product_key,
- const char* device_name,
- const char* evnet,
- const char* property,
- const char* service);
- /**
- * @brief Response set propety request
- * This function used to response set propety request.
- *
- * @param pointer of handle, specify the Thing construction.
- * @param product key.
- * @param device name.
- * @param set propety request message id.
- * @param response code.
- *
- * @return 0, Response success; -1, Response fail.
- */
- int IOT_Thing_Set_Property_Response(void* handle,
- const char* product_key,
- const char* device_name,
- uint32_t msg_id,
- uint32_t code);
- /**
- * @brief Response get propety request
- * This function used to response get propety request.
- *
- * @param pointer of handle, specify the Thing construction.
- * @param product key.
- * @param device name.
- * @param get propety request message id.
- * @param property data.
- * @param response code.
- *
- * @return 0, Response success; -1, Response fail.
- */
- int IOT_Thing_Get_Property_Response(void* handle,
- const char* product_key,
- const char* device_name,
- uint32_t msg_id,
- const char* property_data,
- uint32_t code);
- /**
- * @brief Register service request callback
- * This function used to register service request callback.
- *
- * @param pointer of handle, specify the Thing construction.
- * @param callback.
- *
- * @return 0, Register success; -1, Register fail.
- */
- int IOT_Thing_Service_Register(void* handle,
- service_request_callback service_callback);
- /**
- * @brief Response service request request
- * This function used to response service request request.
- *
- * @param pointer of handle, specify the Thing construction.
- * @param product key.
- * @param device name.
- * @param service request service id.
- * @param service request message id.
- * @param response code.
- *
- * @return 0, Response success; -1, Response fail.
- */
- int IOT_Thing_Service_Response(void* handle,
- const char* product_key,
- const char* device_name,
- const char* service_id,
- uint32_t message_id,
- uint32_t code);
- /**
- * @brief Register thing control callback
- * This function used to register thing control callback.
- *
- * @param pointer of handle, specify the Thing construction.
- * @param callback.
- *
- * @return 0, Register success; -1, Register fail.
- */
- int IOT_Thing_Control_Register(void* handle,
- thing_control_callback thing_callback);
- /**
- * @brief Response thing control request
- * This function used to response thing control request.
- *
- * @param pointer of handle, specify the Thing construction.
- * @param product key.
- * @param device name.
- * @param thing control request message id.
- * @param response code.
- * @param thing control type.
- * IOTX_THING_CONTROL_TYPE_ENABLE
- * IOTX_THING_CONTROL_TYPE_DISABLE
- * IOTX_THING_CONTROL_TYPE_DELETE
- *
- * @return 0, Response success; -1, Response fail.
- */
- int IOT_Thing_Control_Response(void* handle,
- const char* product_key,
- const char* device_name,
- uint32_t message_id,
- uint32_t code,
- iotx_thing_control_type_t control_type);
- /**
- * @brief Register down raw callback
- * This function used to register down raw callback.
- *
- * @param pointer of handle, specify the Thing construction.
- * @param callback.
- *
- * @return 0, Register success; -1, Register fail.
- */
- int IOT_Thing_Down_Raw_Register(void* handle,
- down_raw_callback raw_callback);
- /**
- * @brief Response Down Raw
- * This function used to response the raw data down.
- *
- * @param pointer of handle, specify the Thing construction.
- * @param product key.
- * @param device name.
- * @param Response data.
- *
- * @return 0, Response success; -1, Response fail.
- */
- int IOT_Tmp_Down_Raw_Response(void* handle,
- const char* product_key,
- const char* device_name,
- const char* response);
-
- /**
- * @brief Register RRPC callback
- * This function used to register one RRPC callback.
- *
- * @param pointer of handle, specify the Thing construction.
- * @param product key.
- * @param device name.
- * @param rrpc callback function.
- * every device has RRPC callback by itself.
- * RRPC's payload is consists by message id, method and params
- * for example:
- * "method":"thing.service.property.set";
- * "method":"thing.service.property.get";
- * "method":"thing.service.{dsl.service.identifer}";
- * "method":"thing.service.disable";
- * "method":"thing.service.delete";
- * "method":"thing.service.enable";
- *
- *
- * @return 0, Register success; -1, Register fail.
- */
- int IOT_Thing_RRPC_Register( void* handle,
- const char* product_key,
- const char* device_name,
- rrpc_request_callback rrpc_callback);
- /**
- * @brief Response RRPC request
- * This function used to response the RRPC request.
- *
- * @param pointer of handle, specify the Thing construction.
- * @param product key.
- * @param device name.
- * @param The message id of RRPC request.
- * @param Response data.
- *
- * @return 0, Response success; -1, Response fail.
- */
- int IOT_Thing_RRPC_Response(void* handle,
- const char* product_key,
- const char* device_name,
- const char* message_id,
- const char* response);
- /**
- * @brief trigger event
- * This function used to trigger an event.
- *
- * @param pointer of handle, specify the Thing construction.
- * @param product key.
- * @param device name.
- * @param event parameter.
- * @param event id.
- *
- * @return 0, trigger success; -1, trigger fail.
- */
- int IOT_Thing_Trigger_Event(void* handle,
- const char* product_key,
- const char* device_name,
- const char* params,
- const char* event_id);
- /**
- * @brief publish a raw data
- * This function used to publish a raw data.
- *
- * @param pointer of handle, specify the Thing construction.
- * @param product key.
- * @param device name.
- * @param raw data.
- * @param raw data length.
- *
- * @return 0, publish success; -1, publish fail.
- */
- int IOT_Thing_Publish_Rawdata(void* handle,
- const char* product_key,
- const char* device_name,
- const char* raw_data,
- uint32_t raw_data_length);
- /**
- * @brief yield
- * This function used to receive data.
- *
- * @param pointer of handle, specify the Thing construction.
- * @param timeout.
- *
- * @return 0, recieve success; -1, recieve fail. */
- int IOT_Thing_Yield(void* handle, uint32_t timeout);
- /**
- * @brief subscribe
- * This function used to subscribe a topic.
- *
- * @param pointer of handle, specify the Thing construction.
- * @param topic.
- * @param qos.
- * @param received data callback.
- * @param callback user data.
- *
- * @return 0, subscribe success; -1, subscribe fail.
- */
- int IOT_Thing_Subscribe(void* handle,
- const char *topic_filter,
- int qos,
- iotx_subdev_event_handle_func_fpt topic_handle_func,
- void *pcontext);
- /**
- * @brief unsubscribe
- * This function used to unsubscribe a topic.
- *
- * @param pointer of handle, specify the Thing construction.
- * @param topic.
- *
- * @return 0, unsubscribe success; -1, unsubscribe fail.
- */
- int IOT_Thing_Unsubscribe(void* handle,
- const char *topic_filter);
- /**
- * @brief unsubscribe
- * This function used to publish a mqtt packet.
- *
- * @param pointer of handle, specify the Thing construction.
- * @param topic.
- * @param mqtt message.
- *
- * @return 0, publish success; -1, publish fail.
- */
- int IOT_Thing_Publish(void* handle,
- const char *topic_name,
- iotx_mqtt_topic_info_pt topic_msg);
- /* The structure of common reply data */
- typedef struct iotx_thing_common_reply_data_st{
- int32_t id;
- uint32_t code;
- char topic[GATEWAY_TOPIC_LEN_MAX];
- char* data; /* the data size is dynamic, so data is a ptr, dynamic malloc buffer */
- }iotx_thing_common_reply_data_t,*iotx_thing_common_reply_data_pt;
- /* The structure of thing data */
- typedef struct iotx_thing_masterlave_data_st {
- uint32_t sync_status;
- iotx_thing_common_reply_data_t replys[IOTX_Thing_REPLY_MAX];
- } iotx_thing_masterlave_data_t, *iotx_thing_masterlave_data_pt;
- /* The structure of thing context */
- typedef struct iotx_thing_masterlave_st {
- void* gateway;
- iotx_thing_masterlave_data_pt thing_data_t;
- service_request_callback service_callback;
- down_raw_callback raw_callback;
- thing_control_callback thing_callback;
- } iotx_thing_masterlave_t, *iotx_thing_masterlave_pt;
- extern iotx_thing_masterlave_pt g_thing_masterlave_t;
- #define PARAMETER_Thing_CHECK(thing_t) \
- do { \
- if ((thing_t) == NULL) { \
- log_info("param error"); \
- return FAIL_RETURN; \
- } \
- if ((thing_t) != g_thing_masterlave_t) { \
- log_info("param error"); \
- return FAIL_RETURN; \
- } \
- if ((thing_t)->gateway == NULL) { \
- log_info("param error"); \
- return FAIL_RETURN; \
- } \
- if ((thing_t)->thing_data_t == NULL) { \
- log_info("param error"); \
- return FAIL_RETURN; \
- } \
- } while(0)
-
- #define PARAMETER_NULL_CHECK_WITH_RESULT(param, result) \
- do { \
- if ((param) == NULL) { \
- log_info("param error"); \
- return (result); \
- } \
- } while(0)
-
- #define PARAMETER_STRING_NULL_CHECK_WITH_RESULT(ptr, result) \
- do { \
- if (NULL == (ptr)) { \
- log_err("Invalid argument, %s = %p", #ptr, (ptr)); \
- return (result); \
- } \
- if (0 == strlen((ptr))) { \
- log_err("Invalid argument, %s = '%s'", #ptr, (ptr)); \
- return (result); \
- } \
- } while(0)
-
- #define MALLOC_MEMORY_WITH_FREE_AND_RESULT(buffer, length, free_buffer, result) \
- do { \
- if (buffer) \
- LITE_free(buffer); \
- (buffer) = (void*)LITE_malloc(length); \
- if (NULL == (buffer)) { \
- log_err("Not enough memory"); \
- LITE_free(free_buffer); \
- return (result); \
- } \
- memset((buffer), 0x0, (length)); \
- } while(0)
-
- #define PARAMETER_NULL_CHECK(param) \
- do { \
- if ((param) == NULL) { \
- log_info("param error"); \
- return; \
- } \
- } while(0)
- typedef enum IOTX_Thing_SUBSCRIBE_UNSUBSCRIBE_TYPES {
- IOTX_Thing_SUBSCRIBE_TYPE,
- IOTX_Thing_UNSUBSCRIBE_TYPE
- }iotx_thing_subcribe_unsubscribe_types_t;
- char* iotx_thing_splice_common_event_packet(
- const char* params,
- const char* event_id,
- int32_t* msg_id);
- char* iotx_thing_splice_common_deviceinfo_packet(const char* deviceinfo,
- const char* method,
- int32_t* msg_id);
- char *iotx_thing_splice_default_reply_get_packet(int32_t msg_id,
- uint32_t code,
- const char* data);
- char *iotx_thing_splice_default_reply_packet(int32_t msg_id, uint32_t code);
- char *iotx_thing_splice_topo_add_packet(const char* product_key,
- const char* device_name,
- const char* sign,
- const char* sign_method,
- const char* timestamp,
- const char* client_id,
- int32_t* msg_id);
- char* iotx_thing_splice_common_packet(const char* product_key,
- const char* device_name,
- int32_t* msg_id,
- const char* param1,
- const char* param2,
- int flag);
- int iotx_thing_publish_common_packet(void* handle,
- const char* topic_product_key,
- const char* topic_device_name,
- const char* packet_product_key,
- const char* packet_device_name,
- const char* param1,
- const char* param2,
- const char* param3,
- iotx_thing_reply_type_t reply_type);
- int iotx_thing_publish_common_event_packet(void* handle,
- const char* product_key,
- const char* device_name,
- const char* topic_params,
- const char* packet_params,
- iotx_thing_reply_type_t reply_type);
- int iotx_thing_publish_common_deviceinfo_packet(void* handle,
- const char* product_key,
- const char* device_name,
- const char* deviceinfo,
- const char* param1,
- const char* param2,
- iotx_thing_reply_type_t reply_type);
- int iotx_thing_publish_topic_sync(iotx_thing_masterlave_pt thing_t,
- int32_t msg_id,
- const char* topic,
- iotx_mqtt_topic_info_pt topic_msg,
- iotx_thing_reply_type_t reply);
- int iotx_thing_subscribe_unsubscribe_topic(iotx_thing_masterlave_pt thing_t,
- const char* topic,
- iotx_thing_subcribe_unsubscribe_types_t is_subscribe);
- int iotx_thing_subscribe_unsubscribe_basic(iotx_thing_masterlave_pt thing_t,
- iotx_thing_subcribe_unsubscribe_types_t is_subscribe);
- int iotx_thing_subscribe_unsubscribe_enhance(iotx_thing_masterlave_pt thing_t,
- const char* product_key,
- const char* device_name,
- iotx_thing_subcribe_unsubscribe_types_t is_subscribe);
-
- void iotx_thing_splice_device_cloud_id(char* device_cloud_id,
- const char* product_key,
- const char* device_name);
- #endif /* SRC_SUBDEVICE_Thing_UTIL_H_ */
|