1 /*******************************************************************************
2 *                                                                              *
3 * prefFile.h -- Nirvana Editor Preference File Header File                     *
4 *                                                                              *
5 * Copyright 2002 The NEdit Developers                                          *
6 *                                                                              *
7 * This is free software; you can redistribute it and/or modify it under the    *
8 * terms of the GNU General Public License as published by the Free Software    *
9 * Foundation; either version 2 of the License, or (at your option) any later   *
10 * version. In addition, you may distribute versions of this program linked to  *
11 * Motif or Open Motif. See README for details.                                 *
12 *                                                                              *
13 * This software is distributed in the hope that it will be useful, but WITHOUT *
14 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or        *
15 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for    *
16 * more details.                                                                *
17 *                                                                              *
18 * You should have received a copy of the GNU General Public License along with *
19 * software; if not, write to the Free Software Foundation, Inc., 59 Temple     *
20 * Place, Suite 330, Boston, MA  02111-1307 USA                                 *
21 *                                                                              *
22 * Nirvana Text Editor                                                          *
23 * July 31, 2001                                                                *
24 *                                                                              *
25 *******************************************************************************/
26 
27 #ifndef NEDIT_PREFFILE_H_INCLUDED
28 #define NEDIT_PREFFILE_H_INCLUDED
29 
30 #include <X11/Intrinsic.h>
31 
32 enum PrefDataTypes {PREF_INT, PREF_BOOLEAN, PREF_ENUM, PREF_STRING,
33 	PREF_ALLOC_STRING};
34 
35 typedef struct _PrefDescripRec {
36     char *name;
37     char *class;
38     int dataType;
39     char *defaultString;
40     void *valueAddr;
41     void *arg;
42     int save;
43 } PrefDescripRec;
44 
45 XrmDatabase CreatePreferencesDatabase(const char *fileName,
46          const char *appName, XrmOptionDescList opTable,
47          int nOptions, unsigned int *argcInOut, char **argvInOut);
48 void RestorePreferences(XrmDatabase prefDB, XrmDatabase appDB,
49 	const char *appName, const char *appClass, PrefDescripRec *rsrcDescrip, int nRsrc);
50 void OverlayPreferences(XrmDatabase prefDB, const char *appName,
51         const char *appClass, PrefDescripRec *rsrcDescrip, int nRsrc);
52 void RestoreDefaultPreferences(PrefDescripRec *rsrcDescrip, int nRsrc);
53 int SavePreferences(Display *display, const char *fileName,
54         const  char *fileHeader, PrefDescripRec *rsrcDescrip, int nRsrc);
55 
56 #endif /* NEDIT_PREFFILE_H_INCLUDED */
57