>xabsl   The Extensible Agent Behavior Specification Language

XabslEngine Class Library Reference

 

XabslAgent.h

Go to the documentation of this file.
00001 /**
00002 * @file XabslAgent.h
00003 * 
00004 * Definition of class Agent
00005 *
00006 * @author <a href="http://www.martin-loetzsch.de">Martin Loetzsch</a>
00007 */
00008 
00009 #ifndef __XabslAgent_h_
00010 #define __XabslAgent_h_
00011 
00012 #include "XabslBehavior.h"
00013 #include "XabslTools.h"
00014 
00015 namespace xabsl 
00016 {
00017 
00018 /** 
00019 * @class Agent
00020 * 
00021 * Combines some options to an agent
00022 *
00023 * @author Martin Loetzsch
00024 */
00025 class Agent : public NamedItem
00026 {
00027 public:
00028   /**
00029   * Constructor
00030   * @param name The name of the agent
00031   * @param rootOption A pointer to the initial option of the agent
00032   * @param errorHandler Is invoked when errors occur
00033   * @param index Index of the agent in array agents in corresponding engine
00034   */
00035   Agent(const char* name, Behavior* rootOption,
00036     ErrorHandler& errorHandler, int index);
00037 
00038   /** Returns the root option */
00039   Behavior* getRootOption() const;
00040 private:
00041 
00042   /** A pointer to the root option */
00043   Behavior* rootOption;
00044 
00045   /** Is invoked when errors occur */
00046   ErrorHandler& errorHandler;
00047 
00048   /** Index of the agent in array agents in corresponding engine */
00049   int index;
00050 };
00051 
00052 } // namespace
00053 
00054 #endif // __XabslAgent_h_

Up | Main Page | Generated at Wed Aug 19 17:32:28 2009.