Index: orxonox/trunk/src/util/event/event.cc
===================================================================
--- orxonox/trunk/src/util/event/event.cc	(revision 4341)
+++ orxonox/trunk/src/util/event/event.cc	(revision 4346)
@@ -10,11 +10,11 @@
 
    ### File Specific:
-   main-programmer: ...
+   main-programmer: Patrick Boenzli
    co-programmer: ...
 */
 
-//#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_
+#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_EVENT
 
-#include "proto_class.h"
+#include "event.h"
 
 using namespace std;
@@ -25,18 +25,8 @@
    \todo this constructor is not jet implemented - do it
 */
-ProtoClass::ProtoClass () 
+Event::Event () 
 {
-   this->setClassID(CL_PROTO_ID, "ProtoClass"); 
+   this->setClassID(CL_EVENT, "Event"); 
 
-   /* If you make a new class, what is most probably the case when you write this file
-      don't forget to:
-       1. Add the new file new_class.cc to the ./src/Makefile.am
-       2. Add the class identifier to ./src/class_list.h eg. CL_NEW_CLASS
-
-      Advanced Topics:
-      - if you want to let your object be managed via the ObjectManager make sure to read
-        the object_manager.h header comments. You will use this most certanly only if you
-	make many objects of your class, like a weapon bullet.
-   */
 }
 
@@ -46,5 +36,5 @@
 
 */
-ProtoClass::~ProtoClass () 
+Event::~Event () 
 {
   // delete what has to be deleted here
Index: orxonox/trunk/src/util/event/event.h
===================================================================
--- orxonox/trunk/src/util/event/event.h	(revision 4341)
+++ orxonox/trunk/src/util/event/event.h	(revision 4346)
@@ -1,28 +1,22 @@
 /*! 
-    \file proto_class.h
-    \brief Definition of ...
+    \file event.h
+    \brief an abstract event
 
 */
 
-#ifndef _PROTO_CLASS_H
-#define _PROTO_CLASS_H
+#ifndef _EVENT_H
+#define _EVENT_H
 
 #include "base_object.h"
 
-// FORWARD DEFINITION
 
-
-
-//! A class for ...
-class ProtoClass : public BaseObject {
+//! An abstract event class
+class Event : public BaseObject {
 
  public:
-  ProtoClass();
-  virtual ~ProtoClass();
-
-
- private:
+  Event();
+  virtual ~Event();
 
 };
 
-#endif /* _PROTO_CLASS_H */
+#endif /* _EVENT_H */
Index: orxonox/trunk/src/util/event/event_handler.cc
===================================================================
--- orxonox/trunk/src/util/event/event_handler.cc	(revision 4341)
+++ orxonox/trunk/src/util/event/event_handler.cc	(revision 4346)
@@ -10,11 +10,11 @@
 
    ### File Specific:
-   main-programmer: ...
-   co-programmer: ...
+   main-programmer: Patrick Boenzli
+   co-programmer: 
 */
 
-//#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_WORLD_ENTITY
+#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_EVENT
 
-#include "proto_singleton.h"
+#include "event_handler.h"
 
 using namespace std;
@@ -24,19 +24,7 @@
    \brief standard constructor
 */
-ProtoSingleton::ProtoSingleton () 
+EventHandler::EventHandler () 
 {
-   this->setClassName("ProtoSingleton");
-   this->setClassID(CL_PROTO_ID, "ProtoSingleton"); 
-
-   /* If you make a new class, what is most probably the case when you write this file
-      don't forget to:
-       1. Add the new file new_class.cc to the ./src/Makefile.am
-       2. Add the class identifier to ./src/class_list.h eg. CL_NEW_CLASS
-
-      Advanced Topics:
-      - if you want to let your object be managed via the ObjectManager make sure to read
-        the object_manager.h header comments. You will use this most certanly only if you
-	make many objects of your class, like a weapon bullet.
-   */
+   this->setClassID(CL_EVENT_HANDLER, "EventHandler"); 
 }
 
@@ -44,14 +32,14 @@
    \brief the singleton reference to this class
 */
-ProtoSingleton* ProtoSingleton::singletonRef = NULL;
+EventHandler* EventHandler::singletonRef = NULL;
 
 /**
    \returns a Pointer to this Class
 */
-ProtoSingleton* ProtoSingleton::getInstance(void)
+EventHandler* EventHandler::getInstance(void)
 {
-  if (!ProtoSingleton::singletonRef)
-    ProtoSingleton::singletonRef = new ProtoSingleton();
-  return ProtoSingleton::singletonRef;
+  if (!EventHandler::singletonRef)
+    EventHandler::singletonRef = new EventHandler();
+  return EventHandler::singletonRef;
 }
 
@@ -60,7 +48,7 @@
 
 */
-ProtoSingleton::~ProtoSingleton () 
+EventHandler::~EventHandler () 
 {
-  ProtoSingleton::singletonRef = NULL;
+  EventHandler::singletonRef = NULL;
 
 }
Index: orxonox/trunk/src/util/event/event_handler.h
===================================================================
--- orxonox/trunk/src/util/event/event_handler.h	(revision 4341)
+++ orxonox/trunk/src/util/event/event_handler.h	(revision 4346)
@@ -1,26 +1,48 @@
 /*! 
-    \file proto_singleton.h
-    \brief Definition of the ... singleton Class
+    \file event_handler.h
+    \brief Definition of the EventHandler
     
 */
 
-#ifndef _PROTO_SINGLETON_H
-#define _PROTO_SINGLETON_H
+#ifndef _EVENT_HANDLER_H
+#define _EVENT_HANDLER_H
 
 #include "base_object.h"
 
-// FORWARD DEFINITION
+class EventListener;
+template<class T> class tList;
 
-//! A default singleton class.
-class ProtoSingleton : public BaseObject {
+typedef enum elState
+  {
+    ES_GAME,
+    ES_GAME_MENU,
+    ES_MENU,
+
+    ES_NUMBER,
+  };
+
+
+//! The one Event Handler from Orxonox
+class EventHandler : public BaseObject {
 
  public:
-  static ProtoSingleton* getInstance(void);
-  virtual ~ProtoSingleton(void);
+  static EventHandler* getInstance(void);
+  virtual ~EventHandler(void);
+
+  void subscribeListener(EventListener* el, elState state);
+  void unsubscribeListener(EventListener* el, elState state);
+  void flush();
+  
+  void loadKeyBindings(const char* fileName);
+
+  void tick(float t);
 
  private:
-  ProtoSingleton(void);
-  static ProtoSingleton* singletonRef;
+  EventHandler(void);
+  static EventHandler* singletonRef;
+
+  EventListener** listeners;                         //!< a list of registered listeners
+  
 };
 
-#endif /* _PROTO_SINGLETON_H */
+#endif /* _EVENT_HANDLER_H */
Index: orxonox/trunk/src/util/event/event_listener.cc
===================================================================
--- orxonox/trunk/src/util/event/event_listener.cc	(revision 4341)
+++ orxonox/trunk/src/util/event/event_listener.cc	(revision 4346)
@@ -10,11 +10,11 @@
 
    ### File Specific:
-   main-programmer: ...
+   main-programmer: Patrick Boenzli
    co-programmer: ...
 */
 
-//#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_
+#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_EVENT
 
-#include "proto_class.h"
+#include "event_listener.h"
 
 using namespace std;
@@ -25,18 +25,7 @@
    \todo this constructor is not jet implemented - do it
 */
-ProtoClass::ProtoClass () 
+EventListener::EventListener () 
 {
-   this->setClassID(CL_PROTO_ID, "ProtoClass"); 
-
-   /* If you make a new class, what is most probably the case when you write this file
-      don't forget to:
-       1. Add the new file new_class.cc to the ./src/Makefile.am
-       2. Add the class identifier to ./src/class_list.h eg. CL_NEW_CLASS
-
-      Advanced Topics:
-      - if you want to let your object be managed via the ObjectManager make sure to read
-        the object_manager.h header comments. You will use this most certanly only if you
-	make many objects of your class, like a weapon bullet.
-   */
+   this->setClassID(CL_EVENT_LISTENER, "EventListener"); 
 }
 
@@ -46,5 +35,5 @@
 
 */
-ProtoClass::~ProtoClass () 
+EventListener::~EventListener () 
 {
   // delete what has to be deleted here
Index: orxonox/trunk/src/util/event/event_listener.h
===================================================================
--- orxonox/trunk/src/util/event/event_listener.h	(revision 4341)
+++ orxonox/trunk/src/util/event/event_listener.h	(revision 4346)
@@ -1,28 +1,23 @@
 /*! 
-    \file proto_class.h
-    \brief Definition of ...
+    \file event_listener.h
+    \brief Definition of an event listener base class
 
 */
 
-#ifndef _PROTO_CLASS_H
-#define _PROTO_CLASS_H
+#ifndef _EVENT_LISTENER_H
+#define _EVENT_LISTENER_H
 
 #include "base_object.h"
 
-// FORWARD DEFINITION
 
-
-
-//! A class for ...
-class ProtoClass : public BaseObject {
+//! A class for event listener
+class EventListener : public BaseObject {
 
  public:
-  ProtoClass();
-  virtual ~ProtoClass();
+  EventListener();
+  virtual ~EventListener();
 
-
- private:
 
 };
 
-#endif /* _PROTO_CLASS_H */
+#endif /* _EVENT_LISTENER_H */
