Harlequin RIP SDK

The RIP farm DFE Interface. More...

#include "rf_types.h"
#include "rf_error.h"

Data Structures

struct  RF_FARM_REPLY
 The structure of all JSON message payloads received from the RIP farm. More...
 
struct  RF_REPLY_FARM_STARTING
 The structure of a Farm Starting message. This is sent in reply to rf_send_farm_start(). More...
 
struct  RF_REPLY_FARM_STOPPING
 The structure of a Farm Stopping message. This is sent in reply to rf_send_farm_stop() or at any time should a fatal error occur within the RIP farm. More...
 
struct  RF_REPLY_BLADE_STOPPING
 The structure of a Blade Stopping message. This is sent in reply to rf_send_blade_stop().
More...
 
struct  RF_REPLY_JOB_STARTING
 The structure of a Job Starting message. This is sent in reply to rf_send_job_start(). More...
 
struct  RF_REPLY_JOB_CANCELLING
 The structure of a Job Cancelling message. This is sent in reply to rf_send_job_cancel().
More...
 
struct  RF_REPLY_JOB_PAUSING
 The structure of a Job Pausing message. This is sent in reply to rf_send_job_pause().
More...
 
struct  RF_REPLY_JOB_RESUMING
 The structure of a Job Resuming message. This is sent in reply to rf_send_job_resume().
More...
 
struct  RF_REPLY_RASTER_CONNECTED
 The structure of a Raster Connected message. This is sent in reply to rf_send_raster_connect().
More...
 
struct  RF_REPLY_RASTER_DISCONNECTED
 The structure of a Raster Disconnected message. This is sent in reply to rf_send_raster_disconnect(). More...
 
struct  RF_REPLY_RASTER_DELIVER
 The structure of a Raster Deliver message. This is sent in reply to rf_send_raster_request(). More...
 
struct  RF_REPLY_RASTERS_AVAILABLE
 The structure of a Rasters Available notification message. More...
 
struct  RF_JOB_STATUS_DETAILS
 The status of a job, as returned in the Job Status reply message. More...
 
struct  RF_REPLY_JOB_STATUS
 The structure of a Job Status reply message. This message is sent in response to a rf_send_job_status_request(), to inform the client about all of the jobs matched. More...
 
struct  RF_RIP_STATUS_PAGE_RANGE_DETAILS
 The status of a page range this RIP is processing. More...
 
struct  RF_RIP_STATUS_DETAILS
 The status of a RIP, as returned in the RIP Status reply message. This message is sent in response to a rf_send_rip_status_request(), to inform the client about all of the RIPs. More...
 
struct  RF_REPLY_RIP_STATUS
 The structure of a RIP Status reply message. This message is sent in response to a rf_send_rip_status_request(), to inform the client about all of the RIPs. More...
 
struct  RF_BLADE_STATUS_DETAILS
 The status of a Blade, as returned in the Blade Status reply message. This message is sent in response to a rf_send_blade_status_request(), to inform the client about all of the Blades. More...
 
struct  RF_REPLY_BLADE_STATUS
 The structure of a Blade Status reply message. This message is sent in response to a rf_send_blade_status_request(), to inform the client about all of the Blades. More...
 
struct  RF_REPLY_RASTER_STATUS
 The structure of a Raster Status reply message. This message is sent in response to a rf_send_raster_status_request(), to inform the client about all of the rasters for matching jobs and raster statuses. More...
 
struct  RF_REPLY_FARM_STOPPED
 The structure of a Farm Stopped message. This is typically sent in reply to rf_send_farm_stop() but can also occur at any time if an error arises in the RIP farm. More...
 
struct  RF_FARM_STOP_REASON
 A reason to why farm stop has not happened yet. More...
 
struct  RF_REPLY_FARM_STOP_PROGRESS
 The structure of a Farm Stop Progress reply message. This notification is sent on a regular basis after a farm stop has been requested should the farm not stop in a timely fashion. The most likely reason for a farm stop not happening in a timely fashion is because: More...
 
struct  RF_REPLY_JOB_STARTED
 The structure of a Job Started message. This notification indicates that a job has been analysed, and that chunks have been scheduled on the RIP Farm. More...
 
