1 /* 2 * Copyright (C) 2015-2018 Alibaba Group Holding Limited 3 */ 4 5 #ifndef _DM_MSG_PROCESS_H_ 6 #define _DM_MSG_PROCESS_H_ 7 8 #define DM_URI_SERVICE_DELIMITER '/' 9 10 extern const char DM_URI_SYS_PREFIX[] DM_READ_ONLY; 11 extern const char DM_URI_EXT_SESSION_PREFIX[] DM_READ_ONLY; 12 extern const char DM_URI_EXT_NTP_PREFIX[] DM_READ_ONLY; 13 extern const char DM_URI_EXT_ERROR_PREFIX[] DM_READ_ONLY; 14 extern const char DM_URI_REPLY_SUFFIX[] DM_READ_ONLY; 15 extern const char DM_URI_OTA_DEVICE_INFORM[] DM_READ_ONLY; 16 extern const char DM_URI_THING_PROPERTY_DESIRED_GET[] DM_READ_ONLY; 17 extern const char DM_URI_THING_PROPERTY_DESIRED_DELETE[] DM_READ_ONLY; 18 extern const char DM_URI_THING_PROPERTY_DESIRED_GET_REPLY[] DM_READ_ONLY; 19 extern const char DM_URI_THING_PROPERTY_DESIRED_DELETE_REPLY[] DM_READ_ONLY; 20 extern const char DM_URI_THING_EVENT_NOTIFY[] DM_READ_ONLY; 21 extern const char DM_URI_THING_EVENT_NOTIFY_REPLY[] DM_READ_ONLY; 22 /* From Cloud To Local Request And Response*/ 23 extern const char DM_URI_THING_MODEL_DOWN_RAW[] DM_READ_ONLY; 24 extern const char DM_URI_THING_MODEL_DOWN_RAW_REPLY[] DM_READ_ONLY; 25 26 /* From Local To Cloud Request And Response*/ 27 extern const char DM_URI_THING_MODEL_UP_RAW[] DM_READ_ONLY; 28 extern const char DM_URI_THING_MODEL_UP_RAW_REPLY[] DM_READ_ONLY; 29 30 #if !defined(DEVICE_MODEL_RAWDATA_SOLO) 31 extern const char DM_URI_RRPC_REQUEST_WILDCARD[] DM_READ_ONLY; 32 /* From Cloud To Local Request And Response*/ 33 extern const char DM_URI_THING_SERVICE_PROPERTY_SET[] DM_READ_ONLY; 34 extern const char DM_URI_THING_SERVICE_PROPERTY_SET_REPLY[] DM_READ_ONLY; 35 extern const char DM_URI_THING_SERVICE_PROPERTY_GET[] DM_READ_ONLY; 36 extern const char DM_URI_THING_SERVICE_PROPERTY_GET_REPLY[] DM_READ_ONLY; 37 extern const char DM_URI_THING_SERVICE_REQUEST_WILDCARD[] DM_READ_ONLY; 38 extern const char DM_URI_THING_SERVICE_REQUEST_WILDCARD2[] DM_READ_ONLY; 39 extern const char DM_URI_THING_SERVICE_REQUEST[] DM_READ_ONLY; 40 extern const char DM_URI_THING_SERVICE_RESPONSE[] DM_READ_ONLY; 41 42 /* From Local To Cloud Request And Response*/ 43 extern const char DM_URI_THING_EVENT_PROPERTY_POST[] DM_READ_ONLY; 44 extern const char DM_URI_THING_EVENT_PROPERTY_POST_REPLY[] DM_READ_ONLY; 45 #ifdef LOG_REPORT_TO_CLOUD 46 extern const char DM_URI_THING_LOG_POST[] DM_READ_ONLY; 47 #endif 48 extern const char DM_URI_THING_EVENT_POST[] DM_READ_ONLY; 49 extern const char DM_URI_THING_EVENT_POST_REPLY[] DM_READ_ONLY; 50 extern const char DM_URI_THING_EVENT_POST_REPLY_WILDCARD[] DM_READ_ONLY; 51 extern const char DM_URI_THING_DEVICEINFO_UPDATE[] DM_READ_ONLY; 52 extern const char DM_URI_THING_DEVICEINFO_UPDATE_REPLY[] DM_READ_ONLY; 53 extern const char DM_URI_THING_DEVICEINFO_DELETE[] DM_READ_ONLY; 54 extern const char DM_URI_THING_DEVICEINFO_DELETE_REPLY[] DM_READ_ONLY; 55 extern const char DM_URI_THING_DSLTEMPLATE_GET[] DM_READ_ONLY; 56 extern const char DM_URI_THING_DSLTEMPLATE_GET_REPLY[] DM_READ_ONLY; 57 extern const char DM_URI_THING_DYNAMICTSL_GET[] DM_READ_ONLY; 58 extern const char DM_URI_THING_DYNAMICTSL_GET_REPLY[] DM_READ_ONLY; 59 extern const char DM_URI_NTP_REQUEST[] DM_READ_ONLY; 60 extern const char DM_URI_NTP_RESPONSE[] DM_READ_ONLY; 61 #endif 62 63 extern const char DM_URI_DEV_CORE_SERVICE_DEV[] DM_READ_ONLY; 64 65 #ifdef DEVICE_MODEL_GATEWAY 66 /* From Cloud To Local Request And Response*/ 67 extern const char DM_URI_THING_TOPO_ADD_NOTIFY[] DM_READ_ONLY; 68 extern const char DM_URI_THING_TOPO_ADD_NOTIFY_REPLY[] DM_READ_ONLY; 69 extern const char DM_URI_THING_DISABLE[] DM_READ_ONLY; 70 extern const char DM_URI_THING_DISABLE_REPLY[] DM_READ_ONLY; 71 extern const char DM_URI_THING_ENABLE[] DM_READ_ONLY; 72 extern const char DM_URI_THING_ENABLE_REPLY[] DM_READ_ONLY; 73 extern const char DM_URI_THING_DELETE[] DM_READ_ONLY; 74 extern const char DM_URI_THING_DELETE_REPLY[] DM_READ_ONLY; 75 extern const char DM_URI_THING_GATEWAY_PERMIT[] DM_READ_ONLY; 76 extern const char DM_URI_THING_GATEWAY_PERMIT_REPLY[] DM_READ_ONLY; 77 78 /* From Local To Cloud Request And Response*/ 79 extern const char DM_URI_THING_SUB_REGISTER[] DM_READ_ONLY; 80 extern const char DM_URI_THING_SUB_REGISTER_REPLY[] DM_READ_ONLY; 81 extern const char DM_URI_THING_PROXY_PRODUCT_REGISTER[] DM_READ_ONLY; 82 extern const char DM_URI_THING_PROXY_PRODUCT_REGISTER_REPLY[] DM_READ_ONLY; 83 extern const char DM_URI_THING_SUB_REGISTER_REPLY[] DM_READ_ONLY; 84 extern const char DM_URI_THING_SUB_UNREGISTER[] DM_READ_ONLY; 85 extern const char DM_URI_THING_SUB_UNREGISTER_REPLY[] DM_READ_ONLY; 86 extern const char DM_URI_THING_TOPO_ADD[] DM_READ_ONLY; 87 extern const char DM_URI_THING_TOPO_ADD_REPLY[] DM_READ_ONLY; 88 extern const char DM_URI_THING_TOPO_DELETE[] DM_READ_ONLY; 89 extern const char DM_URI_THING_TOPO_DELETE_REPLY[] DM_READ_ONLY; 90 extern const char DM_URI_THING_TOPO_GET[] DM_READ_ONLY; 91 extern const char DM_URI_THING_TOPO_GET_REPLY[] DM_READ_ONLY; 92 extern const char DM_URI_THING_LIST_FOUND[] DM_READ_ONLY; 93 extern const char DM_URI_THING_LIST_FOUND_REPLY[] DM_READ_ONLY; 94 extern const char DM_URI_COMBINE_LOGIN[] DM_READ_ONLY; 95 extern const char DM_URI_COMBINE_LOGIN_REPLY[] DM_READ_ONLY; 96 extern const char DM_URI_COMBINE_LOGOUT[] DM_READ_ONLY; 97 extern const char DM_URI_COMBINE_LOGOUT_REPLY[] DM_READ_ONLY; 98 #endif 99 100 int dm_disp_uri_prefix_split(_IN_ const char *prefix, _IN_ char *uri, 101 _IN_ int uri_len, _OU_ int *start, _OU_ int *end); 102 int dm_disp_uri_pkdn_split(_IN_ char *uri, _IN_ int uri_len, _OU_ int *start, 103 _OU_ int *end); 104 int dm_disp_uri_service_specific_split(_IN_ char *uri, _IN_ int uri_len, 105 _OU_ int *start, _OU_ int *end); 106 int dm_disp_uri_rrpc_request_split(_IN_ char *uri, _IN_ int uri_len, 107 _OU_ int *start, _OU_ int *end); 108 int dm_disp_uri_event_specific_split(_IN_ char *uri, _IN_ int uri_len, 109 _OU_ int *start, _OU_ int *end); 110 111 int dm_msg_proc_thing_model_down_raw(_IN_ dm_msg_source_t *source); 112 int dm_msg_proc_thing_model_up_raw_reply(_IN_ dm_msg_source_t *source); 113 114 #if !defined(DEVICE_MODEL_RAWDATA_SOLO) 115 int dm_msg_proc_thing_event_notify(_IN_ dm_msg_source_t *source, 116 _IN_ dm_msg_dest_t *dest, 117 _OU_ dm_msg_request_payload_t *request, 118 _OU_ dm_msg_response_t *response); 119 int dm_msg_proc_thing_service_property_set( 120 _IN_ dm_msg_source_t *source, _IN_ dm_msg_dest_t *dest, 121 _OU_ dm_msg_request_payload_t *request, _OU_ dm_msg_response_t *response); 122 int dm_msg_proc_thing_service_property_get( 123 _IN_ dm_msg_source_t *source, _IN_ dm_msg_dest_t *dest, 124 _OU_ dm_msg_request_payload_t *request, _OU_ dm_msg_response_t *response, 125 _OU_ unsigned char **data, int *data_len); 126 int dm_msg_proc_thing_property_desired_get_reply(_IN_ dm_msg_source_t *source); 127 int dm_msg_proc_thing_property_desired_delete_reply( 128 _IN_ dm_msg_source_t *source); 129 int dm_msg_proc_thing_service_property_post( 130 _IN_ dm_msg_source_t *source, _IN_ dm_msg_dest_t *dest, 131 _OU_ dm_msg_request_payload_t *request, _OU_ dm_msg_response_t *response); 132 int dm_msg_proc_thing_service_request(_IN_ dm_msg_source_t *source); 133 int dm_msg_proc_thing_event_post_reply(_IN_ dm_msg_source_t *source); 134 int dm_msg_proc_thing_deviceinfo_update_reply(_IN_ dm_msg_source_t *source); 135 int dm_msg_proc_thing_deviceinfo_delete_reply(_IN_ dm_msg_source_t *source); 136 int dm_msg_proc_thing_dynamictsl_get_reply(_IN_ dm_msg_source_t *source); 137 int dm_msg_proc_rrpc_request(_IN_ dm_msg_source_t *source); 138 int dm_disp_ntp_response(_IN_ dm_msg_source_t *source); 139 int dm_disp_ext_error_response(_IN_ dm_msg_source_t *source); 140 #endif 141 142 #ifdef DEVICE_MODEL_GATEWAY 143 int dm_msg_proc_thing_topo_add_notify(_IN_ dm_msg_source_t *source, 144 _IN_ dm_msg_dest_t *dest, 145 _OU_ dm_msg_request_payload_t *request, 146 _OU_ dm_msg_response_t *response); 147 int dm_msg_proc_thing_disable(_IN_ dm_msg_source_t *source, 148 _IN_ dm_msg_dest_t *dest, 149 _OU_ dm_msg_request_payload_t *request, 150 _OU_ dm_msg_response_t *response); 151 int dm_msg_proc_thing_enable(_IN_ dm_msg_source_t *source, 152 _IN_ dm_msg_dest_t *dest, 153 _OU_ dm_msg_request_payload_t *request, 154 _OU_ dm_msg_response_t *response); 155 int dm_msg_proc_thing_delete(_IN_ dm_msg_source_t *source, 156 _IN_ dm_msg_dest_t *dest, 157 _OU_ dm_msg_request_payload_t *request, 158 _OU_ dm_msg_response_t *response); 159 int dm_msg_proc_thing_gateway_permit(_IN_ dm_msg_source_t *source, 160 _IN_ dm_msg_dest_t *dest, 161 _OU_ dm_msg_request_payload_t *request, 162 _OU_ dm_msg_response_t *response); 163 int dm_msg_proc_thing_sub_register_reply(_IN_ dm_msg_source_t *source); 164 int dm_msg_proc_thing_proxy_product_register_reply( 165 _IN_ dm_msg_source_t *source); 166 int dm_msg_proc_thing_sub_unregister_reply(_IN_ dm_msg_source_t *source); 167 int dm_msg_proc_thing_topo_add_reply(_IN_ dm_msg_source_t *source); 168 int dm_msg_proc_thing_topo_delete_reply(_IN_ dm_msg_source_t *source); 169 int dm_msg_proc_thing_topo_get_reply(_IN_ dm_msg_source_t *source); 170 int dm_msg_proc_thing_list_found_reply(_IN_ dm_msg_source_t *source); 171 int dm_msg_proc_combine_login_reply(_IN_ dm_msg_source_t *source); 172 int dm_msg_proc_combine_logout_reply(_IN_ dm_msg_source_t *source); 173 #endif 174 175 #ifdef ALCS_ENABLED 176 int dm_msg_proc_thing_dev_core_service_dev( 177 _IN_ dm_msg_source_t *source, _IN_ dm_msg_dest_t *dest, 178 _OU_ dm_msg_request_payload_t *request, _OU_ dm_msg_response_t *response, 179 _OU_ unsigned char **data, int *data_len); 180 #endif 181 182 int dm_msg_proc_thing_model_user_sub(_IN_ dm_msg_source_t *source); 183 184 #endif 185