mirror of
https://github.com/oopuuu/zTC1.git
synced 2025-12-14 14:08:19 +08:00
139 lines
4.2 KiB
C
139 lines
4.2 KiB
C
/**
|
|
******************************************************************************
|
|
* @file config_server_menu.c
|
|
* @author William Xu
|
|
* @version V1.0.0
|
|
* @date 05-May-2014
|
|
* @brief This file provide function for creating configuration menu that can
|
|
* be displayed on EasyLink APP on iOS or Android.
|
|
******************************************************************************
|
|
* UNPUBLISHED PROPRIETARY SOURCE CODE
|
|
* Copyright (c) 2016 MXCHIP Inc.
|
|
*
|
|
* The contents of this file may not be disclosed to third parties, copied or
|
|
* duplicated in any form, in whole or in part, without the prior written
|
|
* permission of MXCHIP Corporation.
|
|
******************************************************************************
|
|
*/
|
|
|
|
#include "mico.h"
|
|
#include "platform_config.h"
|
|
|
|
#include "json_c/json.h"
|
|
|
|
OSStatus config_server_create_sector(json_object* sectors, char* const name, json_object *menus)
|
|
{
|
|
OSStatus err;
|
|
json_object *object;
|
|
err = kNoErr;
|
|
|
|
object = json_object_new_object();
|
|
require_action(object, exit, err = kNoMemoryErr);
|
|
json_object_object_add(object, "N", json_object_new_string(name));
|
|
json_object_object_add(object, "C", menus);
|
|
json_object_array_add(sectors, object);
|
|
|
|
exit:
|
|
return err;
|
|
}
|
|
|
|
OSStatus config_server_create_string_cell(json_object* menus, char* const name, char* const content, char* const privilege, json_object* secectionArray)
|
|
{
|
|
OSStatus err;
|
|
json_object *object;
|
|
err = kNoErr;
|
|
|
|
object = json_object_new_object();
|
|
require_action(object, exit, err = kNoMemoryErr);
|
|
json_object_object_add(object, "N", json_object_new_string(name));
|
|
json_object_object_add(object, "C", json_object_new_string(content));
|
|
json_object_object_add(object, "P", json_object_new_string(privilege));
|
|
|
|
if(secectionArray)
|
|
json_object_object_add(object, "S", secectionArray);
|
|
|
|
json_object_array_add(menus, object);
|
|
|
|
|
|
exit:
|
|
return err;
|
|
}
|
|
|
|
OSStatus config_server_create_number_cell(json_object* menus, char* const name, int content, char* const privilege, json_object* secectionArray)
|
|
{
|
|
OSStatus err;
|
|
json_object *object;
|
|
err = kNoErr;
|
|
|
|
object = json_object_new_object();
|
|
require_action(object, exit, err = kNoMemoryErr);
|
|
json_object_object_add(object, "N", json_object_new_string(name));
|
|
|
|
json_object_object_add(object, "C", json_object_new_int(content));
|
|
json_object_object_add(object, "P", json_object_new_string(privilege));
|
|
|
|
if(secectionArray)
|
|
json_object_object_add(object, "S", secectionArray);
|
|
|
|
json_object_array_add(menus, object);
|
|
|
|
exit:
|
|
return err;
|
|
}
|
|
|
|
OSStatus config_server_create_float_cell(json_object* menus, char* const name, float content, char* const privilege, json_object* secectionArray)
|
|
{
|
|
OSStatus err;
|
|
json_object *object;
|
|
err = kNoErr;
|
|
|
|
object = json_object_new_object();
|
|
require_action(object, exit, err = kNoMemoryErr);
|
|
json_object_object_add(object, "N", json_object_new_string(name));
|
|
|
|
json_object_object_add(object, "C", json_object_new_double(content));
|
|
json_object_object_add(object, "P", json_object_new_string(privilege));
|
|
|
|
if(secectionArray)
|
|
json_object_object_add(object, "S", secectionArray);
|
|
|
|
json_object_array_add(menus, object);
|
|
|
|
exit:
|
|
return err;
|
|
}
|
|
|
|
|
|
OSStatus config_server_create_bool_cell(json_object* menus, char* const name, boolean switcher, char* const privilege)
|
|
{
|
|
OSStatus err;
|
|
json_object *object;
|
|
err = kNoErr;
|
|
|
|
object = json_object_new_object();
|
|
require_action(object, exit, err = kNoMemoryErr);
|
|
json_object_object_add(object, "N", json_object_new_string(name));
|
|
json_object_object_add(object, "C", json_object_new_boolean(switcher));
|
|
json_object_object_add(object, "P", json_object_new_string(privilege));
|
|
json_object_array_add(menus, object);
|
|
|
|
exit:
|
|
return err;
|
|
}
|
|
|
|
OSStatus config_server_create_sub_menu_cell(json_object* menus, char* const name, json_object* lowerSectors)
|
|
{
|
|
OSStatus err;
|
|
json_object *object;
|
|
err = kNoErr;
|
|
|
|
object = json_object_new_object();
|
|
require_action(object, exit, err = kNoMemoryErr);
|
|
json_object_object_add(object, "N", json_object_new_string(name));
|
|
json_object_object_add(object, "C", lowerSectors);
|
|
json_object_array_add(menus, object);
|
|
|
|
exit:
|
|
return err;
|
|
}
|