00001 #if !defined(_XMLVALUABLE_HPP) 00002 #define _XMLVALUABLE_HPP 00003 //============================================================================= 00004 // 00005 // XDFLengine library 00006 // 00007 //----------------------------------------------------------------------------- 00008 // XMLVALUABLE.HPP 00009 //----------------------------------------------------------------------------- 00015 //_____________________________________________________________________________ 00016 // 00017 // Copyright (C) 2003 Guillaume Baurand. All Rights Reserved. 00018 // 00019 // This file is part of the XDFLengine project. 00020 // 00021 // The XDFLengine is free software; you can redistribute it and/or modify 00022 // it under the terms of the GNU General Public License as published by 00023 // the Free Software Foundation; either version 2 of the License, or 00024 // (at your option) any later version. 00025 // 00026 // This program is distributed in the hope that it will be useful, 00027 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00028 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00029 // GNU General Public License for more details. 00030 // 00031 // You should have received a copy of the GNU General Public License 00032 // along with this program; if not, write to the Free Software 00033 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 00034 // USA. 00035 // 00036 // For more information, 00037 // contact : guillaume@baurand.net 00038 // or visit : http://xdflengine.sourceforge.net 00039 // 00040 //============================================================================= 00041 00042 # include "config/commonincs.hpp" 00043 00044 BEGIN_XDFLENGINE_NS 00045 00046 class XMLValuer; 00047 00048 //============================================================================= 00049 // CLASS XMLVALUABLE 00050 //----------------------------------------------------------------------------- 00052 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 00053 class XDFLENGINE_EXPORT XMLValuable 00054 { 00055 00056 private: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 00057 00058 VAarray< XMLValuer* > m_vaValuers; 00059 00060 public: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 00061 00062 //_____________________________________________________________________ 00063 // XMLVALUABLE 00064 //--------------------------------------------------------------------- 00066 //_____________________________________________________________________ 00067 XMLValuable(); 00068 00069 //_____________________________________________________________________ 00070 // ~XMLVALUABLE 00071 //--------------------------------------------------------------------- 00073 //_____________________________________________________________________ 00074 virtual ~XMLValuable(); 00075 00076 //_____________________________________________________________________ 00077 // GETVALUER 00078 //--------------------------------------------------------------------- 00083 //_____________________________________________________________________ 00084 XMLValuer* getValuer(const char* p_pszName) const; 00085 00086 //_____________________________________________________________________ 00087 // ADDVALUER 00088 //--------------------------------------------------------------------- 00094 //_____________________________________________________________________ 00095 void addValuer ( XMLValuer* p_pValuer, const char* p_pszName); 00096 00097 //_____________________________________________________________________ 00098 // CALCULATEVALUE 00099 //--------------------------------------------------------------------- 00101 // 00104 //_____________________________________________________________________ 00105 char* calculateValue(const char* p_pszValue); 00106 }; 00107 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 00108 //============================================================================= 00109 00110 END_XDFLENGINE_NS 00111 00112 00113 #endif