struct  RF_REPLY_JOB_PAUSED
 The structure of a Job Paused message. This notification indicates that a job has paused, and no more chunks will be scheduled unless the job is resumed. More...
 
struct  RF_REPLY_JOB_RESUMED
 The structure of a Job Resumed message. This notification indicates that a job has resumed, and that chunks have been scheduled on the RIP Farm. More...
 
struct  RF_JOB_COMPLETED_METADATA
 Metadata collected while processing the job. More...
 
struct  RF_REPLY_JOB_COMPLETED
 The structure of a Job Completed message. This notification indicates that a job has finished interpreting and rendering. It does not indicate that the rasters created have been processed. More...
 
struct  RF_REPLY_RASTER_PROGRESS
 The structure of a Rasters Progress message. More...
 

Macros

#define RF_JOB_COMPLETED_METADATA_INIT   { sizeof(RF_JOB_COMPLETED_METADATA), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
 Static/auto initialiser for RF_JOB_COMPLETED_METADATA. Job completed meta data parameters should be initialised using this value, and then individual fields modified as desired.
 

Typedefs

typedef int RF_MSG_TYPE
 A limited range integer containing message numbers from the documentation.
 
typedef struct RF_PAYLOAD RF_PAYLOAD
 An opaque handle to a message payload received from the RIP farm.
 
typedef struct RF_FARM_REPLY RF_FARM_REPLY
 The structure of all JSON message payloads received from the RIP farm. More...
 
typedef HqBool() message_callback_fn(void *args, RF_FARM_REPLY farm_reply)
 The signature of the message_callback() function passed to rf_iface_start(). More...
 
typedef struct RF_REPLY_FARM_STARTING RF_REPLY_FARM_STARTING
 The structure of a Farm Starting message. This is sent in reply to rf_send_farm_start().
 
typedef struct RF_REPLY_FARM_STOPPING RF_REPLY_FARM_STOPPING
 The structure of a Farm Stopping message. This is sent in reply to rf_send_farm_stop() or at any time should a fatal error occur within the RIP farm.
 
typedef struct RF_REPLY_BLADE_STOPPING RF_REPLY_BLADE_STOPPING
 The structure of a Blade Stopping message. This is sent in reply to rf_send_blade_stop().

 
typedef struct RF_REPLY_JOB_STARTING RF_REPLY_JOB_STARTING
 The structure of a Job Starting message. This is sent in reply to rf_send_job_start().
 
typedef struct RF_REPLY_JOB_CANCELLING RF_REPLY_JOB_CANCELLING
 The structure of a Job Cancelling message. This is sent in reply to rf_send_job_cancel().

 
typedef struct RF_REPLY_JOB_PAUSING RF_REPLY_JOB_PAUSING
 The structure of a Job Pausing message. This is sent in reply to rf_send_job_pause().

 
typedef struct RF_REPLY_JOB_RESUMING RF_REPLY_JOB_RESUMING
 The structure of a Job Resuming message. This is sent in reply to rf_send_job_resume().

 
typedef struct RF_REPLY_RASTER_CONNECTED RF_REPLY_RASTER_CONNECTED
 The structure of a Raster Connected message. This is sent in reply to rf_send_raster_connect().

 
typedef struct RF_REPLY_RASTER_DISCONNECTED RF_REPLY_RASTER_DISCONNECTED
 The structure of a Raster Disconnected message. This is sent in reply to rf_send_raster_disconnect().
 
typedef struct RF_REPLY_RASTER_DELIVER RF_REPLY_RASTER_DELIVER
 The structure of a Raster Deliver message. This is sent in reply to rf_send_raster_request().
 
typedef struct RF_REPLY_RASTERS_AVAILABLE RF_REPLY_RASTERS_AVAILABLE
 The structure of a Rasters Available notification message. More...
 
typedef int RF_JOB_STATE
 Type to pass RF_JOB_STATES across interfaces.
 
typedef struct RF_JOB_STATUS_DETAILS RF_JOB_STATUS_DETAILS
 The status of a job, as returned in the Job Status reply message. More...
 
