From 37b6643df2df7d784a31ca73f7bb90dc109c2401 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 15 Dec 2005 07:26:47 +0000 Subject: removing PDP source (except debian files) before import of PDP 0.12.4 svn path=/trunk/externals/pdp/; revision=4217 --- include/pdp_queue.h | 115 ---------------------------------------------------- 1 file changed, 115 deletions(-) delete mode 100644 include/pdp_queue.h (limited to 'include/pdp_queue.h') diff --git a/include/pdp_queue.h b/include/pdp_queue.h deleted file mode 100644 index 81a6b7e..0000000 --- a/include/pdp_queue.h +++ /dev/null @@ -1,115 +0,0 @@ -/* - * Pure Data Packet - processor queue interface - * Copyright (c) by Tom Schouten - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - * - */ - - -#ifndef PDP_QUEUE_H -#define PDP_QUEUE_H - -/********************* general purpose pd process queue class *********************/ - -typedef void (*t_pdpmethod)(void *client); - -/* the process queue data record */ -typedef struct process_queue_struct -{ - void *x_owner; /* the object we are dealing with */ - t_pdpmethod x_process; /* the process method */ - t_pdpmethod x_callback; /* the function to be called when finished */ - int *x_queue_id; /* place to store the queue id for task */ -} t_process_queue_item; - - -/* a pd process queue object */ -typedef struct _pd_queue -{ - /* clock members */ - t_clock *pdp_clock; - double deltime; - - /* some bookkeeping vars */ - long long ticks; - long long packets; - - /* queue members */ - t_process_queue_item *q; /* queue */ - int mask; - int head; /* last entry in queue + 1 */ - int tail; /* first entry in queque */ - int curr; /* the object currently processed in other thread */ - - /* pthread vars */ - pthread_mutex_t mut; - pthread_cond_t cond_dataready; - pthread_cond_t cond_processingdone; - pthread_t thread_id; - - /* toggle for thread usage */ - int use_thread; - -} t_pdp_procqueue; - - -/* all symbols are C-style */ -#ifdef __cplusplus -extern "C" -{ -#endif - - -void pdp_procqueue_wait(t_pdp_procqueue *q); -void pdp_procqueue_finish(t_pdp_procqueue *q, int index); -void pdp_procqueue_add(t_pdp_procqueue *q, void *owner, void *process, void *callback, int *queue_id); -void pdp_procqueue_use_thread(t_pdp_procqueue* q, int t); -void pdp_procqueue_init(t_pdp_procqueue *q, double milliseconds, int logsize); - -/********************* interface to pdp process queue singleton *********************/ - -/* processor queue methods, callable from main pd thread */ - -/* get the default queue */ -t_pdp_procqueue *pdp_queue_get_queue(void); - - - -#if 1 - -/* add a method to the processing queue */ -void pdp_queue_add(void *owner, void *process, void *callback, int *queue_id); - -/* halt main tread until processing is done */ -void pdp_queue_wait(void); - -/* halt main tread until processing is done and remove - callback from queue(for destructors) */ -void pdp_queue_finish(int queue_id); - -#endif - - -/* misc signals to pdp */ -void pdp_control_notify_drop(int packet); - - - -#ifdef __cplusplus -} -#endif - -#endif -- cgit v1.2.1