Lines Matching refs:priv

99 static void _cleanup_plugin_data(plugin_data_t *priv) {
100 if (priv != NULL) {
101 if (priv->msgQ != MSG_Q_INVALID_ID) {
102 priv->job_info.wprint_ifc->msgQDelete(priv->msgQ);
104 sem_destroy(&priv->buffs_sem);
105 free(priv);
114 plugin_data_t *priv = (plugin_data_t *) param;
116 while (priv->job_info.wprint_ifc->msgQReceive(priv->msgQ, (char *) &msg, sizeof(msgQ_msg_t),
119 priv->pcl_ifc->start_job(priv->job_handle, &priv->job_info,
120 priv->job_params->media_size, priv->job_params->media_type,
121 priv->job_params->pixel_units, priv->job_params->duplex,
122 priv->job_params->dry_time, priv->job_params->color_space,
123 priv->job_params->media_tray, priv->job_params->page_top_margin,
124 priv->job_params->page_left_margin);
126 priv->pcl_ifc->start_page(&priv->job_info, msg.param.start_page.width,
129 if (!priv->pcl_ifc->canCancelMidPage() || !priv->job_params->cancelled) {
130 priv->pcl_ifc->print_swath(&priv->job_info, msg.param.send.buffer,
134 sem_post(&priv->buffs_sem);
137 priv->pcl_ifc->end_page(&priv->job_info, msg.param.end_page.page);
144 priv->pcl_ifc->end_job(&priv->job_info);
197 static status_t _stop_thread(plugin_data_t *priv) {
199 if (priv == NULL) {
202 if (!pthread_equal(priv->send_tid, pthread_self())) {
206 priv->job_info.wprint_ifc->msgQSend(
207 priv->msgQ, (char *) &msg, sizeof(msgQ_msg_t), NO_WAIT, MSG_Q_FIFO);
208 pthread_join(priv->send_tid, 0);
209 priv->send_tid = pthread_self();
212 _cleanup_plugin_data(priv);
219 plugin_data_t *priv = NULL;
227 priv = (plugin_data_t *) malloc(sizeof(plugin_data_t));
228 if (priv == NULL) continue;
230 memset(priv, 0, sizeof(plugin_data_t));
232 priv->job_handle = job_handle;
233 priv->job_params = job_params;
234 priv->send_tid = pthread_self();
235 priv->job_info.job_handle = _WJOBH_NONE;
236 priv->job_info.print_ifc = (ifc_print_job_t *) print_ifc_p;
237 priv->job_info.wprint_ifc = (ifc_wprint_t *) wprint_ifc_p;
238 priv->job_info.strip_height = job_params->strip_height;
239 priv->job_info.useragent = job_params->useragent;
241 sem_init(&priv->buffs_sem, 0, MAX_SEND_BUFFS);
244 priv->pcl_ifc = pclm_connect();
247 priv->pcl_ifc = pwg_connect();
253 if (priv->pcl_ifc == NULL) {
258 priv->msgQ = priv->job_info.wprint_ifc->msgQCreate(
260 if (priv->msgQ == MSG_Q_INVALID_ID) continue;
262 if (_start_thread(priv) == ERROR) continue;
264 job_params->plugin_data = (void *) priv;
266 priv->job_info.wprint_ifc->msgQSend(
267 priv->msgQ, (char *) &msg, sizeof(msgQ_msg_t), NO_WAIT, MSG_Q_FIFO);
272 _cleanup_plugin_data(priv);
288 plugin_data_t *priv;
294 priv = (plugin_data_t *) job_params->plugin_data;
296 if (priv == NULL) return ERROR;
319 wprint_image_setup(image_info, mime_type, priv->job_info.wprint_ifc,
384 priv->job_info.num_components = image_info->num_components;
385 priv->job_info.wprint_ifc->msgQSend(priv->msgQ, (char *) &msg,
399 if (priv->pcl_ifc->canCancelMidPage() && job_params->cancelled) {
402 sem_wait(&priv->buffs_sem);
426 result = priv->job_info.wprint_ifc->msgQSend(priv->msgQ, (char *) &msg,
429 sem_post(&priv->buffs_sem);
435 sem_post(&priv->buffs_sem);
494 priv->job_info.wprint_ifc->msgQSend(priv->msgQ, (char *) &msg, sizeof(msgQ_msg_t), NO_WAIT,
504 plugin_data_t *priv;
508 priv = (plugin_data_t *) job_params->plugin_data;
509 if (priv == NULL) return ERROR;
514 priv->job_info.wprint_ifc->msgQSend(priv->msgQ, (char *) &msg, sizeof(msgQ_msg_t), NO_WAIT,