00001 /***************************************************************** 00002 | 00003 | BlueTune - Event Listener Interface 00004 | 00005 | (c) 2002-2006 Gilles Boccon-Gibod 00006 | Author: Gilles Boccon-Gibod (bok@bok.net) 00007 | 00008 ****************************************************************/ 00013 #ifndef _BLT_EVENT_LISTENER_H_ 00014 #define _BLT_EVENT_LISTENER_H_ 00015 00016 /*---------------------------------------------------------------------- 00017 | includes 00018 +---------------------------------------------------------------------*/ 00019 #include "Atomix.h" 00020 #include "BltDefs.h" 00021 #include "BltTypes.h" 00022 #include "BltErrors.h" 00023 #include "BltEvent.h" 00024 00025 /*---------------------------------------------------------------------- 00026 | types 00027 +---------------------------------------------------------------------*/ 00028 ATX_DECLARE_INTERFACE(BLT_EventListener) 00029 ATX_BEGIN_INTERFACE_DEFINITION(BLT_EventListener) 00030 void (*OnEvent)(BLT_EventListener* self, 00031 ATX_Object* source, 00032 BLT_EventType type, 00033 const BLT_Event* event); 00034 ATX_END_INTERFACE_DEFINITION 00035 00036 /*---------------------------------------------------------------------- 00037 | convenience macros 00038 +---------------------------------------------------------------------*/ 00043 #define BLT_EventListener_OnEvent(object, source, type, event) \ 00044 ATX_INTERFACE(object)->OnEvent(object, source, type, event) 00045 00046 00047 #endif /* _BLT_EVENT_LISTENER_H_ */