Removed the "signal" and "last signal" signals. Changed perl's

signaling system to work without them, it should now work faster and
better.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1053 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
Timo Sirainen 2001-01-03 07:34:12 +00:00 committed by cras
commit 1e4c658a18
11 changed files with 451 additions and 418 deletions

View file

@ -1,16 +1,20 @@
#ifndef __SIGNAL_H
#define __SIGNAL_H
#define SIGNAL_MAX_ARGUMENTS 6
typedef void (*SIGNAL_FUNC) (gconstpointer, gconstpointer,
gconstpointer, gconstpointer,
gconstpointer, gconstpointer, gconstpointer);
gconstpointer, gconstpointer);
void signals_init(void);
void signals_deinit(void);
/* use this macro to convert the signal name to ID */
/* signal name -> ID */
#define signal_get_uniq_id(signal) \
module_get_uniq_id_str("signals", signal)
/* signal ID -> name */
#define signal_get_id_str(signal_id) \
module_find_id_str("signals", signal_id)
/* bind a signal */
void signal_add_to(const char *module, int pos,
@ -34,6 +38,11 @@ void signal_stop(void);
/* stop ongoing signal emission by signal name */
void signal_stop_by_name(const char *signal);
/* return the name of the signal that is currently being emitted */
const char *signal_get_emitted(void);
/* return the ID of the signal that is currently being emitted */
int signal_get_emitted_id(void);
/* remove all signals that belong to `module' */
void signals_remove_module(const char *module);