# Home    # nevrax.com   
Nevrax
Nevrax.org
#News
#Mailing-list
#Documentation
#CVS
#Bugs
#License
Docs
 
Documentation  
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Search  

var_mem.h

Go to the documentation of this file.
00001 
00007 /* Copyright, 2000 Nevrax Ltd.
00008  *
00009  * This file is part of NEVRAX NEL.
00010  * NEVRAX NEL is free software; you can redistribute it and/or modify
00011  * it under the terms of the GNU General Public License as published by
00012  * the Free Software Foundation; either version 2, or (at your option)
00013  * any later version.
00014 
00015  * NEVRAX NEL is distributed in the hope that it will be useful, but
00016  * WITHOUT ANY WARRANTY; without even the implied warranty of
00017  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00018  * General Public License for more details.
00019 
00020  * You should have received a copy of the GNU General Public License
00021  * along with NEVRAX NEL; see the file COPYING. If not, write to the
00022  * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
00023  * MA 02111-1307, USA.
00024  */
00025 
00026 #ifndef NL_VAR_MEM_H
00027 #define NL_VAR_MEM_H
00028 
00029 #include "nel/ai/agent/volatil_memory.h"
00030 
00031 namespace NLAILOGIC 
00032 {
00033 
00034         class CVarMem: public NLAIAGENT::CVolatilMemmory
00035         {
00036         public:
00037                 static const NLAIC::CIdentType *IdVarMem;
00038         public:
00039                 CVarMem(NLAIAGENT::IBaseGroupType *l = new NLAIAGENT::CGroupType) : NLAIAGENT::CVolatilMemmory(l) 
00040                 {
00041                 }
00042 
00043                 CVarMem(const CVarMem &l) : NLAIAGENT::CVolatilMemmory(l)
00044                 {
00045                 }
00046 
00047                 virtual ~CVarMem() {}
00048 
00049                 virtual const NLAIC::CIdentType &getType() const
00050                 {
00051                         return *IdVarMem;
00052                 }
00053 
00054                 virtual const NLAIC::IBasicType *newInstance() const
00055                 {                       
00056                         NLAIC::IBasicType *x = new CVarMem();           
00057                         return x;
00058                 }
00059 
00060                 virtual const NLAIC::IBasicType *clone() const
00061                 {                       
00062                         NLAIC::IBasicType *x = new CVarMem(*this);                      
00063                         return x;
00064                 }
00065                 
00066 
00067                 virtual void sendUpdateMessage(NLAIAGENT::IObjectIA *o)
00068                 {
00069                         CVolatilMemmory::sendUpdateMessage(o);
00070                 }
00071 
00072         public:
00073                 static void initClass();
00074                 static void releaseClass();
00075 
00076 
00077         };
00078 }
00079 
00080 #endif