|
awsparm.h00001 #ifndef __AWS_FLEXIBLE_PARAMETER_LIST_INTERFACE__ 00002 #define __AWS_FLEXIBLE_PARAMETER_LIST_INTERFACE__ 00003 /************************************************************************** 00004 Copyright (C) 2001 by Christopher Nelson 00005 00006 This library is free software; you can redistribute it and/or 00007 modify it under the terms of the GNU Library General Public 00008 License as published by the Free Software Foundation; either 00009 version 2 of the License, or (at your option) any later version. 00010 00011 This library is distributed in the hope that it will be useful, 00012 but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00014 Library General Public License for more details. 00015 00016 You should have received a copy of the GNU Library General Public 00017 License along with this library; if not, write to the Free 00018 Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00019 *****************************************************************************/ 00020 00021 #include "csgeom/csrect.h" 00022 #include "csgeom/cspoint.h" 00023 #include "csutil/scfstr.h" 00024 #include "csutil/csvector.h" 00025 #include "csutil/csstrvec.h" 00026 00027 SCF_VERSION (iAwsParmList, 0, 0, 1); 00028 00029 /*********************************************************************************** 00030 * Provides support for safely passing named parameters through to different functions 00031 * in a portable manner. Note that awsParmList does not utilize copy semantics. In 00032 * the interests of space and speed, it simply takes a reference to the pointers passed 00033 * in. This means that you should NOT use an awsParmList if any parm it references 00034 * has gone out of scope! 00035 ***********************************************************************************/ 00036 struct iAwsParmList : public iBase 00037 { 00039 virtual void AddInt(char *name, int value)=0; 00041 virtual void AddFloat(char *name, float value)=0; 00043 virtual void AddBool(char *name, bool value)=0; 00045 virtual void AddString(char *name, iString* value)=0; 00047 virtual void AddBasicVector(char *name, csBasicVector* value)=0; 00049 virtual void AddStringVector(char *name, csStrVector* value)=0; 00051 virtual void AddRect(char *name, csRect *value)=0; 00053 virtual void AddPoint(char *name, csPoint *value)=0; 00054 00056 virtual bool GetInt(char *name, int *value)=0; 00058 virtual bool GetFloat(char *name, float *value)=0; 00060 virtual bool GetBool(char *name, bool *value)=0; 00062 virtual bool GetString(char *name, iString **value)=0; 00064 virtual bool GetBasicVector(char *name, csBasicVector **value)=0; 00066 virtual bool GetStringVector(char *name, csStrVector **value)=0; 00068 virtual bool GetRect(char *name, csRect **value)=0; 00070 virtual bool GetPoint(char *name, csPoint **value)=0; 00071 00073 virtual void Clear()=0; 00074 }; 00075 00076 #endif Generated for Crystal Space by doxygen 1.2.5 written by Dimitri van Heesch, ©1997-2000 |