newtx/scanner/scanner_const_opts.h

169 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": "G200",
// "default": "G200"
// },
// "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": 20,
// "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": 21,
// "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": 22,
// "auth": 0,
// "readonly": true,
// "size": 96,
// "auto": false,
// "ownread": true,
// "cur": "0",
// "default": "0"
// }
// }