Harlequin RIP SDK
sw_inputq_api_20171010 Struct Reference

Input queue controller function pointer API version 20171010. More...

#include "inputsapi.h"

Data Fields

sw_inputq_result(* print_job )(const uint8 *filename, const uint8 *setupname, const uint8 *overrideps, void *jobcontext, sw_inputq_decontext_fn *decontext, int32 where, int32 *job_id)
 Insert a job into the input queue for printing by the RIP. More...
 
int32(* delete_job )(int32 job_id)
 Delete a job from the input queue. More...
 
sw_inputq_result(* iterate_setups )(sw_inputq_setup_fn *callback, void *data)
 Iterate over the available job setups. More...
 
void(* source_add )(void)
 Inform the input queue system of a persistent source that will add entries to the queue. More...
 
void(* source_remove )(void)
 Inform the input queue system that a persistent source previously added with the sw_inputq_api_20171010::source_add() method has been removed. More...
 
void(* signal_waiters )(void)
 Release threads blocked on the input queue, even if there is no input. More...
 

Detailed Description

Input queue controller function pointer API version 20171010.

Field Documentation

◆ delete_job

int32( * sw_inputq_api_20171010::delete_job) (int32 job_id)

Delete a job from the input queue.

Parameters
[in]job_idThe job ID of the job to delete, as returned by the sw_inputq_api_20171010::print_job() method and reported by the SWEVT_INPUTQ_CHANGE event. If this is positive, just that job will be deleted from the queue. If this is negative, then all jobs except the negated job number will be deleted from the queue. If this is zero, all jobs will be deleted from the queue.
Returns
The number of jobs deleted from the input queue.

◆ iterate_setups

sw_inputq_result( * sw_inputq_api_20171010::iterate_setups) (sw_inputq_setup_fn *callback, void *data)

Iterate over the available job setups.

Parameters
[in]callbackA callback function that will be called for each available setup. The callback function should not take substantial time, should not block, and should not call back into the RIP for anything except memory allocation.
[in]dataA data pointer supplied to the callback function.
Returns
The return value of any error callback, or SW_INPUTQ_SUCCESS.

◆ print_job

sw_inputq_result( * sw_inputq_api_20171010::print_job) (const uint8 *filename, const uint8 *setupname, const uint8 *overrideps, void *jobcontext, sw_inputq_decontext_fn *decontext, int32 where, int32 *job_id)

Insert a job into the input queue for printing by the RIP.

Parameters
[in]filenameThe filename of the job to print. This is a zero-terminated UTF-8 string, in a skin-dependent form. The HMR skin implementation expects this to be a PostScript device and file name. The skinkit SDK implementation will accept a PostScript device and file name, or a platform relative or absolute file name, which it will convert into a PostScript device and file name.
[in]setupnameAn optional name of the setup to use when printing the file. This is a zero-terminated UTF-8 string, in a skin-dependent form. The HMR skin implementation expects this to be a page setup name. The skinkit SDK implementation will accept a PostScript device and file name, a platform absolute file name which it will convert into a PostScript device and file name, or a relative name, which it will convert into a PostScript file name relative to the configps% device.
[in]overridepsAn optional pointer to a buffer of PostScript code used to override aspects of the setup configuration. This is a zero terminated buffer of bytes.
[in]wherePosition in the queue to add the job, indexed from 0. An index of -1 will append the job to the end of the queue.
jobcontextAn opaque pointer supplied by the skin for job context information.
decontextA pointer to a callback function to dispose of the job context pointer. If non-NULL, this will be called when the queue entry is destroyed, at least after the SWTLT_SKIN_JOB timeline is created. If the job is deleted from the queue without running, this callback will be called when the job is deleted.
[in,out]job_idA pointer to the job ID allocated by the RIP skin. This job number will be reported by various events. Job IDs are always positive integers. Job ID 0 is reserved for the initial boot-up job for the RIP. If the value referenced by job_id is zero on entry, the input queue implementation will allocate a job ID. If the value referenced is non-zero on entry, that job ID will be used. Note that if re-using the same job ID, the sw_inputq_api_20171010::delete_job() method cannot distinguish between the different entries, and will delete all entries with that ID, or none, as instructed. Explicitly setting job IDs is not recommended when using the default input methods provided by the RIP SDK (such as hotfolders or command line); explicitly setting job IDs should only be used when the OEM takes full control of all input methods.
Returns
SW_INPUTQ_SUCCESS if the job was queued for printing, one of the other SW_INPUTQ_RESULT values otherwise. The job_id variable will not be modified if an error occurs.

◆ signal_waiters

void( * sw_inputq_api_20171010::signal_waiters) (void)

Release threads blocked on the input queue, even if there is no input.

This function can be called to release threads that are blocked on the input queue so they can test if there is any other action they should take (for example, a process interrupt may request a graceful shutdown and may need to unblock waiting threads).

◆ source_add

void( * sw_inputq_api_20171010::source_add) (void)

Inform the input queue system of a persistent source that will add entries to the queue.

Adding a persistent input source affects the return value of inputq_wait(). If there are no persistent input methods when inputq_wait() is called, that function will return FALSE to indicate to the caller that no new input will be available. If there are persistent input methods noted when inputq_wait() is called, that function may block until input is available.

◆ source_remove

void( * sw_inputq_api_20171010::source_remove) (void)

Inform the input queue system that a persistent source previously added with the sw_inputq_api_20171010::source_add() method has been removed.

Removing a persistent input source affects the return value of inputq_wait(). If there are no persistent input methods when inputq_wait() is called, that function will return FALSE to indicate to the caller that no new input will be available. If there are persistent input methods noted when inputq_wait() is called, that function may block until input is available.


The documentation for this struct was generated from the following file: