2007-04-18 Murray Cumming <murrayc@murrayc.com>
[modest] / src / modest-defs.h
index b92d044..57550cb 100644 (file)
 
 #include <glib/gi18n.h>
 
-/* exit codes for the modest executable*/
-enum {
-       MODEST_ERR_NONE    = 0,  /* no error */
-       MODEST_ERR_OPTIONS,      /* error in the options */
-       MODEST_ERR_CONF,         /* error getting confuration db */
-       MODEST_ERR_UI,           /* error in the UI */
-       MODEST_ERR_HILDON,       /* error with Hildon (maemo-only) */
-       MODEST_ERR_RUN,          /* errr running */
-       MODEST_ERR_SEND,         /* error sending mail */
-       MODEST_ERR_PARAM,        /* error in one or more of the parameters */
-       MODEST_ERR_INIT          /* error in initialization */
-};
-
-
 /* some interesting dirs. NOTE, they should be prefixed
  * with $HOME; also, except MODEST_DIR itself, they
  * need to be prefixed with MODEST_DIR;
@@ -56,23 +42,47 @@ enum {
  */
 #define MODEST_DIR                       ".modest"
 #define MODEST_CACHE_DIR                  "cache"
-#define MODEST_LOCAL_FOLDERS_MAILDIR      "local_folders"
-#define MODEST_LOCAL_FOLDERS_ACCOUNT_NAME "local_folders"
-#define MODEST_LOCAL_FOLDERS_DISPLAY_NAME N_("Local folders")
+
+#define MODEST_LOCAL_FOLDERS_ACCOUNT_ID   "local_folders"
+#define MODEST_LOCAL_FOLDERS_ACCOUNT_NAME MODEST_LOCAL_FOLDERS_ACCOUNT_ID
+#define MODEST_LOCAL_FOLDERS_MAILDIR      MODEST_LOCAL_FOLDERS_ACCOUNT_ID
+
+#define MODEST_MMC_ACCOUNT_ID             "mcc"
+#define MODEST_MCC_ACCOUNT_MAILDIR       "/media/mmc1/.Maildir"
 
 /* configuration key definitions for modest */
 #define MODEST_CONF_NAMESPACE          "/apps/modest"
 
+/* configuration key definitions for modest */
+#define MODEST_ACCOUNT_NAMESPACE         MODEST_CONF_NAMESPACE "/accounts"
+#define MODEST_CONF_DEFAULT_ACCOUNT      MODEST_CONF_NAMESPACE "/default_account"
+
+#define MODEST_CONF_REPLY_TYPE           MODEST_CONF_NAMESPACE "/reply_type"        /*  int  */
+#define MODEST_CONF_FORWARD_TYPE         MODEST_CONF_NAMESPACE "/forward_type"      /*  int  */
+
+#define MODEST_CONF_CONNECT_AT_STARTUP   MODEST_CONF_NAMESPACE "/connect_at_startup"      
+
+#define MODEST_CONF_SHOW_CC              MODEST_CONF_NAMESPACE "/show_cc"           
+#define MODEST_CONF_SHOW_BCC             MODEST_CONF_NAMESPACE "/show_bcc"           
+#define MODEST_CONF_SHOW_TOOLBAR         MODEST_CONF_NAMESPACE "/show_toolbar"
+#define MODEST_CONF_SHOW_TOOLBAR_FULLSCREEN         MODEST_CONF_NAMESPACE "/show_toolbar_fullscreen"
+
+/*
+ * in the maemo case, we try to replace this
+ * with the device name
+ */
+#define MODEST_LOCAL_FOLDERS_DEFAULT_DISPLAY_NAME  N_("Local folders")
+
+/* the name of the device; in case of maemo this is set and updated
+ * using dbus; see modest-maemo-utils.[ch]
+ */
+#define MODEST_CONF_DEVICE_NAME       MODEST_CONF_NAMESPACE "/device_name"
+
+
 /* place for widget settings */
 #define MODEST_CONF_WIDGET_NAMESPACE     MODEST_CONF_NAMESPACE "/widgets"
 