typedef struct RF_REPLY_JOB_STATUS RF_REPLY_JOB_STATUS
 The structure of a Job Status reply message. This message is sent in response to a rf_send_job_status_request(), to inform the client about all of the jobs matched.
 
typedef int RF_RIP_STATE
 Type to pass RF_RIP_STATES across interfaces.
 
typedef int RF_PAGE_RANGE_STATE
 Type to pass RF_PAGE_RANGE_STATES across interfaces.
 
typedef struct RF_RIP_STATUS_PAGE_RANGE_DETAILS RF_RIP_STATUS_PAGE_RANGE_DETAILS
 The status of a page range this RIP is processing.
 
typedef struct RF_RIP_STATUS_DETAILS RF_RIP_STATUS_DETAILS
 The status of a RIP, as returned in the RIP Status reply message. This message is sent in response to a rf_send_rip_status_request(), to inform the client about all of the RIPs.
 
typedef struct RF_REPLY_RIP_STATUS RF_REPLY_RIP_STATUS
 The structure of a RIP Status reply message. This message is sent in response to a rf_send_rip_status_request(), to inform the client about all of the RIPs.
 
typedef int RF_BLADE_STATE
 Type to pass RF_BLADE_STATES across interfaces.
 
typedef struct RF_BLADE_STATUS_DETAILS RF_BLADE_STATUS_DETAILS
 The status of a Blade, as returned in the Blade Status reply message. This message is sent in response to a rf_send_blade_status_request(), to inform the client about all of the Blades.
 
typedef struct RF_REPLY_BLADE_STATUS RF_REPLY_BLADE_STATUS
 The structure of a Blade Status reply message. This message is sent in response to a rf_send_blade_status_request(), to inform the client about all of the Blades.
 
typedef struct RF_REPLY_RASTER_STATUS RF_REPLY_RASTER_STATUS
 The structure of a Raster Status reply message. This message is sent in response to a rf_send_raster_status_request(), to inform the client about all of the rasters for matching jobs and raster statuses.
 
typedef struct RF_REPLY_FARM_STOPPED RF_REPLY_FARM_STOPPED
 The structure of a Farm Stopped message. This is typically sent in reply to rf_send_farm_stop() but can also occur at any time if an error arises in the RIP farm.
 
typedef int RF_STOP_REASON
 Type to pass RF_STOP_REASONS across interfaces.
 
typedef struct RF_FARM_STOP_REASON RF_FARM_STOP_REASON
 A reason to why farm stop has not happened yet.
 
typedef struct RF_REPLY_FARM_STOP_PROGRESS RF_REPLY_FARM_STOP_PROGRESS
 The structure of a Farm Stop Progress reply message. This notification is sent on a regular basis after a farm stop has been requested should the farm not stop in a timely fashion. The most likely reason for a farm stop not happening in a timely fashion is because: More...
 
typedef struct RF_REPLY_JOB_STARTED RF_REPLY_JOB_STARTED
 The structure of a Job Started message. This notification indicates that a job has been analysed, and that chunks have been scheduled on the RIP Farm.
 
typedef struct RF_REPLY_JOB_PAUSED RF_REPLY_JOB_PAUSED
 The structure of a Job Paused message. This notification indicates that a job has paused, and no more chunks will be scheduled unless the job is resumed.
 
typedef struct RF_REPLY_JOB_RESUMED RF_REPLY_JOB_RESUMED
 The structure of a Job Resumed message. This notification indicates that a job has resumed, and that chunks have been scheduled on the RIP Farm.
 
typedef struct RF_JOB_COMPLETED_METADATA RF_JOB_COMPLETED_METADATA
 Metadata collected while processing the job.
 
typedef struct RF_REPLY_JOB_COMPLETED RF_REPLY_JOB_COMPLETED
 The structure of a Job Completed message. This notification indicates that a job has finished interpreting and rendering. It does not indicate that the rasters created have been processed.
 
typedef struct RF_REPLY_RASTER_PROGRESS RF_REPLY_RASTER_PROGRESS
 The structure of a Rasters Progress message. More...
 

Enumerations

