logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

pappl-mainloop - pappl main loop functions

Description

       The

       mainloop function starts the  printer  application  and  supports  standard  command-line  arguments  and
       behaviors.

Functions

papplMainloop
       Run a standard main loop for printer applications.

       int  papplMainloop (
           int argc,
           char *argv[],
           const char *version,
           const char *footer_html,
           int num_drivers,
           pappl_pr_driver_t *drivers,
           pappl_pr_autoadd_cb_t autoadd_cb,
           pappl_pr_driver_cb_t driver_cb,
           const char *subcmd_name,
           pappl_ml_subcmd_cb_t subcmd_cb,
           pappl_ml_system_cb_t system_cb,
           pappl_ml_usage_cb_t usage_cb,
           void *data
       );

       This  function  runs a standard main loop for a printer application.  The "argc" and "argv" arguments are
       those provided to the main function.

       The "version" argument specifies a numeric version number for the printer application  that  conforms  to
       semantic versioning guidelines with up to four numbers, for example "1.2.3.4".

       The  "footer_html"  argument specifies HTML text to use in the footer of the web interface.  If NULL, the
       footer is omitted.

       The "num_drivers", "drivers", and "driver_cb" arguments specify a list of drivers and the driver callback
       for printers.  Specify 0 and NULL if the drivers are configured in the system callback.  The "autoadd_cb"
       argument specifies a callback for automatically adding new printers with the  "autoadd"  sub-command  and
       for auto-detecting the driver when adding manually.

       The  "usage_cb"  argument  specifies  a  callback that displays a usage/help summary.  If NULL, a generic
       summary is shown as needed.

       The "subcmd_name" and "subcmd_cb" arguments specify the name and a callback for a custom sub-command.  If
       NULL, no custom sub-commands will be supported.

       The "system_cb" argument specifies a function that will create a new pappl_system_t object.  If  NULL,  a
       default system object is created.

       The "data" argument provides application-specific data for each of the callbacks.

   papplMainloopShutdown
       Request a shutdown of a running system.

       void papplMainloopShutdown (void);

       This function requests that the system started by papplMainloop be shutdown.

Library

       Printer Application Framework (libpappl, "pkg-config --cflags --libs pappl")

Name

       pappl-mainloop - pappl main loop functions

See Also

pappl(1),   pappl-client(3),   pappl-device(3),  pappl-job(3),  pappl-log(3),  pappl-mainline(3),  pappl-makeresheader(1), pappl-printer(3), pappl-resource(3), pappl-system(3), https://www.msweet.org/pappl

Synopsis

#include<pappl/pappl.h>intpapplMainloop(intargc,char*argv[],constchar*version,constchar*footer_html,intnum_drivers,pappl_driver_t*drivers,pappl_driver_cb_tdriver_cb,pappl_ml_autoadd_cb_tautoadd_cb,constchar*subcmd_name,pappl_ml_subcmd_cb_tsubcmd_cb,pappl_ml_system_cb_tsystem_cb,pappl_ml_usage_cb_tusage_cb,void*data);

Types

pappl_ml_subcmd_cb_t
       Sub-command callback

       typedef int (*pappl_ml_subcmd_cb_t)(const char *base_name, int num_options, cups_option_t *options, int num_files, char **files, void *data);

   pappl_ml_system_cb_t
       System callback

       typedef pappl_system_t * (*pappl_ml_system_cb_t)(int num_options, cups_option_t *options, void *data);

   pappl_ml_usage_cb_t
       Program usage callback

       typedef void (*pappl_ml_usage_cb_t)(void *data);

See Also