Home | nevrax.com |
|
interpret_object_message.hGo to the documentation of this file.00001 00006 /* Copyright, 2000 Nevrax Ltd. 00007 * 00008 * This file is part of NEVRAX NEL. 00009 * NEVRAX NEL is free software; you can redistribute it and/or modify 00010 * it under the terms of the GNU General Public License as published by 00011 * the Free Software Foundation; either version 2, or (at your option) 00012 * any later version. 00013 00014 * NEVRAX NEL is distributed in the hope that it will be useful, but 00015 * WITHOUT ANY WARRANTY; without even the implied warranty of 00016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00017 * General Public License for more details. 00018 00019 * You should have received a copy of the GNU General Public License 00020 * along with NEVRAX NEL; see the file COPYING. If not, write to the 00021 * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 00022 * MA 02111-1307, USA. 00023 */ 00024 #ifndef NL_INTERPRET_OBJECT_MESSAGE_H 00025 #define NL_INTERPRET_OBJECT_MESSAGE_H 00026 00027 #include "nel/ai/script/interpret_object_agent.h" 00028 00029 namespace NLAISCRIPT 00030 { 00031 class CMessageClass: public CAgentClass 00032 { 00033 public: 00034 static const NLAIC::CIdentType IdMessageClass; 00035 public: 00036 CMessageClass(const NLAIAGENT::IVarName &); 00037 CMessageClass(const NLAIC::CIdentType &); 00038 CMessageClass(const NLAIAGENT::IVarName &, const NLAIAGENT::IVarName &); 00039 CMessageClass(const CMessageClass &); 00040 CMessageClass(); 00041 00043 00044 virtual const NLAIC::IBasicType *clone() const; 00045 virtual const NLAIC::IBasicType *newInstance() const; 00046 virtual void getDebugString(std::string &) const; 00047 virtual NLAIAGENT::IObjectIA *buildNewInstance() const; 00049 00050 virtual NLAIC::CTypeOfObject getTypeClass() const 00051 { 00052 uint b = NLAIC::CTypeOfObject::tObject | NLAIC::CTypeOfObject::tMessage; 00053 return NLAIC::CTypeOfObject((uint)IClassInterpret::getTypeClass() | b); 00054 } 00055 00056 virtual const NLAIC::CIdentType &getType() const; 00057 00058 virtual ~CMessageClass(); 00059 }; 00060 00061 class CMsgNotifyParentClass: public CMessageClass 00062 { 00063 public: 00064 static const NLAIC::CIdentType IdMsgNotifyParentClass; 00065 public: 00066 CMsgNotifyParentClass(const NLAIAGENT::IVarName &); 00067 CMsgNotifyParentClass(const NLAIC::CIdentType &); 00068 CMsgNotifyParentClass(); 00069 ~CMsgNotifyParentClass(){} 00070 00072 00073 virtual const NLAIC::IBasicType *clone() const; 00074 virtual const NLAIC::IBasicType *newInstance() const; 00075 virtual const NLAIC::CIdentType &getType() const 00076 { 00077 return IdMsgNotifyParentClass; 00078 } 00079 virtual NLAIAGENT::IObjectIA *buildNewInstance() const; 00081 }; 00082 00083 class CGoalMsgClass : public CMessageClass 00084 { 00085 public: 00086 static const NLAIC::CIdentType IdGoalMsgClass; 00087 public: 00088 CGoalMsgClass(const NLAIAGENT::IVarName &); 00089 CGoalMsgClass(const NLAIC::CIdentType &); 00090 CGoalMsgClass(); 00091 virtual ~CGoalMsgClass(){} 00092 00094 00095 virtual const NLAIC::IBasicType *clone() const; 00096 virtual const NLAIC::IBasicType *newInstance() const; 00097 virtual const NLAIC::CIdentType &getType() const 00098 { 00099 return IdGoalMsgClass; 00100 } 00101 virtual NLAIAGENT::IObjectIA *buildNewInstance() const; 00103 }; 00104 00105 class CCancelGoalMsgClass : public CMessageClass 00106 { 00107 public: 00108 static const NLAIC::CIdentType IdCancelGoalMsgClass; 00109 public: 00110 CCancelGoalMsgClass(const NLAIAGENT::IVarName &); 00111 CCancelGoalMsgClass(const NLAIC::CIdentType &); 00112 CCancelGoalMsgClass(); 00113 virtual ~CCancelGoalMsgClass(){} 00114 00116 00117 virtual const NLAIC::IBasicType *clone() const; 00118 virtual const NLAIC::IBasicType *newInstance() const; 00119 virtual const NLAIC::CIdentType &getType() const 00120 { 00121 return IdCancelGoalMsgClass; 00122 } 00123 virtual NLAIAGENT::IObjectIA *buildNewInstance() const; 00125 }; 00126 00127 class CFactMsgClass : public CMessageClass 00128 { 00129 public: 00130 static const NLAIC::CIdentType IdFactMsgClass; 00131 public: 00132 CFactMsgClass(const NLAIAGENT::IVarName &); 00133 CFactMsgClass(const NLAIC::CIdentType &); 00134 CFactMsgClass(); 00135 virtual ~CFactMsgClass(){} 00136 00138 00139 virtual const NLAIC::IBasicType *clone() const; 00140 virtual const NLAIC::IBasicType *newInstance() const; 00141 virtual const NLAIC::CIdentType &getType() const 00142 { 00143 return IdFactMsgClass; 00144 } 00145 virtual NLAIAGENT::IObjectIA *buildNewInstance() const; 00147 }; 00148 00149 class CDebugMsgClass : public CMessageClass 00150 { 00151 public: 00152 static const NLAIC::CIdentType IdDebugMsgClass; 00153 public: 00154 CDebugMsgClass(const NLAIAGENT::IVarName &); 00155 CDebugMsgClass(const NLAIC::CIdentType &); 00156 CDebugMsgClass(); 00157 virtual ~CDebugMsgClass(){} 00158 00160 00161 virtual const NLAIC::IBasicType *clone() const; 00162 virtual const NLAIC::IBasicType *newInstance() const; 00163 virtual const NLAIC::CIdentType &getType() const 00164 { 00165 return IdDebugMsgClass; 00166 } 00167 virtual NLAIAGENT::IObjectIA *buildNewInstance() const; 00169 }; 00170 00171 class COnChangeMsgClass : public CMessageClass 00172 { 00173 public: 00174 static const NLAIC::CIdentType IdOnChangeMsgClass; 00175 public: 00176 COnChangeMsgClass(const NLAIAGENT::IVarName &); 00177 COnChangeMsgClass(const NLAIC::CIdentType &); 00178 COnChangeMsgClass(); 00179 virtual ~COnChangeMsgClass(){} 00180 00182 00183 virtual const NLAIC::IBasicType *clone() const; 00184 virtual const NLAIC::IBasicType *newInstance() const; 00185 virtual const NLAIC::CIdentType &getType() const 00186 { 00187 return IdOnChangeMsgClass; 00188 } 00189 virtual NLAIAGENT::IObjectIA *buildNewInstance() const; 00191 }; 00192 } 00193 #endif |