source: set.h @ 5100caa

Last change on this file since 5100caa was 5100caa, checked in by Wilmer van der Gaast <wilmer@…>, at 2006-07-01T15:52:05Z

Added "account set" command.

  • Property mode set to 100644
File size: 2.2 KB
RevLine 
[b7d3cc34]1  /********************************************************************\
2  * BitlBee -- An IRC to other IM-networks gateway                     *
3  *                                                                    *
[5c9512f]4  * Copyright 2002-2006 Wilmer van der Gaast and others                *
[b7d3cc34]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{
[5c9512f]28        void *data;
29       
[b7d3cc34]30        char *key;
31        char *value;
32        char *def;      /* Default */
33       
[5100caa]34        int flags;
35       
[5c9512f]36        /* Eval: Returns NULL if the value is incorrect or exactly the
37           passed value variable. When returning a corrected value,
38           set_setstr() should be able to free() the returned string! */
39        char *(*eval) ( struct set *set, char *value );
[b7d3cc34]40        struct set *next;
41} set_t;
42
[5c9512f]43set_t *set_add( set_t **head, char *key, char *def, void *eval, void *data );
[5100caa]44set_t *set_find( set_t **head, char *key );
[5c9512f]45G_MODULE_EXPORT char *set_getstr( set_t **head, char *key );
46G_MODULE_EXPORT int set_getint( set_t **head, char *key );
47int set_setstr( set_t **head, char *key, char *value );
48int set_setint( set_t **head, char *key, int value );
49void set_del( set_t **head, char *key );
[b7d3cc34]50
[5c9512f]51char *set_eval_int( set_t *set, char *value );
52char *set_eval_bool( set_t *set, char *value );
[1719464]53
[5c9512f]54char *set_eval_to_char( set_t *set, char *value );
55char *set_eval_ops( set_t *set, char *value );
56char *set_eval_charset( set_t *set, char *value );
Note: See TracBrowser for help on using the repository browser.