enum  RF_MSG_TYPES {
  RF_FARM_STARTING = 11 , RF_FARM_STOPPING = 21 , RF_BLADE_STOPPING = 27 , RF_CONFIG_CONSTRUCTED = 41 ,
  RF_CONFIG_DELETED = 43 , RF_CONFIG_STATUS = 45 , RF_JOB_REQUEST = 51 , RF_JOB_STARTING = 53 ,
  RF_JOB_CANCELLING = 55 , RF_JOB_PAUSING = 57 , RF_JOB_RESUMING = 59 , RF_JOB_PAUSED = 62 ,
  RF_JOB_RESUMED = 63 , RF_RASTER_CONNECTED = 133 , RF_RASTER_DISCONNECTED = 135 , RF_RASTERS_AVAILABLE = 125 ,
  RF_RASTER_DELIVER = 127 , RF_FARM_STATUS = 101 , RF_JOB_STATUS = 103 , RF_RIP_STATUS = 105 ,
  RF_BLADE_STATUS = 107 , RF_RASTER_STATUS = 131 , RF_FARM_STARTED = 12 , RF_FARM_STOPPED = 22 ,
  RF_FARM_STOP_PROGRESS = 28 , RF_JOB_STARTED = 61 , RF_JOB_COMPLETED = 60 , RF_RASTER_PROGRESS = 136
}
 Values for RF_MSG_TYPE, passed to message_callback_fn in the RF_FARM_REPLY::msg_type field. The values of the assignments match the design docs. More...
 
enum  RF_JOB_STATES {
  RF_JOB_STATE_STARTING = 0 , RF_JOB_STATE_WAITING = 1 , RF_JOB_STATE_ACTIVE = 2 , RF_JOB_STATE_PAUSING = 3 ,
  RF_JOB_STATE_PAUSED = 4 , RF_JOB_STATE_RESUMING = 5 , RF_JOB_STATE_CANCELLING = 6
}
 Job states for RF_JOB_STATE, returned by the job controller. More...
 
enum  RF_RIP_STATES { RF_RIP_STATE_NOTRUNNING = 0 , RF_RIP_STATE_IDLE = 1 , RF_RIP_STATE_BUSY = 2 , RF_RIP_STATE_STOPPING = 3 }
 RIP states for RF_RIP_STATE, returned by the job controller. More...
 
enum  RF_PAGE_RANGE_STATES { RF_PAGE_RANGE_STATE_ACTIVE = 0 , RF_PAGE_RANGE_STATE_ABORTED = 1 , RF_PAGE_RANGE_STATE_FAILED = 2 }
 Page range states for RF_PAGE_RANGE_STATE, returned by the job controller. More...
 
enum  RF_BLADE_STATES {
  RF_BLADE_STATE_NOTRUNNING = 0 , RF_BLADE_STATE_WAITING = 1 , RF_BLADE_STATE_STARTING = 2 , RF_BLADE_STATE_ACTIVE = 3 ,
  RF_BLADE_STATE_STOPPING = 4 , RF_BLADE_STATE_STOPPED = 5
}
 Blade states for RF_BLADE_STATE, returned by the farm controller. More...
 
enum  RF_STOP_REASONS { RF_STOP_REASON_RASTER_JOBS = 0 , RF_STOP_REASON_RASTER_PAGES_UNHANDLED = 1 , RF_STOP_REASON_BLADES = 2 }
 Values for RF_STOP_REASON. More...
 

Functions

void rf_free_payload (RF_PAYLOAD **payload)
 Free the payload of a message received from the RIP farm. More...
 
char * rf_extract_json_string (RF_FARM_REPLY *farm_reply)
 Extract the payload of messages received from message_callback() into a zero terminated string containing a JSON object. The string is UTF-8 encoded that contains no BOM or embedded NULs. More...
 
void rf_free_json_string (char **p_json_string)
 Free the string created by rf_extract_json_string(). More...
 
RF_REPLY_FARM_STARTINGrf_extract_farm_starting (RF_FARM_REPLY *farm_reply)
 Extract farm_reply->payload into a RF_REPLY_FARM_STARTING structure. More...
 
void rf_free_farm_starting (RF_REPLY_FARM_STARTING **p_farm_starting)
 Free the C structure created by rf_extract_farm_starting(). More...
 
