我正在尝试开发一个ATM现金交易监控应用程序。我正在使用CEN-XFS API来监听由现金分配器设备类(CWA174-8(接口生成的事件。我阅读了WFS_CMD_CDM_DISPENSE命令文档,发现该命令生成的任何事件都没有明确表示现金交易因现金堵塞而失败。
现金堵塞时是否会生成WFS_EXEE_CDM_CASHUNITERROR?还有另一个事件WFS_EXEE_CDM_NOTEERROR,它说它将在项目检测错误时生成,所以它显然与现金堵塞无关。
类似地,与此相关的另一个问题是;被拿走的物品";由WFS_SRVE_CDM_ITEMSTAKEN事件指示,因此,我可以监听该事件,但是";未带走的物品";没有事件并且它作为错误代码"返回;WFS_ERR_CDM_ITEMSNOTTAKEN";。我的程序只是一个监控应用程序,我的程序会监听这些事件,我现在怎么知道客户没有拿走所提供的现金?看起来设计不好。
Like@SuperG280表示,如果不修改主应用程序,这真的是不可能的。CEN XFS并不是为观察者设计的。
因此,如果您想创建一个通用的监控应用程序,那么唯一的方法就是为主应用程序创建浅XFS管理器。它可以简单地包装真正的XFS管理器,只需将所有命令完成事件提供给监控应用程序和主应用程序。
我知道,某些制造商的一些设备确实提供了配置设置,可用于创建一种情况,即该设备将向所有侦听器发布所有命令执行完成事件。然而,这限制了对某些ATM制造商的支持,并且仅限于那些提供了此设置的设备。