37
例如: set_wireless=get_form_value (form,”set_wireless”);
set_wireless 将指向字符串”0”。函数中要自行转换参数的类型。
♦调用插件程序
CGI 程序仅是 web 与插件之间沟通的桥梁,需要由插件程序来执行实际
动作,并保存配置参数。
系统没有规定 CGI 程序与插件之间的通讯方式,需要开发者自行设计。
♦返回结果
CGI 程序调用插件程序之后,会得到操作结果。时常包含较多的信息。
这些信息需要发送给 web 前端,并显示给用户。CGI 程序负责将这些信息封装为 json 格式。
SDK 提供一些宏用于简化 JSON 封装过程,首先需要定义在宏中使用到的 char *临时变量,它是所有宏的第一个参数。
/* 初始化 json buff,对 buf 进行初始化 */
json_buf_set(buf)
/* 初始化 json buff,并开始构建 JSON 对象开始,它将输出’{‘ */
json_object_start (buf)
/* JSON 对象开始,它将输出”{“ */
json_object_start_mid(buf)
/* JSON 对象结束,它将判断 JSON 串最后一个字符是否是”,”,
如果是,它将更换为”},”
json_object_end(buf)
/* 封装 json 名称/值对,key 是名称,fmt 是参数的格式,args 是参数
*/
json_value (buf,key,fmt,args…)
例如:
char uname[]=”John”;
json_value (ptr, “username”,“%s”, uname );
结果:”username”:”John”,
/* 封装 json 数字 */
json_number(buf,num)
例如:json_number(ptr,123)
结果:123,