RF_REPLY_FARM_STOPPINGrf_extract_farm_stopping (RF_FARM_REPLY *farm_reply)
 Extract farm_reply->payload into a RF_REPLY_FARM_STOPPING structure. More...
 
void rf_free_farm_stopping (RF_REPLY_FARM_STOPPING **p_farm_stopping)
 Free the C structure created by rf_extract_farm_stopping(). More...
 
RF_REPLY_BLADE_STOPPINGrf_extract_blade_stopping (RF_FARM_REPLY *farm_reply)
 Extract farm_reply->payload into a RF_REPLY_BLADE_STOPPING structure. More...
 
void rf_free_blade_stopping (RF_REPLY_BLADE_STOPPING **p_blade_stopping)
 Free the C structure created by rf_extract_blade_stopping(). More...
 
RF_REPLY_JOB_STARTINGrf_extract_job_starting (RF_FARM_REPLY *farm_reply)
 Extract farm_reply->payload into a RF_REPLY_JOB_STARTING structure. More...
 
void rf_free_job_starting (RF_REPLY_JOB_STARTING **p_job_starting)
 Free the C structure created by rf_extract_job_starting(). More...
 
RF_REPLY_JOB_CANCELLINGrf_extract_job_cancelling (RF_FARM_REPLY *farm_reply)
 Extract farm_reply->payload into a RF_REPLY_JOB_CANCELLING structure. More...
 
void rf_free_job_cancelling (RF_REPLY_JOB_CANCELLING **p_job_cancelling)
 Free the C structure created by rf_extract_job_cancelling(). More...
 
RF_REPLY_JOB_PAUSINGrf_extract_job_pausing (RF_FARM_REPLY *farm_reply)
 Extract farm_reply->payload into a RF_REPLY_JOB_PAUSING structure. More...
 
void rf_free_job_pausing (RF_REPLY_JOB_PAUSING **p_job_pausing)
 Free the C structure created by rf_extract_job_pausing(). More...
 
RF_REPLY_JOB_RESUMINGrf_extract_job_resuming (RF_FARM_REPLY *farm_reply)
 Extract farm_reply->payload into a RF_REPLY_JOB_RESUMING structure. More...
 
void rf_free_job_resuming (RF_REPLY_JOB_RESUMING **p_job_resuming)
 Free the C structure created by rf_extract_job_resuming(). More...
 
RF_REPLY_RASTER_CONNECTEDrf_extract_raster_connected (RF_FARM_REPLY *farm_reply)
 Extract farm_reply->payload into a RF_REPLY_RASTER_CONNECTED structure. More...
 
void rf_free_raster_connected (RF_REPLY_RASTER_CONNECTED **p_raster_connected)
 
RF_REPLY_RASTER_DISCONNECTEDrf_extract_raster_disconnected (RF_FARM_REPLY *farm_reply)
 Extract farm_reply->payload into a RF_REPLY_RASTER_DISCONNECTED structure. More...
 
void rf_free_raster_disconnected (RF_REPLY_RASTER_DISCONNECTED **p_raster_disconnected)
 Free the C structure created by rf_extract_raster_disconnected(). More...
 
RF_REPLY_RASTER_DELIVERrf_extract_raster_deliver (RF_FARM_REPLY *farm_reply)
 Extract farm_reply->payload into a RF_REPLY_RASTER_DELIVER structure. More...
 
void rf_free_raster_deliver (RF_REPLY_RASTER_DELIVER **p_raster_deliver)
 Free the C structure created by rf_extract_raster_deliver(). More...
 
RF_REPLY_RASTERS_AVAILABLErf_extract_rasters_available (RF_FARM_REPLY *farm_reply)
 Extract farm_reply->payload into a RF_REPLY_RASTERS_AVAILABLE structure. More...
 
void rf_free_rasters_available (RF_REPLY_RASTERS_AVAILABLE **p_rasters_available)
 Free the C structure created by rf_extract_rasters_available(). More...
 
RF_REPLY_JOB_STATUSrf_extract_job_status (RF_FARM_REPLY *farm_reply)
 Extract farm_reply->payload into a RF_REPLY_JOB_STATUS structure. More...
 
void rf_free_job_status (RF_REPLY_JOB_STATUS **p_job_status)
 Free the C structure created by rf_extract_job_status(). More...
 
