From dbc4a7068da7981c81963aa5b0564a8ab98e84bb Mon Sep 17 00:00:00 2001 From: SoulDancer27 Date: Sat, 12 Jun 2021 17:52:56 +0300 Subject: [PATCH] notifiers --- examples/Create-Printer-Subscriptions.js | 23 +++++++++++++++++++++++ lib/serializer.js | 3 ++- 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 examples/Create-Printer-Subscriptions.js diff --git a/examples/Create-Printer-Subscriptions.js b/examples/Create-Printer-Subscriptions.js new file mode 100644 index 00000000..13aefca4 --- /dev/null +++ b/examples/Create-Printer-Subscriptions.js @@ -0,0 +1,23 @@ +const ipp = require('../ipp'); + +// Create subscription to events from all of the printers registered on a cups server. +const printerUri = 'http://localhost:631/printers'; + +(async function getSubscriptions() { + const printer = new ipp.Printer(printerUri); + var msg = { + 'operation-attributes-tag': { + 'requesting-user-name': '', + }, + 'subscription-attributes-tag': { + 'notify-recipient-uri': 'http://recipient-uri', + 'notify-events': ['all'], + // Subscription duration in seconds. Default value is 86400 (1 day). 0 means indefinite length subscription. + 'notify-lease-duration': 0, + }, + }; + printer.execute('Create-Printer-Subscriptions', msg, function (err, res) { + if (err) console.log(err); + console.log(res); + }); +})(); diff --git a/lib/serializer.js b/lib/serializer.js index 0d8b0508..073b4760 100644 --- a/lib/serializer.js +++ b/lib/serializer.js @@ -54,7 +54,7 @@ module.exports = function serializer(msg){ 'operation-attributes-tag': 'Operation', 'printer-attributes-tag': 'Printer Description', "unsupported-attributes-tag": '',//?? - "subscription-attributes-tag": 'Subscription Description', + "subscription-attributes-tag": ['Subscription Description', 'Subscription Template'], "event-notification-attributes-tag": 'Event Notifications', "resource-attributes-tag": '',//?? "document-attributes-tag": 'Document Description' @@ -246,6 +246,7 @@ module.exports = function serializer(msg){ writeGroup('job-attributes-tag'); writeGroup('printer-attributes-tag'); writeGroup('document-attributes-tag'); + writeGroup('subscription-attributes-tag'); //TODO... add the others write1(0x03);//end