用Cups Api检测打印机状态变化

用Cups Api检测打印机状态变化,c,cups,C,Cups,使用Cups c api,我可以看到打印机的状态(如暂停、打印、卡纸等)。我现在要做的是监听或锁定打印机状态的变化。最终,我想要一个打印机状态的实时视图,但我不想有一个延迟循环,对带有打印机属性请求的纸杯进行垃圾处理 我在源代码和文档中看到了许多函数和标记,它们暗示了某种事件系统,但我一直不知道如何利用它。欢迎您提供任何帮助,甚至只是为我指出正确的功能 我在当前实现中使用了这个示例来获取状态信息 这是一个非常复杂的问题,需要做大量的工作才能解决。我发现的唯一一种监听更改的明智方法是使用rss通知

使用Cups c api,我可以看到打印机的状态(如暂停、打印、卡纸等)。我现在要做的是监听或锁定打印机状态的变化。最终,我想要一个打印机状态的实时视图,但我不想有一个延迟循环,对带有打印机属性请求的纸杯进行垃圾处理

我在源代码和文档中看到了许多函数和标记,它们暗示了某种事件系统,但我一直不知道如何利用它。欢迎您提供任何帮助,甚至只是为我指出正确的功能


我在当前实现中使用了这个示例来获取状态信息

这是一个非常复杂的问题,需要做大量的工作才能解决。我发现的唯一一种监听更改的明智方法是使用rss通知系统。我建议不要尝试创建自己的通知模块,我浪费了一周的时间来尝试(我甚至不确定这是否可能)。将
Create Printer Subscription
与类似
rss://localhost:8000
。当然,您需要一个侦听器等待xml数据

我用java/jna制作了一个简单的调试工具。选择2以设置订阅,但您需要自己监听数据