eurephia_values.h

Go to the documentation of this file.
00001 /* eurephia_values.h  --  Generic interface for processing key->value pairs
00002  *
00003  *  GPLv2 only - Copyright (C) 2008 - 2010
00004  *               David Sommerseth <dazo@users.sourceforge.net>
00005  *
00006  *  This program is free software; you can redistribute it and/or
00007  *  modify it under the terms of the GNU General Public License
00008  *  as published by the Free Software Foundation; version 2
00009  *  of the License.
00010  *
00011  *  This program 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
00014  *  GNU General Public License for more details.
00015  *
00016  *  You should have received a copy of the GNU General Public License
00017  *  along with this program; if not, write to the Free Software
00018  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
00019  *
00020  */
00021 
00031 #ifndef         EUREPHIA_VALUES_H_
00032 # define        EUREPHIA_VALUES_H_
00033 
00034 #include <eurephia_context.h>
00035 
00036 eurephiaVALUES *eGet_valuestruct(eurephiaVALUES *vls, const char *key);
00037 char *eGet_value(eurephiaVALUES *vls, const char *key);
00038 
00039 eurephiaVALUES *eCreate_value_space(eurephiaCTX *ctx, int evid);
00040 
00041 void eAdd_valuestruct(eurephiaCTX *ctx, eurephiaVALUES *vls, eurephiaVALUES *newval);
00042 void eAdd_value(eurephiaCTX *ctx, eurephiaVALUES *vls, const char *key, const char *val);
00043 eurephiaVALUES *eRemove_value(eurephiaCTX *ctx, eurephiaVALUES *vls, unsigned int evgid, unsigned int evid);
00044 
00053 #define eFree_values(c, v) { eFree_values_func(c, v); v = NULL; }
00054 void eFree_values_func(eurephiaCTX *ctx, eurephiaVALUES *vls);
00055 
00056 #endif      /* !EUREPHIA_VALUES_H_ */
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines