Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Nov 1, 2008, 1:48:57 PM (15 years ago)
Author:
landauf
Message:
  • simplified some event code
  • prevents infinite event loops
  • fixed some leaky memory behavior in XMLPort and EventIncludes
File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/objecthierarchy/src/core/Event.h

    r2072 r2082  
    4747    {
    4848        public:
    49             EventContainer(const std::string& eventname, Executor* eventfunction, Identifier* subclass) : eventname_(eventname), eventfunction_(eventfunction), subclass_(subclass), activeEvents_(0) {}
     49            EventContainer(const std::string& eventname, Executor* eventfunction, Identifier* subclass) : bActive_(false), eventname_(eventname), eventfunction_(eventfunction), subclass_(subclass), activeEvents_(0) {}
    5050            virtual ~EventContainer();
    5151
    52             virtual void process(void* object, const Event& event);
     52            void process(BaseObject* object, const Event& event);
    5353
    5454        private:
     55            bool bActive_;
    5556            std::string eventname_;
    5657            Executor* eventfunction_;
     
    5960            int activeEvents_;
    6061    };
    61 
    62     template <class T>
    63     class ClassEventContainer : public EventContainer
    64     {
    65         public:
    66             ClassEventContainer(const std::string& eventname, ExecutorMember<T>* eventfunction, Identifier* subclass) : EventContainer(eventname, (Executor*)eventfunction, subclass), eventfunction_(eventfunction) {}
    67 
    68             void process(void* object, const Event& event)
    69             {
    70                 this->eventfunction_->setObject((T*)object);
    71                 EventContainer::process(object, event);
    72             }
    73 
    74         private:
    75             ExecutorMember<T>* eventfunction_;
    76     };
    7762}
    7863
Note: See TracChangeset for help on using the changeset viewer.