RF_REPLY_RIP_STATUSrf_extract_rip_status (RF_FARM_REPLY *farm_reply)
 Extract farm_reply->payload into a RF_REPLY_RIP_STATUS structure. More...
 
void rf_free_rip_status (RF_REPLY_RIP_STATUS **p_rip_status)
 Free the C structure created by rf_extract_rip_status(). More...
 
RF_REPLY_BLADE_STATUSrf_extract_blade_status (RF_FARM_REPLY *farm_reply)
 Extract farm_reply->payload into a RF_REPLY_BLADE_STATUS structure. More...
 
void rf_free_blade_status (RF_REPLY_BLADE_STATUS **p_blade_status)
 Free the C structure created by rf_extract_blade_status(). More...
 
RF_REPLY_RASTER_STATUSrf_extract_raster_status (RF_FARM_REPLY *farm_reply)
 Extract farm_reply->payload into a RF_REPLY_RASTER_STATUS structure. More...
 
void rf_free_raster_status (RF_REPLY_RASTER_STATUS **p_raster_status)
 Free the C structure created by rf_extract_raster_status(). More...
 
RF_REPLY_FARM_STOPPEDrf_extract_farm_stopped (RF_FARM_REPLY *farm_reply)
 Extract farm_reply->payload into a RF_REPLY_FARM_STOPPED structure. More...
 
void rf_free_farm_stopped (RF_REPLY_FARM_STOPPED **p_farm_stopped)
 Free the C structure created by rf_extract_farm_stopped(). More...
 
RF_REPLY_FARM_STOP_PROGRESSrf_extract_farm_stop_progress (RF_FARM_REPLY *farm_reply)
 Extract farm_reply->payload into a RF_REPLY_FARM_STOP_PROGRESS structure. More...
 
void rf_free_farm_stop_progress (RF_REPLY_FARM_STOP_PROGRESS **p_farm_stop_progress)
 Free the C structure created by rf_extract_farm_stop_progress(). More...
 
RF_REPLY_JOB_STARTEDrf_extract_job_started (RF_FARM_REPLY *farm_reply)
 Extract farm_reply->payload into a RF_REPLY_JOB_STARTED structure. More...
 
void rf_free_job_started (RF_REPLY_JOB_STARTED **p_job_started)
 Free the C structure created by rf_extract_job_started(). More...
 
RF_REPLY_JOB_PAUSEDrf_extract_job_paused (RF_FARM_REPLY *farm_reply)
 Extract farm_reply->payload into a RF_REPLY_JOB_PAUSED structure. More...
 
void rf_free_job_paused (RF_REPLY_JOB_PAUSED **p_job_paused)
 Free the C structure created by rf_extract_job_paused(). More...
 
RF_REPLY_JOB_RESUMEDrf_extract_job_resumed (RF_FARM_REPLY *farm_reply)
 Extract farm_reply->payload into a RF_REPLY_JOB_RESUMED structure. More...
 
void rf_free_job_resumed (RF_REPLY_JOB_RESUMED **p_job_resumed)
 Free the C structure created by rf_extract_job_resumed(). More...
 
RF_REPLY_JOB_COMPLETEDrf_extract_job_completed (RF_FARM_REPLY *farm_reply)
 Extract farm_reply->payload into a RF_REPLY_JOB_COMPLETED structure. More...
 
void rf_free_job_completed (RF_REPLY_JOB_COMPLETED **p_job_completed)
 Free the C structure created by rf_extract_job_completed(). More...
 
RF_REPLY_RASTER_PROGRESSrf_extract_raster_progress (RF_FARM_REPLY *farm_reply)
 Extract farm_reply->payload into a RF_REPLY_RASTER_PROGRESS structure. More...
 
void rf_free_raster_progress (RF_REPLY_RASTER_PROGRESS **p_raster_progress)
 Free the C structure created by rf_extract_raster_progress(). More...
 

Detailed Description

The RIP farm DFE Interface.

This header file declares the functions for receiving messages from the RIP farm.

Copyright (C) 2023 Global Graphics Software Ltd. All rights reserved. Global Graphics Software Ltd. Confidential Information.