Страницы

Поиск по вопросам

суббота, 6 июля 2019 г.

Как возобновить приостановленную задачу печати на CUPS используя её библиотеки C?

У меня задача имеет статус ipp_jstate_e = IPP_JOB_HELD, т.е. приостановлена. В cups.h я только нашел интерфейс cupsCancelJob2, с помощью которого можно отменить либо удалить задачу. А вот как продолжить печать не могу найти. В ipp.h есть тип ipp_op_e с перечислением операций, но вот куда их передать, не понятно. Подскажите, кто знает.


Ответ

Вот так поехало
ipp_t* request = ::ippNewRequest(IPP_RELEASE_JOB);
QString uri { "/jobs/" }; uri += QString::number(job.id);
cups_lang_t* language = ::cupsLangDefault(); ::ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_CHARSET,"attributes-charset", NULL, ::cupsLangEncoding(language)); ::ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE, "attributes-natural-language", NULL, language->language); ::ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "job-uri", NULL, qPrintable(uri)); ::ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_NAME, "requesting-user-name", NULL, job.user); ::ipp_t* resp = ::cupsDoRequest(http, request, qPrintable(uri));
Тыкните носом в ссылку, где все аттрибуты для операций расписаны.

Комментариев нет:

Отправить комментарий