1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
3 * Authors: Jeffrey Stedfast <fejj@ximian.com>
5 * Copyright 2003 Ximian, Inc. (www.ximian.com)
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307, USA.
23 #ifndef __EM_UTILS_H__
24 #define __EM_UTILS_H__
31 #endif /* __cplusplus */
33 #include <sys/types.h>
38 struct _CamelInternetAddress
;
40 struct _CamelMimeMessage
;
41 struct _CamelMimePart
;
42 struct _GtkSelectionData
;
43 struct _GtkAdjustment
;
44 struct _CamelException
;
47 gboolean
em_utils_prompt_user(struct _GtkWindow
*parent
, const char *promptkey
, const char *tag
, const char *arg0
, ...);
49 GPtrArray
*em_utils_uids_copy (GPtrArray
*uids
);
50 void em_utils_uids_free (GPtrArray
*uids
);
52 gboolean
em_utils_configure_account (struct _GtkWidget
*parent
);
53 gboolean
em_utils_check_user_can_send_mail (struct _GtkWidget
*parent
);
55 void em_utils_edit_filters (struct _GtkWidget
*parent
);
56 void em_utils_edit_vfolders (struct _GtkWidget
*parent
);
58 void em_utils_save_part(struct _GtkWidget
*parent
, const char *prompt
, struct _CamelMimePart
*part
);
59 gboolean
em_utils_save_part_to_file(struct _GtkWidget
*parent
, const char *filename
, struct _CamelMimePart
*part
);
60 void em_utils_save_messages (struct _GtkWidget
*parent
, struct _CamelFolder
*folder
, GPtrArray
*uids
);
62 void em_utils_add_address(struct _GtkWidget
*parent
, const char *email
);
64 void em_utils_flag_for_followup (struct _GtkWidget
*parent
, struct _CamelFolder
*folder
, GPtrArray
*uids
);
65 void em_utils_flag_for_followup_clear (struct _GtkWidget
*parent
, struct _CamelFolder
*folder
, GPtrArray
*uids
);
66 void em_utils_flag_for_followup_completed (struct _GtkWidget
*parent
, struct _CamelFolder
*folder
, GPtrArray
*uids
);
68 /* This stuff that follows probably doesn't belong here, then again, the stuff above probably belongs elsewhere */
70 void em_utils_selection_set_mailbox(struct _GtkSelectionData
*data
, struct _CamelFolder
*folder
, GPtrArray
*uids
);
71 void em_utils_selection_get_mailbox(struct _GtkSelectionData
*data
, struct _CamelFolder
*folder
);
72 void em_utils_selection_get_message(struct _GtkSelectionData
*data
, struct _CamelFolder
*folder
);
73 /* FIXME: be nice if these also worked on struct _CamelFolder's, no easy way to get uri from folder yet tho */
74 void em_utils_selection_set_uidlist(struct _GtkSelectionData
*data
, const char *uri
, GPtrArray
*uids
);
75 void em_utils_selection_get_uidlist(struct _GtkSelectionData
*data
, struct _CamelFolder
*dest
, int move
, struct _CamelException
*ex
);
76 void em_utils_selection_set_urilist(struct _GtkSelectionData
*data
, struct _CamelFolder
*folder
, GPtrArray
*uids
);
77 void em_utils_selection_get_urilist(struct _GtkSelectionData
*data
, struct _CamelFolder
*folder
);
79 char *em_utils_temp_save_part(struct _GtkWidget
*parent
, struct _CamelMimePart
*part
);
80 void em_utils_save_parts (struct _GtkWidget
*parent
, const char *prompt
, GSList
* parts
);
82 gboolean
em_utils_folder_is_drafts(struct _CamelFolder
*folder
, const char *uri
);
83 gboolean
em_utils_folder_is_sent(struct _CamelFolder
*folder
, const char *uri
);
84 gboolean
em_utils_folder_is_outbox(struct _CamelFolder
*folder
, const char *uri
);
86 void em_utils_adjustment_page(struct _GtkAdjustment
*adj
, gboolean down
);
88 char *em_utils_get_proxy_uri(void);
90 /* FIXME: should this have an override charset? */
91 char *em_utils_part_to_html(struct _CamelMimePart
*part
, ssize_t
*len
, struct _EMFormat
*source
);
92 char *em_utils_message_to_html(struct _CamelMimeMessage
*msg
, const char *credits
, guint32 flags
, ssize_t
*len
, struct _EMFormat
*source
);
94 void em_utils_expunge_folder (struct _GtkWidget
*parent
, struct _CamelFolder
*folder
);
95 void em_utils_empty_trash (struct _GtkWidget
*parent
);
97 /* returns the folder name portion of an URI */
98 char *em_utils_folder_name_from_uri (const char *uri
);
100 /* internal/camel uri translation */
101 char *em_uri_from_camel (const char *curi
);
102 char *em_uri_to_camel (const char *euri
);
104 /* is this address in the addressbook? caches results */
105 gboolean
em_utils_in_addressbook(struct _CamelInternetAddress
*addr
);
107 const char *em_utils_snoop_type(struct _CamelMimePart
*part
);
111 #endif /* __cplusplus */
113 #endif /* __EM_UTILS_H__ */