9ceb218f80
Co-authored-by: Cursor <cursoragent@cursor.com>
119 lines
3.0 KiB
C
119 lines
3.0 KiB
C
/*
|
|
* Copyright (C) 2015-2018 Alibaba Group Holding Limited
|
|
*/
|
|
#include "iotx_dm_internal.h"
|
|
|
|
#ifdef DEVICE_MODEL_ENABLED
|
|
|
|
static dm_opt_ctx g_dm_opt = {
|
|
0, 0, 1, 1, 1, 60 * 1000, 0
|
|
};
|
|
|
|
int dm_opt_set(dm_opt_t opt, void *data)
|
|
{
|
|
int res = SUCCESS_RETURN;
|
|
|
|
if (data == NULL) {
|
|
return STATE_USER_INPUT_INVALID;
|
|
}
|
|
|
|
switch (opt) {
|
|
#if !defined(DEVICE_MODEL_RAWDATA_SOLO)
|
|
case DM_OPT_DOWNSTREAM_PROPERTY_POST_REPLY: {
|
|
int opt = *(int *)(data);
|
|
g_dm_opt.prop_post_reply_opt = opt;
|
|
}
|
|
break;
|
|
case DM_OPT_DOWNSTREAM_EVENT_POST_REPLY: {
|
|
int opt = *(int *)(data);
|
|
g_dm_opt.event_post_reply_opt = opt;
|
|
}
|
|
break;
|
|
case DM_OPT_UPSTREAM_PROPERTY_SET_REPLY: {
|
|
int opt = *(int *)(data);
|
|
g_dm_opt.prop_set_reply_opt = opt;
|
|
}
|
|
break;
|
|
#endif
|
|
#ifdef DEVICE_MODEL_SHADOW
|
|
case DM_OPT_DOWNSTREAM_EVENT_PROPERTY_DESIRED_GET_REPLY: {
|
|
int opt = *(int *)(data);
|
|
g_dm_opt.prop_desired_get_reply_opt = opt;
|
|
}
|
|
break;
|
|
case DM_OPT_DOWNSTREAM_EVENT_PROPERTY_DESIRED_DELETE_REPLY: {
|
|
int opt = *(int *)(data);
|
|
g_dm_opt.prop_desired_delete_reply_opt = opt;
|
|
}
|
|
break;
|
|
#endif
|
|
case DM_OPT_FOTA_RETRY_TIMEOUT_MS: {
|
|
int opt = *(int *)(data);
|
|
g_dm_opt.fota_retry_timeout_ms = opt;
|
|
}
|
|
break;
|
|
case DM_OPT_PROXY_PRODUCT_REGISTER: {
|
|
int opt = *(int *)(data);
|
|
g_dm_opt.proxy_product_register = opt;
|
|
}
|
|
break;
|
|
default: {
|
|
res = STATE_USER_INPUT_INVALID;
|
|
}
|
|
break;
|
|
}
|
|
|
|
return res;
|
|
}
|
|
|
|
int dm_opt_get(dm_opt_t opt, void *data)
|
|
{
|
|
int res = SUCCESS_RETURN;
|
|
|
|
if (data == NULL) {
|
|
return STATE_USER_INPUT_INVALID;
|
|
}
|
|
|
|
switch (opt) {
|
|
#if !defined(DEVICE_MODEL_RAWDATA_SOLO)
|
|
case DM_OPT_DOWNSTREAM_PROPERTY_POST_REPLY: {
|
|
*(int *)(data) = g_dm_opt.prop_post_reply_opt;
|
|
}
|
|
break;
|
|
case DM_OPT_DOWNSTREAM_EVENT_POST_REPLY: {
|
|
*(int *)(data) = g_dm_opt.event_post_reply_opt;
|
|
}
|
|
break;
|
|
case DM_OPT_UPSTREAM_PROPERTY_SET_REPLY: {
|
|
*(int *)(data) = g_dm_opt.prop_set_reply_opt;
|
|
}
|
|
break;
|
|
#endif
|
|
#ifdef DEVICE_MODEL_SHADOW
|
|
case DM_OPT_DOWNSTREAM_EVENT_PROPERTY_DESIRED_DELETE_REPLY: {
|
|
*(int *)(data) = g_dm_opt.prop_desired_delete_reply_opt;
|
|
}
|
|
break;
|
|
case DM_OPT_DOWNSTREAM_EVENT_PROPERTY_DESIRED_GET_REPLY: {
|
|
*(int *)(data) = g_dm_opt.prop_desired_get_reply_opt;
|
|
}
|
|
break;
|
|
#endif
|
|
case DM_OPT_FOTA_RETRY_TIMEOUT_MS: {
|
|
*(int *)(data) = g_dm_opt.fota_retry_timeout_ms;
|
|
}
|
|
break;
|
|
case DM_OPT_PROXY_PRODUCT_REGISTER: {
|
|
*(int *)(data) = g_dm_opt.proxy_product_register;
|
|
}
|
|
break;
|
|
default: {
|
|
res = STATE_DEV_MODEL_INVALID_DM_OPTION;
|
|
}
|
|
break;
|
|
}
|
|
|
|
return res;
|
|
}
|
|
#endif
|