168 lines
3.6 KiB
C++
168 lines
3.6 KiB
C++
// scanner const attributes definitions:
|
|
//
|
|
// Contains: vid, pid, serial-number, ip, mac, firmware-ver, roll-life, name, family
|
|
//
|
|
// Date: 2023-12-16
|
|
|
|
#include <sane_opt_json/base_opt.h>
|
|
|
|
class scanner_const_opts : public sane_opt_provider
|
|
{
|
|
std::string root_;
|
|
|
|
std::string get_device_content(const char* path);
|
|
std::string get_ip(void);
|
|
std::string get_mac(void);
|
|
|
|
void init(void);
|
|
|
|
public:
|
|
scanner_const_opts(const char* dev_path = "/opt/cfg/usb_gadget/g1");
|
|
protected:
|
|
~scanner_const_opts();
|
|
|
|
public:
|
|
// return malloc(), real data size stored in parameter 'size'. invoker should free() the returned value
|
|
virtual char* get_value(const char* name, void* value, size_t* size, int* err = nullptr) override;
|
|
};
|
|
|
|
// {
|
|
// "dev-vid": {
|
|
// "cat": "base",
|
|
// "group": "关于",
|
|
// "title": "USB-VID",
|
|
// "desc": "设备制造商在USB组织的ID",
|
|
// "type": "string",
|
|
// "fix-id": 34898,
|
|
// "ui-pos": 10,
|
|
// "auth": 0,
|
|
// "readonly": true,
|
|
// "size": 16,
|
|
// "auto": false,
|
|
// "cur": "3072",
|
|
// "default": "3072"
|
|
// },
|
|
// "dev-pid": {
|
|
// "cat": "base",
|
|
// "group": "关于",
|
|
// "title": "USB-PID",
|
|
// "desc": "设备在USB组织中的产品ID",
|
|
// "type": "string",
|
|
// "fix-id": 34899,
|
|
// "ui-pos": 11,
|
|
// "auth": 0,
|
|
// "readonly": true,
|
|
// "size": 16,
|
|
// "auto": false,
|
|
// "cur": "0306",
|
|
// "default": "0306"
|
|
// },
|
|
// "dev-name": {
|
|
// "cat": "base",
|
|
// "group": "关于",
|
|
// "title": "设备名称",
|
|
// "desc": "设备名称",
|
|
// "type": "string",
|
|
// "fix-id": 34900,
|
|
// "ui-pos": 12,
|
|
// "auth": 0,
|
|
// "readonly": true,
|
|
// "size": 96,
|
|
// "auto": false,
|
|
// "cur": "300NewTx",
|
|
// "default": "300NewTx"
|
|
// },
|
|
// "dev-model": {
|
|
// "cat": "base",
|
|
// "group": "关于",
|
|
// "title": "产品系列",
|
|
// "desc": "设备所属产品系列名称",
|
|
// "type": "string",
|
|
// "fix-id": 34901,
|
|
// "ui-pos": 13,
|
|
// "auth": 0,
|
|
// "readonly": true,
|
|
// "size": 96,
|
|
// "auto": false,
|
|
// "cur": "G300",
|
|
// "default": "G300"
|
|
// },
|
|
// "dev-sn": {
|
|
// "cat": "base",
|
|
// "group": "关于",
|
|
// "title": "序列号",
|
|
// "desc": "设备序列号",
|
|
// "type": "string",
|
|
// "fix-id": 34902,
|
|
// "ui-pos": 14,
|
|
// "auth": 0,
|
|
// "readonly": true,
|
|
// "size": 32,
|
|
// "auto": false,
|
|
// "ownread": true,
|
|
// "cur": "GB20231201",
|
|
// "default": "GB20231201"
|
|
// },
|
|
// "fmw-ver": {
|
|
// "cat": "base",
|
|
// "group": "关于",
|
|
// "title": "固件版本",
|
|
// "desc": "设备固件版本号",
|
|
// "type": "string",
|
|
// "fix-id": 34903,
|
|
// "ui-pos": 15,
|
|
// "auth": 0,
|
|
// "readonly": true,
|
|
// "size": 32,
|
|
// "auto": false,
|
|
// "cur": "G2393B0500",
|
|
// "default": "G2393B0500"
|
|
// },
|
|
// "roller-life": {
|
|
// "cat": "base",
|
|
// "group": "关于",
|
|
// "title": "滚轴寿命",
|
|
// "desc": "该设备滚轴过纸的最大张数",
|
|
// "type": "int",
|
|
// "fix-id": 34907,
|
|
// "ui-pos": 16,
|
|
// "auth": 0,
|
|
// "readonly": true,
|
|
// "size": 4,
|
|
// "auto": false,
|
|
// "cur": 450000,
|
|
// "default": 450000
|
|
// },
|
|
// "ip-addr": {
|
|
// "cat": "base",
|
|
// "group": "关于",
|
|
// "title": "IP",
|
|
// "desc": "设备联网时所分配的IP地址",
|
|
// "type": "string",
|
|
// "fix-id": 34904,
|
|
// "ui-pos": 20,
|
|
// "auth": 0,
|
|
// "readonly": true,
|
|
// "size": 96,
|
|
// "auto": false,
|
|
// "ownread": true,
|
|
// "cur": "0",
|
|
// "default": "0"
|
|
// },
|
|
// "mac-addr": {
|
|
// "cat": "base",
|
|
// "group": "关于",
|
|
// "title": "MAC",
|
|
// "desc": "设备网卡地址",
|
|
// "type": "string",
|
|
// "fix-id": 34905,
|
|
// "ui-pos": 21,
|
|
// "auth": 0,
|
|
// "readonly": true,
|
|
// "size": 96,
|
|
// "auto": false,
|
|
// "ownread": true,
|
|
// "cur": "0",
|
|
// "default": "0"
|
|
// }
|
|
// }
|