You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In order to support multi-function devices and standalone scanners, PAPPL should provide APIs, interfaces, and objects for scanning, with the goal of providing IPP Scan and/or eSCL protocol endpoints (eSCL is used for AirPrint and Mopria, IPP Scan is a published but otherwise unused standard that has the needed semantics/data elements) that can be linked to a printer object and/or used separately.
Specific sub-tasks:
Implement pappl_scanner_t object based on pappl_printer_t (adapted to the needs of scanning - 90% duplication here)
Update pappl_job_t object to support print or scan jobs (add a pointer to pappl_scanner_t)
Implement pappl_sc_driver_data_t structure based on pappl_pr_driver_data_t, with corresponding callback functions using the pappl_sc_ prefix. For the purposes of PAPPL scanning, do not support vendor options.
Implement pappl_sc_options_t structure based on pappl_pr_options_t. For the purposes of PAPPL scanning, do not support vendor options.
Add scanner.h header with public API and scanner-private.h header with private API using appropriately-named header guard macros. These can be patterned after the corresponding printer headers.
Add scanner.c file that provides the scanner object constructor and destructor.
Add scanner-accessors.c file that provides the scanner object accessor (get/set) functions, patterned on printer-accessors.c
Add scanner-driver.c file that provides the scan driver interfaces and attributes, patterned on printer-driver.c.
Add scanner-webif.c file that provides scan-specific web pages.
Add job-scan.c file that provides scan job processing functions.
Add papplPrinterSetScanner API to set the scanner associated with a printer
Add papplSystemSetScannerDrivers API to set the list of scanner drivers, callback, etc.
Add pappl_sc_autoadd_cb_t, pappl_sc_create_cb_t, pappl_sc_driver_cb_t, and pappl_scanner_cb_t callbacks to system.h.
Need to think about how to auto-associate scanners in printers.
The text was updated successfully, but these errors were encountered:
Implement pappl_scanner_t object based on pappl_printer_t (adapted to the needs of scanning - 90% duplication here)
Implement pappl_sc_driver_data_t structure based on pappl_pr_driver_data_t, with corresponding callback functions using the pappl_sc_ prefix. For the purposes of PAPPL scanning, do not support vendor options.
Implement pappl_sc_options_t structure based on pappl_pr_options_t. For the purposes of PAPPL scanning, do not support vendor options.
Add scanner.h header with public API and scanner-private.h header with private API using appropriately-named header guard macros. These can be patterned after the corresponding printer headers.
In order to support multi-function devices and standalone scanners, PAPPL should provide APIs, interfaces, and objects for scanning, with the goal of providing IPP Scan and/or eSCL protocol endpoints (eSCL is used for AirPrint and Mopria, IPP Scan is a published but otherwise unused standard that has the needed semantics/data elements) that can be linked to a printer object and/or used separately.
Specific sub-tasks:
pappl_scanner_t
object based onpappl_printer_t
(adapted to the needs of scanning - 90% duplication here)pappl_job_t
object to support print or scan jobs (add a pointer topappl_scanner_t
)pappl_sc_driver_data_t
structure based onpappl_pr_driver_data_t
, with corresponding callback functions using thepappl_sc_
prefix. For the purposes of PAPPL scanning, do not support vendor options.pappl_sc_options_t
structure based onpappl_pr_options_t
. For the purposes of PAPPL scanning, do not support vendor options.scanner.h
header with public API andscanner-private.h
header with private API using appropriately-named header guard macros. These can be patterned after the corresponding printer headers.scanner.c
file that provides the scanner object constructor and destructor.scanner-accessors.c
file that provides the scanner object accessor (get/set) functions, patterned onprinter-accessors.c
scanner-driver.c
file that provides the scan driver interfaces and attributes, patterned onprinter-driver.c
.scanner-webif.c
file that provides scan-specific web pages.job-scan.c
file that provides scan job processing functions.papplPrinterSetScanner
API to set the scanner associated with a printerpapplSystemSetScannerDrivers
API to set the list of scanner drivers, callback, etc.pappl_sc_autoadd_cb_t
,pappl_sc_create_cb_t
,pappl_sc_driver_cb_t
, andpappl_scanner_cb_t
callbacks tosystem.h
.Need to think about how to auto-associate scanners in printers.
The text was updated successfully, but these errors were encountered: