More development. More types. Fixed attribute groups in requests. Started on client. Saving data to file. More types. Printing from chromeos works a little bit. More types. Spelling corrections. WIP: Fix keyword handling Move request to a separate file and add test. Co-authored-by: Henrik Sölver <henrik.solver@gmail.com> Reviewed-on: #6 Co-Authored-By: henrik <henrik.solver@gmail.com> Co-Committed-By: henrik <henrik.solver@gmail.com>
29 lines
1.4 KiB
Go
29 lines
1.4 KiB
Go
package main
|
|
|
|
import "ippserver/packages/ipp"
|
|
|
|
func handleGetPrinterAttributes(r *ipp.Request) *ipp.Response {
|
|
response := ipp.NewResponse(ipp.SuccessfulOk, r.RequestId())
|
|
var a ipp.Attribute
|
|
a = ipp.NewCharSetValue("attributes-charset", "utf-8")
|
|
response.AddOperatonAttribute(a)
|
|
a = ipp.NewNaturalLanguage("attributes-natural-language", "en")
|
|
response.AddOperatonAttribute(a)
|
|
a = ipp.NewUriValue("printer-uri", "ipp://drpork:1234/ipp/print")
|
|
response.AddOperatonAttribute(a)
|
|
a = ipp.NewtextWithoutLanguage("printer-make-and-model", "ChroBro 001")
|
|
response.AddOperatonAttribute(a)
|
|
a = ipp.NewEnum("printer-state", int32(ipp.Idle))
|
|
response.AddOperatonAttribute(a)
|
|
a = ipp.NewKeyWord("ipp-versions-supported", "1.0", "1.1", "2.0")
|
|
response.AddOperatonAttribute(a)
|
|
response.AddOperatonAttribute(ipp.NewKeyWord("ipp-features-supported", "wfds-print-1.0"))
|
|
response.AddOperatonAttribute(ipp.NewMimeMediaType("document-format-supported", "image/pwg-raster"))
|
|
response.AddOperatonAttribute(ipp.NewKeyWord("media-supported", "iso_a4_210x297mm"))
|
|
response.AddOperatonAttribute(ipp.NewKeyWord("sides-supported", "one-sided", "two-sided-long-edge", "two-sided-short-edge"))
|
|
response.AddOperatonAttribute(ipp.NewKeyWord("print-color-mode-supported", "auto", "color", "monochrome"))
|
|
response.AddOperatonAttribute(ipp.NewResolution("printer-resolution-default", 600, 600))
|
|
response.AddOperatonAttribute(ipp.NewBoolean("printer-is-accepting-jobs", true))
|
|
return response
|
|
}
|