Main Page | Data Structures | File List | Data Fields | Globals | Related Pages

event.h

Go to the documentation of this file.
00001 
00012 #ifndef FISH_EVENT_H
00013 #define FISH_EVENT_H
00014 
00015 
00019 #define EVENT_ANY_SIGNAL -1
00020 
00024 #define EVENT_ANY_PID 0
00025 
00029 enum
00030 {
00031         EVENT_ANY, 
00032         EVENT_SIGNAL, 
00033         EVENT_VARIABLE, 
00034         EVENT_EXIT, 
00035         EVENT_JOB_ID, 
00036         EVENT_GENERIC, 
00037 }
00038         ;
00039 
00047 typedef struct 
00048 {
00052         int type;
00053 
00057         union
00058         {
00063                 int signal;
00067                 const wchar_t *variable;
00072                 pid_t pid;
00076                 int job_id;
00080                 const wchar_t *param;
00081         
00082         } param1;
00083 
00087         const wchar_t *function_name;   
00088 
00094         array_list_t arguments;
00095 }
00096         event_t;
00097 
00103 void event_add_handler( event_t *event );
00104 
00110 void event_remove( event_t *event );
00111 
00123 int event_get( event_t *criterion, array_list_t *out );
00124 
00141 void event_fire( event_t *event );
00142 
00146 void event_init();
00147 
00151 void event_destroy();
00152 
00156 void event_free( event_t *e );
00157 
00162 const wchar_t *event_get_desc( event_t *e );
00163 
00167 void event_fire_generic(const wchar_t *name);
00168 
00169 
00170 #endif

Generated on Sun Jan 13 02:52:28 2008 for fish by  doxygen 1.4.4