]> git.deb.at Git - pkg/abook.git/blobdiff - options.h
new configuration system
[pkg/abook.git] / options.h
index e45831447a320a99c9424b0f10f9b7b3ab451611..13e97098ed7c05ae97b3a0f07c1273312e0ac000 100644 (file)
--- a/options.h
+++ b/options.h
@@ -1,16 +1,55 @@
 #ifndef _OPTIONS_H
 #define _OPTIONS_H
 
-#define RCFILE         "abookrc"
-#define SYSWIDE_RCFILE "/etc/abookrc"
+#if 0
+typedef int bool;
+#else
+#      include <abook_curses.h> /* bool */
+#endif
+
+/*
+ * bool options
+ */
+
+
+enum bool_opts {
+       BOOL_AUTOSAVE,
+       BOOL_SHOW_ALL_EMAILS,
+       BOOL_MUTT_RETURN_ALL_EMAILS,
+       BOOL_USE_ASCII_ONLY,
+       BOOL_MAX
+};
+
+/*
+ * int options
+ */
+
+enum int_opts {
+       INT_EMAILPOS,
+       INT_EXTRAPOS,
+       INT_MAX
+};
+
+/*
+ * string options
+ */
+
+enum str_opts {
+       STR_EXTRA_COLUMN,
+       STR_EXTRA_ALTERNATIVE,
+       STR_MUTT_COMMAND,
+       STR_PRINT_COMMAND,
+       STR_WWW_COMMAND,
+       STR_ADDRESS_STYLE,
+       STR_MAX
+};
 
-#include "conff.h"
 
-int    options_get_int(char *key);
-char   *options_get_str(char *key);
-void   init_options();
-void   close_config();
-void   load_options();
-void   save_options();
+int            opt_get_int(enum int_opts opt);
+bool           opt_get_bool(enum bool_opts opt);
+char *         opt_get_str(enum str_opts opt);
+void           init_opts();
+void           free_opts();
+int            load_opts(char *filename);
 
 #endif