#ifndef __SM_EVENTSUSCRIBER

#define __SM_EVENTSUSCRIBER

#include "MBStaticList.h"

class EventListener;
class Event;

class EventSuscriber
{
public:
                EventSuscriber  ();
                ~EventSuscriber ();
          int   Init            ();
          int   Shutdown        ();
  virtual int   AddListener     (EventListener* pEventListener);
  virtual int   RemoveListener  (EventListener* pEventListener);
  virtual void  PostEvent       (Event* pEvent);

protected:
  MBStaticList<EventListener*>  m_Listeners;
};

#endif