aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-config.h
diff options
context:
space:
mode:
Diffstat (limited to 'mail/mail-config.h')
-rw-r--r--mail/mail-config.h119
1 files changed, 72 insertions, 47 deletions
diff --git a/mail/mail-config.h b/mail/mail-config.h
index bbf7176acb..5c40b832f2 100644
--- a/mail/mail-config.h
+++ b/mail/mail-config.h
@@ -1,7 +1,8 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-
/*
- * Copyright 2000, Helix Code, Inc. (http://www.helixcode.com)
+ * Authors: Jeffrey Stedfast <fejj@helixcode.com>
+ *
+ * Copyright 2001 Helix Code, Inc. (www.helixcode.com)
*
* 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
@@ -16,41 +17,58 @@
* 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 Street #330, Boston, MA 02111-1307, USA.
+ *
*/
-#ifndef _MAIL_CONFIG_H
-#define _MAIL_CONFIG_H
-
-
+#ifndef MAIL_CONFIG_H
+#define MAIL_CONFIG_H
#include <glib.h>
-#include <camel/camel-folder.h>
+#include <camel/camel.h>
-typedef struct
-{
+#ifdef __cplusplus
+extern "C" {
+#pragma }
+#endif /* __cplusplus */
+
+typedef struct {
gchar *name;
gchar *address;
- gchar *org;
- gchar *sig;
+ gchar *reply_to;
+ gchar *organization;
+ gchar *signature;
} MailConfigIdentity;
-typedef struct
-{
+typedef struct {
gchar *url;
gboolean keep_on_server;
- gboolean remember_password;
+ gboolean save_passwd;
+ gboolean use_ssl;
} MailConfigService;
+typedef struct {
+ gchar *name;
+ gboolean default_account;
+
+ MailConfigIdentity *id;
+ MailConfigService *source;
+ MailConfigService *transport;
+} MailConfigAccount;
+
/* Identities */
-MailConfigIdentity *identity_copy (MailConfigIdentity *id);
+MailConfigIdentity *identity_copy (const MailConfigIdentity *id);
void identity_destroy (MailConfigIdentity *id);
-void identity_destroy_each (gpointer item, gpointer data);
/* Services */
-MailConfigService *service_copy (MailConfigService *source);
+MailConfigService *service_copy (const MailConfigService *source);
void service_destroy (MailConfigService *source);
void service_destroy_each (gpointer item, gpointer data);
+/* Accounts */
+MailConfigAccount *account_copy (const MailConfigAccount *account);
+void account_destroy (MailConfigAccount *account);
+void account_destroy_each (gpointer item, gpointer data);
+
/* Configuration */
void mail_config_init (void);
void mail_config_clear (void);
@@ -58,38 +76,45 @@ void mail_config_write (void);
void mail_config_write_on_exit (void);
/* General Accessor functions */
-gboolean mail_config_is_configured (void);
-gboolean mail_config_thread_list (void);
-gboolean mail_config_view_source (void);
-gint mail_config_paned_size (void);
-void mail_config_set_thread_list (gboolean value);
-void mail_config_set_view_source (gboolean value);
-void mail_config_set_paned_size (gint size);
-gboolean mail_config_send_html (void);
-void mail_config_set_send_html (gboolean send_html);
-gint mail_config_mark_as_seen_timeout (void);
-void mail_config_set_mark_as_seen_timeout (gint timeout);
-
-/* Identity Accessor functions */
-MailConfigIdentity *mail_config_get_default_identity (void);
-void mail_config_add_identity (MailConfigIdentity *id);
-GSList *mail_config_get_identities (void);
-
-/* Service Accessor functions */
-MailConfigService *mail_config_get_default_source (void);
-GSList *mail_config_get_sources (void);
-void mail_config_add_source (MailConfigService *source);
-
-MailConfigService *mail_config_get_transport (void);
-void mail_config_set_transport (MailConfigService *transport);
-
-MailConfigService *mail_config_get_default_news (void);
-GSList *mail_config_get_news (void);
-void mail_config_add_news (MailConfigService *source);
+gboolean mail_config_is_configured (void);
+
+gboolean mail_config_get_thread_list (void);
+void mail_config_set_thread_list (gboolean value);
+
+gboolean mail_config_get_view_source (void);
+void mail_config_set_view_source (gboolean value);
+
+gint mail_config_get_paned_size (void);
+void mail_config_set_paned_size (gint size);
+
+gboolean mail_config_get_send_html (void);
+void mail_config_set_send_html (gboolean send_html);
+
+gint mail_config_get_mark_as_seen_timeout (void);
+void mail_config_set_mark_as_seen_timeout (gint timeout);
+
+const MailConfigAccount *mail_config_get_default_account (void);
+const GSList *mail_config_get_accounts (void);
+void mail_config_add_account (MailConfigAccount *account);
+void mail_config_set_default_account (const MailConfigAccount *account);
+
+const MailConfigIdentity *mail_config_get_default_identity (void);
+const MailConfigService *mail_config_get_default_transport (void);
+
+const MailConfigService *mail_config_get_default_news (void);
+const GSList *mail_config_get_news (void);
+void mail_config_add_news (MailConfigService *news);
+
+/* convenience functions to help ease the transition over to the new codebase */
+GSList *mail_config_get_sources (void);
/* static utility functions */
-char *mail_config_folder_to_cachename(CamelFolder *folder, const char *prefix);
+char *mail_config_folder_to_cachename (CamelFolder *folder, const char *prefix);
-#endif
+gboolean mail_config_check_service (CamelURL *url, CamelProviderType type, GList **authtypes);
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+#endif /* MAIL_CONFIG_H */