00001 #ifndef _event_hh_ 00002 #define _event_hh_ 00003 00004 #include "object.hh" 00005 #include "ability.hh" 00006 #include <vector> 00007 00008 namespace anoid { 00009 namespace base { 00010 00011 class Event: public Object { 00012 protected: 00013 std::string type; 00014 int argc; 00015 std::vector<Object *> argv; 00016 int datacount; 00017 std::vector<void *> data; 00018 public: 00019 std::string getType() { return type; } 00020 Event(): argc(0), datacount(0) {} 00021 virtual void fire() {} 00022 void addArgument(Object *o); 00023 void addData(void *d); 00024 }; 00025 00026 }; 00027 }; 00028 00029 #endif