97 lines
2.1 KiB
C
97 lines
2.1 KiB
C
/*
|
|
* Copyright (C) 2015-2018 Alibaba Group Holding Limited
|
|
*/
|
|
#include "iotx_dm_internal.h"
|
|
|
|
#if !defined(DEVICE_MODEL_RAWDATA_SOLO)
|
|
|
|
static dm_opt_ctx g_dm_opt = {
|
|
0, 0, 1, 1, 1
|
|
};
|
|
|
|
int dm_opt_set(dm_opt_t opt, void *data)
|
|
{
|
|
int res = SUCCESS_RETURN;
|
|
|
|
if (data == NULL) {
|
|
return FAIL_RETURN;
|
|
}
|
|
|
|
switch (opt) {
|
|
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;
|
|
#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
|
|
default: {
|
|
res = FAIL_RETURN;
|
|
}
|
|
break;
|
|
}
|
|
|
|
return res;
|
|
}
|
|
|
|
int dm_opt_get(dm_opt_t opt, void *data)
|
|
{
|
|
int res = SUCCESS_RETURN;
|
|
|
|
if (data == NULL) {
|
|
return FAIL_RETURN;
|
|
}
|
|
|
|
switch (opt) {
|
|
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;
|
|
#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
|
|
default: {
|
|
res = FAIL_RETURN;
|
|
}
|
|
break;
|
|
}
|
|
|
|
return res;
|
|
}
|
|
#endif
|