Harlequin RIP SDK
Farm RIP API

The Farm RIP API allows the application layer to start a farm RIP server loop. More...

Files

file  swfrip.h
 Header file defining the Farm RIP API.
 

Data Structures

struct  SW_FR_PARAMS
 Parameters for configuring the Farm RIP. More...
 

Macros

#define SW_FR_PARAMS_INIT
 Static and auto initializer for SW_FR_PARAMS structure.
 

Functions

HqBool sw_fr_server_loop (const struct SW_FR_PARAMS *swfrparams, void *vprdr_api)
 Enter a server loop to handle Farm RIP commands from a controlling process. More...
 

Detailed Description

The Farm RIP API allows the application layer to start a farm RIP server loop.

Function Documentation

◆ sw_fr_server_loop()

HqBool sw_fr_server_loop ( const struct SW_FR_PARAMS swfrparams,
void *  vprdr_api 
)

Enter a server loop to handle Farm RIP commands from a controlling process.

This call must be made after initializing the RDR subsystem. RDR will normally be initialized as part of the SwLeSDKStart() call, so this call should be made after SwLeSDKStart().

The Farm RIP server thread will shutdown when SwLeSDKEnd() is called. A timeline event handler is used to monitor the skin timeline (SWTLT_SKIN) to detect the shutdown initiated by SwLeSDKEnd().

Parameters
[in]swfrparamsParams for configuring the Farm RIP.
[in]vprdr_apiA pointer to the process's RDR API implementation.
Return values
TRUEThe Farm RIP server loop was started successfully.
FALSEThe Farm RIP server loop did not start. The process should issue any appropriate warnings and abort, it cannot be used for RIPping.

If this call is successful, the Farm RIP server loop has started, and is waiting for messages from the controlling process. The Farm RIP server loop registers as a persistent input source, accepts page range requests from the controlling process, and pushes them onto the Farm RIP's input queue. The Farm RIP should process jobs using the normal idiom, calling SwLeProcessInputQueue() in a loop until there are no more jobs available, as implemented by Harlequin SDK library's SwLeProcessJobs() function.