Move operation to IppMsg constructor
This commit is contained in:
parent
04830863ab
commit
071c39b6f3
5 changed files with 22 additions and 19 deletions
|
@ -6,8 +6,9 @@ IppMsg::IppMsg()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
IppMsg::IppMsg(QJsonObject opAttrs, QJsonObject jobAttrs, quint8 majVsn, quint8 minVsn)
|
IppMsg::IppMsg(Operation operation, QJsonObject opAttrs, QJsonObject jobAttrs, quint8 majVsn, quint8 minVsn)
|
||||||
{
|
{
|
||||||
|
_operation = operation;
|
||||||
_majVsn = majVsn;
|
_majVsn = majVsn;
|
||||||
_minVsn = minVsn;
|
_minVsn = minVsn;
|
||||||
_opAttrs = opAttrs;
|
_opAttrs = opAttrs;
|
||||||
|
@ -302,13 +303,13 @@ QString IppMsg::consume_attribute(QJsonObject& attrs, Bytestream& data)
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
Bytestream IppMsg::encode(Operation op)
|
Bytestream IppMsg::encode()
|
||||||
{
|
{
|
||||||
Bytestream ipp;
|
Bytestream ipp;
|
||||||
|
|
||||||
ipp << _majVsn << _minVsn;
|
ipp << _majVsn << _minVsn;
|
||||||
|
|
||||||
ipp << quint16(op);
|
ipp << quint16(_operation);
|
||||||
ipp << _reqid++;
|
ipp << _reqid++;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -67,11 +67,11 @@ public:
|
||||||
|
|
||||||
explicit IppMsg();
|
explicit IppMsg();
|
||||||
explicit IppMsg(Bytestream& resp);
|
explicit IppMsg(Bytestream& resp);
|
||||||
IppMsg(QJsonObject opAttrs, QJsonObject jobAttrs=QJsonObject(), quint8 majVsn=1, quint8 minVsn=1);
|
IppMsg(Operation operation, QJsonObject opAttrs, QJsonObject jobAttrs=QJsonObject(), quint8 majVsn=1, quint8 minVsn=1);
|
||||||
IppMsg(const IppMsg& other) = default;
|
IppMsg(const IppMsg& other) = default;
|
||||||
~IppMsg();
|
~IppMsg();
|
||||||
|
|
||||||
Bytestream encode(Operation op);
|
Bytestream encode();
|
||||||
QJsonObject getPrinterAttrs() {return _printerAttrs;}
|
QJsonObject getPrinterAttrs() {return _printerAttrs;}
|
||||||
QJsonArray getJobAttrs() {return _jobAttrs;}
|
QJsonArray getJobAttrs() {return _jobAttrs;}
|
||||||
QJsonObject getOpAttrs() {return _opAttrs;}
|
QJsonObject getOpAttrs() {return _opAttrs;}
|
||||||
|
@ -87,6 +87,8 @@ private:
|
||||||
QString consume_attribute(QJsonObject& attrs, Bytestream& data);
|
QString consume_attribute(QJsonObject& attrs, Bytestream& data);
|
||||||
void encode_attr(Bytestream& msg, quint8 tag, QString name, QJsonValue value, bool subCollection=false);
|
void encode_attr(Bytestream& msg, quint8 tag, QString name, QJsonValue value, bool subCollection=false);
|
||||||
|
|
||||||
|
Operation _operation;
|
||||||
|
|
||||||
quint8 _majVsn;
|
quint8 _majVsn;
|
||||||
quint8 _minVsn;
|
quint8 _minVsn;
|
||||||
|
|
||||||
|
|
|
@ -132,8 +132,8 @@ void IppPrinter::refresh() {
|
||||||
{
|
{
|
||||||
QJsonObject o = opAttrs();
|
QJsonObject o = opAttrs();
|
||||||
|
|
||||||
IppMsg msg = IppMsg(o);
|
IppMsg msg = IppMsg(IppMsg::GetPrinterAttrs, o);
|
||||||
emit doDoGetPrinterAttributes(msg.encode(IppMsg::GetPrinterAttrs));
|
emit doDoGetPrinterAttributes(msg.encode());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -705,7 +705,6 @@ void IppPrinter::print(QJsonObject jobAttrs, QString filename)
|
||||||
qDebug() << "Final op attributes:" << o;
|
qDebug() << "Final op attributes:" << o;
|
||||||
qDebug() << "Final job attributes:" << jobAttrs;
|
qDebug() << "Final job attributes:" << jobAttrs;
|
||||||
|
|
||||||
IppMsg job = mk_msg(o, jobAttrs);
|
|
||||||
|
|
||||||
QString Sides = getAttrOrDefault(jobAttrs, "sides").toString();
|
QString Sides = getAttrOrDefault(jobAttrs, "sides").toString();
|
||||||
|
|
||||||
|
@ -719,6 +718,7 @@ void IppPrinter::print(QJsonObject jobAttrs, QString filename)
|
||||||
Params.tumble = true;
|
Params.tumble = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
IppMsg job = mk_msg(IppMsg::PrintJob, o, jobAttrs);
|
||||||
emit doPrint(filename, mimeType, targetFormat, job, Params, margins);
|
emit doPrint(filename, mimeType, targetFormat, job, Params, margins);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -728,9 +728,9 @@ bool IppPrinter::getJobs() {
|
||||||
QJsonObject o = opAttrs();
|
QJsonObject o = opAttrs();
|
||||||
o.insert("requested-attributes", QJsonObject {{"tag", IppMsg::Keyword}, {"value", "all"}});
|
o.insert("requested-attributes", QJsonObject {{"tag", IppMsg::Keyword}, {"value", "all"}});
|
||||||
|
|
||||||
IppMsg job = IppMsg(o, QJsonObject());
|
IppMsg job = IppMsg(IppMsg::GetJobs, o, QJsonObject());
|
||||||
|
|
||||||
emit doGetJobs(job.encode(IppMsg::GetJobs));
|
emit doGetJobs(job.encode());
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -742,9 +742,9 @@ bool IppPrinter::cancelJob(qint32 jobId) {
|
||||||
QJsonObject o = opAttrs();
|
QJsonObject o = opAttrs();
|
||||||
o.insert("job-id", QJsonObject {{"tag", IppMsg::Integer}, {"value", jobId}});
|
o.insert("job-id", QJsonObject {{"tag", IppMsg::Integer}, {"value", jobId}});
|
||||||
|
|
||||||
IppMsg job = IppMsg(o, QJsonObject());
|
IppMsg job = IppMsg(IppMsg::CancelJob, o, QJsonObject());
|
||||||
|
|
||||||
emit doCancelJob(job.encode(IppMsg::CancelJob));
|
emit doCancelJob(job.encode());
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -755,9 +755,9 @@ bool IppPrinter::identify() {
|
||||||
|
|
||||||
QJsonObject o = opAttrs();
|
QJsonObject o = opAttrs();
|
||||||
|
|
||||||
IppMsg job = IppMsg(o, QJsonObject());
|
IppMsg job = IppMsg(IppMsg::IdentifyPrinter, o, QJsonObject());
|
||||||
|
|
||||||
emit doCancelJob(job.encode(IppMsg::IdentifyPrinter));
|
emit doCancelJob(job.encode());
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -860,15 +860,15 @@ QJsonValue IppPrinter::getAttrOrDefault(QJsonObject jobAttrs, QString name, QStr
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
IppMsg IppPrinter::mk_msg(QJsonObject opAttrs, QJsonObject jobAttrs)
|
IppMsg IppPrinter::mk_msg(IppMsg::Operation operation, QJsonObject opAttrs, QJsonObject jobAttrs)
|
||||||
{
|
{
|
||||||
if(_attrs.contains("ipp-versions-supported") &&
|
if(_attrs.contains("ipp-versions-supported") &&
|
||||||
_attrs["ipp-versions-supported"].toObject()["value"].toArray().contains("2.0"))
|
_attrs["ipp-versions-supported"].toObject()["value"].toArray().contains("2.0"))
|
||||||
{
|
{
|
||||||
qDebug() << "TWO-POINT-ZERO";
|
qDebug() << "TWO-POINT-ZERO";
|
||||||
return IppMsg(opAttrs, jobAttrs, 2, 0);
|
return IppMsg(operation, opAttrs, jobAttrs, 2, 0);
|
||||||
}
|
}
|
||||||
return IppMsg(opAttrs, jobAttrs);
|
return IppMsg(operation, opAttrs, jobAttrs);
|
||||||
}
|
}
|
||||||
|
|
||||||
void IppPrinter::resolveUrl(QUrl& url)
|
void IppPrinter::resolveUrl(QUrl& url)
|
||||||
|
|
|
@ -116,7 +116,7 @@ private:
|
||||||
|
|
||||||
QJsonValue getAttrOrDefault(QJsonObject jobAttrs, QString name, QString subkey = "");
|
QJsonValue getAttrOrDefault(QJsonObject jobAttrs, QString name, QString subkey = "");
|
||||||
|
|
||||||
IppMsg mk_msg(QJsonObject opAttrs, QJsonObject jobAttrs=QJsonObject());
|
IppMsg mk_msg(IppMsg::Operation operation, QJsonObject opAttrs, QJsonObject jobAttrs=QJsonObject());
|
||||||
|
|
||||||
QJsonObject _attrs;
|
QJsonObject _attrs;
|
||||||
QJsonObject _jobAttrs;
|
QJsonObject _jobAttrs;
|
||||||
|
|
|
@ -69,7 +69,7 @@ void PrinterWorker::print(QString filename, QString mimeType, QString targetForm
|
||||||
try {
|
try {
|
||||||
Mimer* mimer = Mimer::instance();
|
Mimer* mimer = Mimer::instance();
|
||||||
|
|
||||||
Bytestream contents = job.encode(IppMsg::PrintJob);
|
Bytestream contents = job.encode();
|
||||||
|
|
||||||
emit busyMessage(tr("Preparing"));
|
emit busyMessage(tr("Preparing"));
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue