Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 4346 in orxonox.OLD for orxonox/trunk/src/util/event


Ignore:
Timestamp:
May 27, 2005, 11:53:50 PM (19 years ago)
Author:
patrick
Message:

orxonox/trunk: some first function and class definition of the new event handling system

Location:
orxonox/trunk/src/util/event
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • orxonox/trunk/src/util/event/event.cc

    r4329 r4346  
    1010
    1111   ### File Specific:
    12    main-programmer: ...
     12   main-programmer: Patrick Boenzli
    1313   co-programmer: ...
    1414*/
    1515
    16 //#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_
     16#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_EVENT
    1717
    18 #include "proto_class.h"
     18#include "event.h"
    1919
    2020using namespace std;
     
    2525   \todo this constructor is not jet implemented - do it
    2626*/
    27 ProtoClass::ProtoClass ()
     27Event::Event ()
    2828{
    29    this->setClassID(CL_PROTO_ID, "ProtoClass");
     29   this->setClassID(CL_EVENT, "Event");
    3030
    31    /* If you make a new class, what is most probably the case when you write this file
    32       don't forget to:
    33        1. Add the new file new_class.cc to the ./src/Makefile.am
    34        2. Add the class identifier to ./src/class_list.h eg. CL_NEW_CLASS
    35 
    36       Advanced Topics:
    37       - if you want to let your object be managed via the ObjectManager make sure to read
    38         the object_manager.h header comments. You will use this most certanly only if you
    39         make many objects of your class, like a weapon bullet.
    40    */
    4131}
    4232
     
    4636
    4737*/
    48 ProtoClass::~ProtoClass ()
     38Event::~Event ()
    4939{
    5040  // delete what has to be deleted here
  • orxonox/trunk/src/util/event/event.h

    r4329 r4346  
    11/*!
    2     \file proto_class.h
    3     \brief Definition of ...
     2    \file event.h
     3    \brief an abstract event
    44
    55*/
    66
    7 #ifndef _PROTO_CLASS_H
    8 #define _PROTO_CLASS_H
     7#ifndef _EVENT_H
     8#define _EVENT_H
    99
    1010#include "base_object.h"
    1111
    12 // FORWARD DEFINITION
    1312
    14 
    15 
    16 //! A class for ...
    17 class ProtoClass : public BaseObject {
     13//! An abstract event class
     14class Event : public BaseObject {
    1815
    1916 public:
    20   ProtoClass();
    21   virtual ~ProtoClass();
    22 
    23 
    24  private:
     17  Event();
     18  virtual ~Event();
    2519
    2620};
    2721
    28 #endif /* _PROTO_CLASS_H */
     22#endif /* _EVENT_H */
  • orxonox/trunk/src/util/event/event_handler.cc

    r4329 r4346  
    1010
    1111   ### File Specific:
    12    main-programmer: ...
    13    co-programmer: ...
     12   main-programmer: Patrick Boenzli
     13   co-programmer:
    1414*/
    1515
    16 //#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_WORLD_ENTITY
     16#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_EVENT
    1717
    18 #include "proto_singleton.h"
     18#include "event_handler.h"
    1919
    2020using namespace std;
     
    2424   \brief standard constructor
    2525*/
    26 ProtoSingleton::ProtoSingleton ()
     26EventHandler::EventHandler ()
    2727{
    28    this->setClassName("ProtoSingleton");
    29    this->setClassID(CL_PROTO_ID, "ProtoSingleton");
    30 
    31    /* If you make a new class, what is most probably the case when you write this file
    32       don't forget to:
    33        1. Add the new file new_class.cc to the ./src/Makefile.am
    34        2. Add the class identifier to ./src/class_list.h eg. CL_NEW_CLASS
    35 
    36       Advanced Topics:
    37       - if you want to let your object be managed via the ObjectManager make sure to read
    38         the object_manager.h header comments. You will use this most certanly only if you
    39         make many objects of your class, like a weapon bullet.
    40    */
     28   this->setClassID(CL_EVENT_HANDLER, "EventHandler");
    4129}
    4230
     
    4432   \brief the singleton reference to this class
    4533*/
    46 ProtoSingleton* ProtoSingleton::singletonRef = NULL;
     34EventHandler* EventHandler::singletonRef = NULL;
    4735
    4836/**
    4937   \returns a Pointer to this Class
    5038*/
    51 ProtoSingleton* ProtoSingleton::getInstance(void)
     39EventHandler* EventHandler::getInstance(void)
    5240{
    53   if (!ProtoSingleton::singletonRef)
    54     ProtoSingleton::singletonRef = new ProtoSingleton();
    55   return ProtoSingleton::singletonRef;
     41  if (!EventHandler::singletonRef)
     42    EventHandler::singletonRef = new EventHandler();
     43  return EventHandler::singletonRef;
    5644}
    5745
     
    6048
    6149*/
    62 ProtoSingleton::~ProtoSingleton ()
     50EventHandler::~EventHandler ()
    6351{
    64   ProtoSingleton::singletonRef = NULL;
     52  EventHandler::singletonRef = NULL;
    6553
    6654}
  • orxonox/trunk/src/util/event/event_handler.h

    r4329 r4346  
    11/*!
    2     \file proto_singleton.h
    3     \brief Definition of the ... singleton Class
     2    \file event_handler.h
     3    \brief Definition of the EventHandler
    44   
    55*/
    66
    7 #ifndef _PROTO_SINGLETON_H
    8 #define _PROTO_SINGLETON_H
     7#ifndef _EVENT_HANDLER_H
     8#define _EVENT_HANDLER_H
    99
    1010#include "base_object.h"
    1111
    12 // FORWARD DEFINITION
     12class EventListener;
     13template<class T> class tList;
    1314
    14 //! A default singleton class.
    15 class ProtoSingleton : public BaseObject {
     15typedef enum elState
     16  {
     17    ES_GAME,
     18    ES_GAME_MENU,
     19    ES_MENU,
     20
     21    ES_NUMBER,
     22  };
     23
     24
     25//! The one Event Handler from Orxonox
     26class EventHandler : public BaseObject {
    1627
    1728 public:
    18   static ProtoSingleton* getInstance(void);
    19   virtual ~ProtoSingleton(void);
     29  static EventHandler* getInstance(void);
     30  virtual ~EventHandler(void);
     31
     32  void subscribeListener(EventListener* el, elState state);
     33  void unsubscribeListener(EventListener* el, elState state);
     34  void flush();
     35 
     36  void loadKeyBindings(const char* fileName);
     37
     38  void tick(float t);
    2039
    2140 private:
    22   ProtoSingleton(void);
    23   static ProtoSingleton* singletonRef;
     41  EventHandler(void);
     42  static EventHandler* singletonRef;
     43
     44  EventListener** listeners;                         //!< a list of registered listeners
     45 
    2446};
    2547
    26 #endif /* _PROTO_SINGLETON_H */
     48#endif /* _EVENT_HANDLER_H */
  • orxonox/trunk/src/util/event/event_listener.cc

    r4329 r4346  
    1010
    1111   ### File Specific:
    12    main-programmer: ...
     12   main-programmer: Patrick Boenzli
    1313   co-programmer: ...
    1414*/
    1515
    16 //#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_
     16#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_EVENT
    1717
    18 #include "proto_class.h"
     18#include "event_listener.h"
    1919
    2020using namespace std;
     
    2525   \todo this constructor is not jet implemented - do it
    2626*/
    27 ProtoClass::ProtoClass ()
     27EventListener::EventListener ()
    2828{
    29    this->setClassID(CL_PROTO_ID, "ProtoClass");
    30 
    31    /* If you make a new class, what is most probably the case when you write this file
    32       don't forget to:
    33        1. Add the new file new_class.cc to the ./src/Makefile.am
    34        2. Add the class identifier to ./src/class_list.h eg. CL_NEW_CLASS
    35 
    36       Advanced Topics:
    37       - if you want to let your object be managed via the ObjectManager make sure to read
    38         the object_manager.h header comments. You will use this most certanly only if you
    39         make many objects of your class, like a weapon bullet.
    40    */
     29   this->setClassID(CL_EVENT_LISTENER, "EventListener");
    4130}
    4231
     
    4635
    4736*/
    48 ProtoClass::~ProtoClass ()
     37EventListener::~EventListener ()
    4938{
    5039  // delete what has to be deleted here
  • orxonox/trunk/src/util/event/event_listener.h

    r4329 r4346  
    11/*!
    2     \file proto_class.h
    3     \brief Definition of ...
     2    \file event_listener.h
     3    \brief Definition of an event listener base class
    44
    55*/
    66
    7 #ifndef _PROTO_CLASS_H
    8 #define _PROTO_CLASS_H
     7#ifndef _EVENT_LISTENER_H
     8#define _EVENT_LISTENER_H
    99
    1010#include "base_object.h"
    1111
    12 // FORWARD DEFINITION
    1312
    14 
    15 
    16 //! A class for ...
    17 class ProtoClass : public BaseObject {
     13//! A class for event listener
     14class EventListener : public BaseObject {
    1815
    1916 public:
    20   ProtoClass();
    21   virtual ~ProtoClass();
     17  EventListener();
     18  virtual ~EventListener();
    2219
    23 
    24  private:
    2520
    2621};
    2722
    28 #endif /* _PROTO_CLASS_H */
     23#endif /* _EVENT_LISTENER_H */
Note: See TracChangeset for help on using the changeset viewer.