iCub-main
IEvent.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2007-2010 RobotCub Consortium, European Commission FP6 Project IST-004370
3  * author: Arjan Gijsberts
4  * email: arjan.gijsberts@iit.it
5  * website: www.robotcub.org
6  * Permission is granted to copy, distribute, and/or modify this program
7  * under the terms of the GNU General Public License, version 2 or any
8  * later version published by the Free Software Foundation.
9  *
10  * A copy of the license can be found at
11  * http://www.robotcub.org/icub/license/gpl.txt
12  *
13  * This program is distributed in the hope that it will be useful, but
14  * WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
16  * Public License for more details
17  */
18 
19 #ifndef LM_EVENT__
20 #define LM_EVENT__
21 
22 #include <string>
23 
24 namespace iCub {
25 namespace learningmachine {
26 
33 // forward declaration to solve circular reference
34 class IEventListener;
35 
36 class IEvent {
37 protected:
38 
39 
40 public:
45  virtual std::string toString() = 0;
46 
53  virtual void visit(IEventListener& listener) = 0;
54 
55 };
56 
57 } // learningmachine
58 } // iCub
59 
60 #endif
virtual void visit(IEventListener &listener)=0
Causes the Event to visit an EventListener.
virtual std::string toString()=0
Returns a string representation of the Event.
This file contains the definition of unique IDs for the body parts and the skin parts of the robot.