У меня задача имеет статус 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));
Тыкните носом в ссылку, где все аттрибуты для операций расписаны.
Комментариев нет:
Отправить комментарий