00001 #ifndef PHX_EVENT_NOTIFIER_H 00002 #define PHX_EVENT_NOTIFIER_H 00003 00004 #include <Phx/Core/PhxNamedInterface.h> 00005 #include <Phx/Util/PhxListeners.h> 00006 00007 namespace Phx { 00008 00017 class EventNotifier : public NamedInterface { 00018 public: 00019 const static NamedInterface::Type INTERFACE_TYPE; 00020 const static String INTERFACE_TYPE_NAME; 00021 00026 class Listener : public BaseMultiListener<EventNotifier, Listener, Listener*> { 00027 public: 00028 00032 virtual void onNewEvent(void) = 0; 00033 }; 00034 00043 virtual void newListener(Listener* listener) = 0; 00044 00052 virtual void deleteListener(Listener* listener) = 0; 00053 00068 virtual void newEvent(void) = 0; 00069 }; 00070 00071 }; // namespace Phx 00072 00073 #endif /* PHX_EVENT_NOTIFIER_H */
1.4.2