From e241843bec22600ab4ef98e7a085e82aac73fc93 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Sun, 15 Feb 2009 11:39:07 +0000 Subject: - Remove some unneeded files - Mass rename .c to .cpp svn-id: r38227 --- engines/sci/sfx/timer/pthread.c | 104 ------------------------- engines/sci/sfx/timer/pthread.cpp | 104 +++++++++++++++++++++++++ engines/sci/sfx/timer/sigalrm.c | 157 -------------------------------------- engines/sci/sfx/timer/sigalrm.cpp | 157 ++++++++++++++++++++++++++++++++++++++ engines/sci/sfx/timer/timers.c | 73 ------------------ engines/sci/sfx/timer/timers.cpp | 73 ++++++++++++++++++ 6 files changed, 334 insertions(+), 334 deletions(-) delete mode 100644 engines/sci/sfx/timer/pthread.c create mode 100644 engines/sci/sfx/timer/pthread.cpp delete mode 100644 engines/sci/sfx/timer/sigalrm.c create mode 100644 engines/sci/sfx/timer/sigalrm.cpp delete mode 100644 engines/sci/sfx/timer/timers.c create mode 100644 engines/sci/sfx/timer/timers.cpp (limited to 'engines/sci/sfx/timer') diff --git a/engines/sci/sfx/timer/pthread.c b/engines/sci/sfx/timer/pthread.c deleted file mode 100644 index 074adbe08f..0000000000 --- a/engines/sci/sfx/timer/pthread.c +++ /dev/null @@ -1,104 +0,0 @@ -/*************************************************************************** - pthread.c Copyright (C) 2005 Walter van Niftrik - - - This program may be modified and copied freely according to the terms of - the GNU general public license (GPL), as long as the above copyright - notice and the licensing information contained herein are preserved. - - Please refer to www.gnu.org for licensing details. - - This work is provided AS IS, without warranty of any kind, expressed or - implied, including but not limited to the warranties of merchantibility, - noninfringement, and fitness for a specific purpose. The author will not - be held liable for any damage caused by this work or derivatives of it. - - By using this source code, you agree to the licensing terms as stated - above. - - - Please contact the maintainer for bug reports or inquiries. - - Current Maintainer: - - Walter van Niftrik - -***************************************************************************/ - -#include -#include -#include - -/* Timer frequency in hertz */ -#define FREQ 60 - -/* Delay in ms */ -#define DELAY (1000 / FREQ) - -static void (*callback)(void *) = NULL; -static void *callback_data = NULL; -pthread_t thread; -volatile static int thread_run; - -static void * -timer_thread(void *arg) -{ - while (thread_run) { - if (callback) - callback(callback_data); - - usleep(DELAY * 1000); - } - - return NULL; -} - -static int -set_option(char *name, char *value) -{ - return SFX_ERROR; -} - -static int -init(void (*func)(void *), void *data) -{ - if (callback) { - fprintf(stderr, "Error: Attempt to initialize pthread timer more than once\n"); - return SFX_ERROR; - } - - if (!func) { - fprintf(stderr, "Error: Attempt to initialize pthread timer w/o callback\n"); - return SFX_ERROR; - } - - callback = func; - callback_data = data; - - thread_run = 1; - if (pthread_create(&thread, NULL, timer_thread, NULL)) { - fprintf(stderr, "Error: Could not create thread.\n"); - return SFX_ERROR; - } - - return SFX_OK; -} - -static int -stop(void) -{ - thread_run = 0; - pthread_join(thread, NULL); - - return SFX_OK; -} - -sfx_timer_t sfx_timer_pthread = { - "pthread", - "0.1", - DELAY, - 0, - &set_option, - &init, - &stop -}; diff --git a/engines/sci/sfx/timer/pthread.cpp b/engines/sci/sfx/timer/pthread.cpp new file mode 100644 index 0000000000..074adbe08f --- /dev/null +++ b/engines/sci/sfx/timer/pthread.cpp @@ -0,0 +1,104 @@ +/*************************************************************************** + pthread.c Copyright (C) 2005 Walter van Niftrik + + + This program may be modified and copied freely according to the terms of + the GNU general public license (GPL), as long as the above copyright + notice and the licensing information contained herein are preserved. + + Please refer to www.gnu.org for licensing details. + + This work is provided AS IS, without warranty of any kind, expressed or + implied, including but not limited to the warranties of merchantibility, + noninfringement, and fitness for a specific purpose. The author will not + be held liable for any damage caused by this work or derivatives of it. + + By using this source code, you agree to the licensing terms as stated + above. + + + Please contact the maintainer for bug reports or inquiries. + + Current Maintainer: + + Walter van Niftrik + +***************************************************************************/ + +#include +#include +#include + +/* Timer frequency in hertz */ +#define FREQ 60 + +/* Delay in ms */ +#define DELAY (1000 / FREQ) + +static void (*callback)(void *) = NULL; +static void *callback_data = NULL; +pthread_t thread; +volatile static int thread_run; + +static void * +timer_thread(void *arg) +{ + while (thread_run) { + if (callback) + callback(callback_data); + + usleep(DELAY * 1000); + } + + return NULL; +} + +static int +set_option(char *name, char *value) +{ + return SFX_ERROR; +} + +static int +init(void (*func)(void *), void *data) +{ + if (callback) { + fprintf(stderr, "Error: Attempt to initialize pthread timer more than once\n"); + return SFX_ERROR; + } + + if (!func) { + fprintf(stderr, "Error: Attempt to initialize pthread timer w/o callback\n"); + return SFX_ERROR; + } + + callback = func; + callback_data = data; + + thread_run = 1; + if (pthread_create(&thread, NULL, timer_thread, NULL)) { + fprintf(stderr, "Error: Could not create thread.\n"); + return SFX_ERROR; + } + + return SFX_OK; +} + +static int +stop(void) +{ + thread_run = 0; + pthread_join(thread, NULL); + + return SFX_OK; +} + +sfx_timer_t sfx_timer_pthread = { + "pthread", + "0.1", + DELAY, + 0, + &set_option, + &init, + &stop +}; diff --git a/engines/sci/sfx/timer/sigalrm.c b/engines/sci/sfx/timer/sigalrm.c deleted file mode 100644 index 40cc2872e1..0000000000 --- a/engines/sci/sfx/timer/sigalrm.c +++ /dev/null @@ -1,157 +0,0 @@ -/*************************************************************************** - sigalrm.c Copyright (C) 2002 Christoph Reichenbach - - - This program may be modified and copied freely according to the terms of - the GNU general public license (GPL), as long as the above copyright - notice and the licensing information contained herein are preserved. - - Please refer to www.gnu.org for licensing details. - - This work is provided AS IS, without warranty of any kind, expressed or - implied, including but not limited to the warranties of merchantibility, - noninfringement, and fitness for a specific purpose. The author will not - be held liable for any damage caused by this work or derivatives of it. - - By using this source code, you agree to the licensing terms as stated - above. - - - Please contact the maintainer for bug reports or inquiries. - - Current Maintainer: - - Christoph Reichenbach (CR) - -***************************************************************************/ - -#include - -#ifdef HAVE_SETITIMER - -#include -#include -#include - -#ifdef HAVE_PTHREAD -#include -#define sigprocmask pthread_sigmask -#endif - -static void (*sig_callback)(void *) = NULL; -static void *sig_callback_data = NULL; -static sigset_t current_sigset; - -static void -timer_handler(int i) -{ - if (sig_callback) - sig_callback(sig_callback_data); -} - -static int -sigalrm_set_option(char *name, char *value) -{ - return SFX_ERROR; -} - - -static int -sigalrm_start(void) -{ - struct itimerval itimer; - - itimer.it_value.tv_sec = 0; - itimer.it_value.tv_usec = 1000000/60; - itimer.it_interval = itimer.it_value; - - signal(SIGALRM, timer_handler); /* Re-instate timer handler, to make sure */ - setitimer(ITIMER_REAL, &itimer, NULL); - - return SFX_OK; -} - - -static int -sigalrm_init(void (*callback)(void *), void *data) -{ - if (sig_callback) { - fprintf(stderr, "Error: Attempt to initialize sigalrm timer more than once\n"); - return SFX_ERROR; - } - - if (!callback) { - fprintf(stderr, "Error: Attempt to initialize sigalrm timer w/o callback\n"); - return SFX_ERROR; - } - - sig_callback = callback; - sig_callback_data = data; - - sigalrm_start(); - - sigemptyset(¤t_sigset); - sigaddset(¤t_sigset, SIGALRM); - - return SFX_OK; -} - - -static int -sigalrm_stop(void) -{ - struct itimerval itimer; - - if (!sig_callback) { - fprintf(stderr, "Error: Attempt to stop sigalrm timer when not running\n"); - return SFX_ERROR; - } - - itimer.it_value.tv_sec = 0; - itimer.it_value.tv_usec = 0; - itimer.it_interval = itimer.it_value; - - setitimer(ITIMER_REAL, &itimer, NULL); /* Stop timer */ - signal(SIGALRM, SIG_DFL); - - return SFX_OK; -} - - -static int -sigalrm_block(void) -{ - if (sigprocmask(SIG_BLOCK, ¤t_sigset, NULL) != 0) { - fprintf(stderr, "Error: Failed to block sigalrm\n"); - return SFX_ERROR; - } - - return SFX_OK; -} - - -static int -sigalrm_unblock(void) -{ - if (sigprocmask(SIG_UNBLOCK, ¤t_sigset, NULL) != 0) { - fprintf(stderr, "Error: Failed to unblock sigalrm\n"); - return SFX_ERROR; - } - - return SFX_OK; -} - - -sfx_timer_t sfx_timer_sigalrm = { - "sigalrm", - "0.1", - 17, /* 1000 / 60 */ - 0, - &sigalrm_set_option, - &sigalrm_init, - &sigalrm_stop, - &sigalrm_block, - &sigalrm_unblock -}; - -#endif /* HAVE_SETITIMER */ diff --git a/engines/sci/sfx/timer/sigalrm.cpp b/engines/sci/sfx/timer/sigalrm.cpp new file mode 100644 index 0000000000..40cc2872e1 --- /dev/null +++ b/engines/sci/sfx/timer/sigalrm.cpp @@ -0,0 +1,157 @@ +/*************************************************************************** + sigalrm.c Copyright (C) 2002 Christoph Reichenbach + + + This program may be modified and copied freely according to the terms of + the GNU general public license (GPL), as long as the above copyright + notice and the licensing information contained herein are preserved. + + Please refer to www.gnu.org for licensing details. + + This work is provided AS IS, without warranty of any kind, expressed or + implied, including but not limited to the warranties of merchantibility, + noninfringement, and fitness for a specific purpose. The author will not + be held liable for any damage caused by this work or derivatives of it. + + By using this source code, you agree to the licensing terms as stated + above. + + + Please contact the maintainer for bug reports or inquiries. + + Current Maintainer: + + Christoph Reichenbach (CR) + +***************************************************************************/ + +#include + +#ifdef HAVE_SETITIMER + +#include +#include +#include + +#ifdef HAVE_PTHREAD +#include +#define sigprocmask pthread_sigmask +#endif + +static void (*sig_callback)(void *) = NULL; +static void *sig_callback_data = NULL; +static sigset_t current_sigset; + +static void +timer_handler(int i) +{ + if (sig_callback) + sig_callback(sig_callback_data); +} + +static int +sigalrm_set_option(char *name, char *value) +{ + return SFX_ERROR; +} + + +static int +sigalrm_start(void) +{ + struct itimerval itimer; + + itimer.it_value.tv_sec = 0; + itimer.it_value.tv_usec = 1000000/60; + itimer.it_interval = itimer.it_value; + + signal(SIGALRM, timer_handler); /* Re-instate timer handler, to make sure */ + setitimer(ITIMER_REAL, &itimer, NULL); + + return SFX_OK; +} + + +static int +sigalrm_init(void (*callback)(void *), void *data) +{ + if (sig_callback) { + fprintf(stderr, "Error: Attempt to initialize sigalrm timer more than once\n"); + return SFX_ERROR; + } + + if (!callback) { + fprintf(stderr, "Error: Attempt to initialize sigalrm timer w/o callback\n"); + return SFX_ERROR; + } + + sig_callback = callback; + sig_callback_data = data; + + sigalrm_start(); + + sigemptyset(¤t_sigset); + sigaddset(¤t_sigset, SIGALRM); + + return SFX_OK; +} + + +static int +sigalrm_stop(void) +{ + struct itimerval itimer; + + if (!sig_callback) { + fprintf(stderr, "Error: Attempt to stop sigalrm timer when not running\n"); + return SFX_ERROR; + } + + itimer.it_value.tv_sec = 0; + itimer.it_value.tv_usec = 0; + itimer.it_interval = itimer.it_value; + + setitimer(ITIMER_REAL, &itimer, NULL); /* Stop timer */ + signal(SIGALRM, SIG_DFL); + + return SFX_OK; +} + + +static int +sigalrm_block(void) +{ + if (sigprocmask(SIG_BLOCK, ¤t_sigset, NULL) != 0) { + fprintf(stderr, "Error: Failed to block sigalrm\n"); + return SFX_ERROR; + } + + return SFX_OK; +} + + +static int +sigalrm_unblock(void) +{ + if (sigprocmask(SIG_UNBLOCK, ¤t_sigset, NULL) != 0) { + fprintf(stderr, "Error: Failed to unblock sigalrm\n"); + return SFX_ERROR; + } + + return SFX_OK; +} + + +sfx_timer_t sfx_timer_sigalrm = { + "sigalrm", + "0.1", + 17, /* 1000 / 60 */ + 0, + &sigalrm_set_option, + &sigalrm_init, + &sigalrm_stop, + &sigalrm_block, + &sigalrm_unblock +}; + +#endif /* HAVE_SETITIMER */ diff --git a/engines/sci/sfx/timer/timers.c b/engines/sci/sfx/timer/timers.c deleted file mode 100644 index 353ae11ca7..0000000000 --- a/engines/sci/sfx/timer/timers.c +++ /dev/null @@ -1,73 +0,0 @@ -/*************************************************************************** - timers.c Copyright (C) 2002 Christoph Reichenbach - - - This program may be modified and copied freely according to the terms of - the GNU general public license (GPL), as long as the above copyright - notice and the licensing information contained herein are preserved. - - Please refer to www.gnu.org for licensing details. - - This work is provided AS IS, without warranty of any kind, expressed or - implied, including but not limited to the warranties of merchantibility, - noninfringement, and fitness for a specific purpose. The author will not - be held liable for any damage caused by this work or derivatives of it. - - By using this source code, you agree to the licensing terms as stated - above. - - - Please contact the maintainer for bug reports or inquiries. - - Current Maintainer: - - Christoph Reichenbach (CR) - -***************************************************************************/ - -#include "sci/include/sfx_timer.h" -#include "sci/include/resource.h" - -#ifdef SCUMMVM -extern sfx_timer_t sfx_timer_scummvm; -#else // SCUMMVM - -#ifdef HAVE_SETITIMER -extern sfx_timer_t sfx_timer_sigalrm; -#endif - -#ifdef _DREAMCAST -extern sfx_timer_t sfx_timer_pthread; -#endif -#endif // SCUMMVM - -sfx_timer_t *sfx_timers[] = { -#ifdef SCUMMVM - &sfx_timer_scummvm, -#else // SCUMMVM -#ifdef HAVE_SETITIMER - &sfx_timer_sigalrm, -#endif -#ifdef _DREAMCAST - &sfx_timer_pthread, -#endif -#endif // SCUMMVM - NULL -}; - - -sfx_timer_t * -sfx_find_timer(char *name) -{ - if (!name) { - /* Policies go here */ - return sfx_timers[0]; - } else { - int n = 0; - while (sfx_timers[n] - && strcasecmp(sfx_timers[n]->name, name)) - ++n; - - return sfx_timers[n]; - } -} diff --git a/engines/sci/sfx/timer/timers.cpp b/engines/sci/sfx/timer/timers.cpp new file mode 100644 index 0000000000..353ae11ca7 --- /dev/null +++ b/engines/sci/sfx/timer/timers.cpp @@ -0,0 +1,73 @@ +/*************************************************************************** + timers.c Copyright (C) 2002 Christoph Reichenbach + + + This program may be modified and copied freely according to the terms of + the GNU general public license (GPL), as long as the above copyright + notice and the licensing information contained herein are preserved. + + Please refer to www.gnu.org for licensing details. + + This work is provided AS IS, without warranty of any kind, expressed or + implied, including but not limited to the warranties of merchantibility, + noninfringement, and fitness for a specific purpose. The author will not + be held liable for any damage caused by this work or derivatives of it. + + By using this source code, you agree to the licensing terms as stated + above. + + + Please contact the maintainer for bug reports or inquiries. + + Current Maintainer: + + Christoph Reichenbach (CR) + +***************************************************************************/ + +#include "sci/include/sfx_timer.h" +#include "sci/include/resource.h" + +#ifdef SCUMMVM +extern sfx_timer_t sfx_timer_scummvm; +#else // SCUMMVM + +#ifdef HAVE_SETITIMER +extern sfx_timer_t sfx_timer_sigalrm; +#endif + +#ifdef _DREAMCAST +extern sfx_timer_t sfx_timer_pthread; +#endif +#endif // SCUMMVM + +sfx_timer_t *sfx_timers[] = { +#ifdef SCUMMVM + &sfx_timer_scummvm, +#else // SCUMMVM +#ifdef HAVE_SETITIMER + &sfx_timer_sigalrm, +#endif +#ifdef _DREAMCAST + &sfx_timer_pthread, +#endif +#endif // SCUMMVM + NULL +}; + + +sfx_timer_t * +sfx_find_timer(char *name) +{ + if (!name) { + /* Policies go here */ + return sfx_timers[0]; + } else { + int n = 0; + while (sfx_timers[n] + && strcasecmp(sfx_timers[n]->name, name)) + ++n; + + return sfx_timers[n]; + } +} -- cgit v1.2.3