source: set.h @ 85cf37f

Last change on this file since 85cf37f was b7d3cc34, checked in by Wilmer van der Gaast <wilmer@…>, at 2005-11-06T18:23:18Z

Initial repository (0.99 release tree)

  • Property mode set to 100644
File size: 2.1 KB
Line 
1  /********************************************************************\
2  * BitlBee -- An IRC to other IM-networks gateway                     *
3  *                                                                    *
4  * Copyright 2002-2004 Wilmer van der Gaast and others                *
5  \********************************************************************/
6
7/* Some stuff to register, handle and save user preferences             */
8
9/*
10  This program is free software; you can redistribute it and/or modify
11  it under the terms of the GNU General Public License as published by
12  the Free Software Foundation; either version 2 of the License, or
13  (at your option) any later version.
14
15  This program is distributed in the hope that it will be useful,
16  but WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  GNU General Public License for more details.
19
20  You should have received a copy of the GNU General Public License with
21  the Debian GNU/Linux distribution in /usr/share/common-licenses/GPL;
22  if not, write to the Free Software Foundation, Inc., 59 Temple Place,
23  Suite 330, Boston, MA  02111-1307  USA
24*/
25
26typedef struct set
27{
28        char *key;
29        char *value;
30        char *def;      /* Default */
31       
32        /* Eval: Returns NULL if the value is incorrect. Can return a
33           corrected value. set_setstr() should be able to free() the
34           returned string! */
35        char *(*eval) ( irc_t *irc, struct set *set, char *value );
36        struct set *next;
37} set_t;
38
39set_t *set_add( irc_t *irc, char *key, char *def, void *eval );
40G_MODULE_EXPORT set_t *set_find( irc_t *irc, char *key );
41G_MODULE_EXPORT char *set_getstr( irc_t *irc, char *key );
42G_MODULE_EXPORT int set_getint( irc_t *irc, char *key );
43int set_setstr( irc_t *irc, char *key, char *value );
44int set_setint( irc_t *irc, char *key, int value );
45void set_del( irc_t *irc, char *key );
46
47char *set_eval_int( irc_t *irc, set_t *set, char *value );
48char *set_eval_bool( irc_t *irc, set_t *set, char *value );
49char *set_eval_to_char( irc_t *irc, set_t *set, char *value );
50char *set_eval_ops( irc_t *irc, set_t *set, char *value );
51
52
Note: See TracBrowser for help on using the repository browser.