# HG changeset patch # User Nathan Walp # Date 1053294851 0 # Node ID e150a0cf4d6ea86fd1bb675b32a049b748c1a87d # Parent 7e8524b5ff9881a5dabadf5598b17e1f4dc19298 [gaim-migrate @ 5823] this would be helpful committer: Tailor Script diff -r 7e8524b5ff98 -r e150a0cf4d6e src/prefs.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/prefs.h Sun May 18 21:54:11 2003 +0000 @@ -0,0 +1,182 @@ +/** + * @file prefs.h Prefs API + * + * gaim + * + * Copyright (C) 2003, Nathan Walp + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + */ + +#ifndef _PREFS_H_ +#define _PREFS_H_ + +/** + * Pref data types. + */ +typedef enum _GaimPrefType +{ + GAIM_PREF_NONE, + GAIM_PREF_BOOLEAN, + GAIM_PREF_INT, + GAIM_PREF_STRING +} GaimPrefType; + +/** + * Pref change callback type + */ + +typedef void (*GaimPrefCallback) (const char *name, GaimPrefType type, + gpointer val, gpointer data); + +/**************************************************************************/ +/** @name Prefs API */ +/**************************************************************************/ +/*@{*/ + +/** + * Initialize core prefs + */ +void gaim_prefs_init(); + +/** + * Add a new typeless pref. + * + * @param name The name of the pref + */ +void gaim_prefs_add_none(const char *name); + +/** + * Add a new boolean pref. + * + * @param name The name of the pref + * @param value The initial value to set + */ +void gaim_prefs_add_bool(const char *name, gboolean value); + +/** + * Add a new integer pref. + * + * @param name The name of the pref + * @param value The initial value to set + */ +void gaim_prefs_add_int(const char *name, int value); + +/** + * Add a new string pref. + * + * @param name The name of the pref + * @param value The initial value to set + */ +void gaim_prefs_add_string(const char *name, const char *value); + +/** + * Remove a pref. + * + * @param name The name of the pref + */ +void gaim_prefs_remove(const char *name); + +/** + * Remove all prefs. + */ +void gaim_prefs_destroy(); + +/** + * Set raw pref value + * + * @param name The name of the pref + * @param value The value to set + */ +void gaim_prefs_set_generic(const char *name, gpointer value); + +/** + * Set boolean pref value + * + * @param name The name of the pref + * @param value The value to set + */ +void gaim_prefs_set_bool(const char *name, gboolean value); + +/** + * Set integer pref value + * + * @param name The name of the pref + * @param value The value to set + */ +void gaim_prefs_set_int(const char *name, int value); + +/** + * Set string pref value + * + * @param name The name of the pref + * @param value The value to set + */ +void gaim_prefs_set_string(const char *name, char *value); + +/** + * Get boolean pref value + * + * @param name The name of the pref + * @return The value of the pref + */ +gboolean gaim_prefs_get_bool(const char *name); + +/** + * Get integer pref value + * + * @param name The name of the pref + * @return The value of the pref + */ +int gaim_prefs_get_int(const char *name); + +/** + * Get string pref value + * + * @param name The name of the pref + * @return The value of the pref + */ +char *gaim_prefs_get_string(const char *name); + +/** + * Add a callback to a pref (and its children) + */ +guint gaim_prefs_connect_callback(const char *name, GaimPrefCallback cb, + gpointer data); + +/** + * Remove a callback to a pref + */ +void gaim_prefs_disconnect_callback(guint callback_id); + +/** + * Read preferences + */ +void gaim_prefs_load(); + +/** + * Write preferences + */ +void gaim_prefs_save(); + +/** + * Force an immediate write of preferences + */ +void gaim_prefs_sync(); + +/*@}*/ + +#endif /* _PREFS_H_ */