Home | nevrax.com |
|
black_box.hGo 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_AI_BLACK_BOX_ 00027 #define NL_AI_BLACK_BOX_ 00028 00029 namespace NLAINIMAT 00030 { 00031 typedef std::string tString; 00032 typedef std::list<tString> tCommandList; 00033 typedef std::map<tString,CIdentType > tParameterList; 00042 class IBlackBox : public IObjectIA 00043 { 00044 public : 00045 00046 IBlackBox(); 00047 00056 virtual tCommandList getInputList() const = 0; 00057 00062 virtual tCommandList getOutputList() const = 0; 00063 00068 virtual tParameterList getParamInList() const = 0; 00069 00074 virtual tParameterList getParamOutList() const = 0; 00076 00077 00082 00083 virtual void setInput(tString inputName, bool) = 0; 00084 00086 virtual bool getOutput(tString outputName) = 0; 00087 00089 virtual void setParamIn(tString parameterName, IObjectIA val) = 0; 00090 00092 virtual const IObjectIA* getParamOut(tString parameterName) = 0; 00093 00097 virtual tParameterList getNeededParamIn () const = 0; 00099 }; 00100 } 00101 00102 #endif //NL_AI_BLACK_BOX_ |