Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

abstractworld.hh

Go to the documentation of this file.
00001 #ifndef _abstractworld_hh_
00002 #define _abstractworld_hh_
00003 
00004 #include "object.hh"
00005 #include "element.hh"
00006 #include "event.hh"
00007 #include "context.hh"
00008 
00009 namespace anoid {
00010     namespace base {
00011 
00012         class AbstractWorld: public Object {
00013             public:
00014                 virtual Object *loadObject(const std::string &name) = 0;
00020                 virtual int getFreshID() = 0;
00026                 virtual double getTime() = 0;
00027                 virtual double getG() = 0;
00032                 virtual vector<Object*>::iterator begin() = 0;
00033                 virtual vector<Object*>::iterator end() = 0;
00034                 virtual vector<Element*>::iterator beginE() = 0;
00035                 virtual vector<Element*>::iterator endE() = 0;
00040                 virtual void send(Event *e) = 0;
00046                 virtual void listen(Object *o, const std::string &m) = 0;
00047                 virtual void fireEvents() = 0;
00053                 virtual Event *loadEvent(const std::string &name) = 0;
00061                 virtual Event *loadEvent(const std::string &name, config::Configuration &c) = 0;
00067                 virtual Event *sendEvent(const std::string &name) = 0;
00074                 virtual Event *sendEvent(const std::string &name, Object *o1) = 0;
00082                 virtual Event *sendEvent(const std::string &name, Object *o1, Object *o2) = 0;
00091                 virtual Event *sendEvent(const std::string &name, Object *o1, Object *o2, Object *o3) = 0;
00092                 virtual context::Context *getContext() = 0;
00093         };
00094 
00095     };
00096 };
00097 
00098 #endif

Anoid NG © Michael Westergaard, Martin Stig Stissing, Ronni Michael Laursen, and Kristian Bisgaard Lassen