-/* configuration key definitions for modest */
-#define MODEST_ACCOUNT_NAMESPACE         MODEST_CONF_NAMESPACE "/" "accounts"
-#define MODEST_CONF_DEFAULT_ACCOUNT      MODEST_CONF_NAMESPACE "/" "default_account"
-
 #define MODEST_SERVER_ACCOUNT_NAMESPACE  MODEST_CONF_NAMESPACE "/" "server_accounts"
-#define MODEST_CONF_REPLY_TYPE           "reply_type"        /*  int  */
-#define MODEST_CONF_FORWARD_TYPE         "forward_type"      /*  int  */
 
 
 /* per-account data */
@@ -84,16 +94,50 @@ enum {
 
 /* server account keys */
 #define MODEST_ACCOUNT_PASSWORD          "password"          /* string */
-#define MDOEST_ACCOUNT_REMEMBER_PWD     "remember_pwd"      /* boolean */
+#define MODEST_ACCOUNT_REMEMBER_PWD     "remember_pwd"      /* boolean */
 #define MODEST_ACCOUNT_HOSTNAME          "hostname"          /* string */
 #define MODEST_ACCOUNT_USERNAME          "username"          /* string */
+#define MODEST_ACCOUNT_URI              "uri"               /* string */
+
 #define MODEST_ACCOUNT_PROTO             "proto"             /* string */
 #define MODEST_ACCOUNT_ENABLED          "enabled"           /* boolean */
 #define MODEST_ACCOUNT_TYPE             "type"              /* string */
+#define MODEST_ACCOUNT_LAST_UPDATED      "last_updated"      /* int */
 
 #define MODEST_ACCOUNT_LEAVE_ON_SERVER   "leave_on_server"   /* boolean */
 #define MODEST_ACCOUNT_PREFERRED_CNX     "preferred_cnx"     /* string */
+#define MODEST_ACCOUNT_PORT                     "port"              /* int */
 #define MODEST_ACCOUNT_OPTIONS          "options"           /* list */
 
+#define MODEST_ACCOUNT_AUTH_MECH        "auth_mech"         /* string */
+#define MODEST_ACCOUNT_AUTH_MECH_VALUE_NONE "none"
+#define MODEST_ACCOUNT_AUTH_MECH_VALUE_PASSWORD "password"
+#define MODEST_ACCOUNT_AUTH_MECH_VALUE_CRAMMD5 "cram-md5"
+
+#define MODEST_ACCOUNT_RETRIEVE         "retrieve"          /* string */
+#define MODEST_ACCOUNT_RETRIEVE_VALUE_HEADERS_ONLY "headers-only"
+#define MODEST_ACCOUNT_RETRIEVE_VALUE_MESSAGES "messages"
+#define MODEST_ACCOUNT_RETRIEVE_VALUE_MESSAGES_AND_ATTACHMENTS "messages-and-attachments"
+
+#define MODEST_ACCOUNT_LIMIT_RETRIEVE   "limit-retrieve"            /* int */
+
+/* Keys and values used in the text items in the options GSList: */
+#define MODEST_ACCOUNT_OPTION_SECURITY "security"
+#define MODEST_ACCOUNT_OPTION_SECURITY_VALUE_NONE "none"
+#define MODEST_ACCOUNT_OPTION_SECURITY_VALUE_NORMAL "normal"
+#define MODEST_ACCOUNT_OPTION_SECURITY_VALUE_SSL "ssl"
+
+
+/* Options keys that correspond directly to camel options.
+ * These probably should not be written to user configuration, 
+ * because they are specific API implementation details. */
+#define MODEST_ACCOUNT_OPTION_SSL "use_ssl"
+#define MODEST_ACCOUNT_OPTION_SSL_NEVER "never"
+#define MODEST_ACCOUNT_OPTION_SSL_ALWAYS "always"
+#define MODEST_ACCOUNT_OPTION_SSL_WHEN_POSSIBLE "when-possible"
+
+#define MODEST_ACCOUNT_OPTION_USE_LSUB "use_lsub"
+#define MODEST_ACCOUNT_OPTION_CHECK_ALL "check_all"
+
 
 #endif /*__MODEST_DEFS_H__*/