diff options
Diffstat (limited to 'mail/mail-tools.h')
-rw-r--r-- | mail/mail-tools.h | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/mail/mail-tools.h b/mail/mail-tools.h new file mode 100644 index 0000000000..6d189c2ea5 --- /dev/null +++ b/mail/mail-tools.h @@ -0,0 +1,100 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ + +/* + * Author : + * Peter Williams <peterw@helixcode.com> + * + * Copyright 2000 Helix Code, Inc. (http://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 the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * 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 Place, Suite 330, Boston, MA 02111-1307 + * USA + */ + +#ifndef MAIL_TOOLS_H +#define MAIL_TOOLS_H + +#include <camel/camel.h> + +/* A global recursive lock on Camel */ +void mail_tool_camel_lock_up (void); +void mail_tool_camel_lock_down (void); + +/* Get a CamelFolder from a root url and a foldername (uses the global session)*/ +CamelFolder * +mail_tool_get_folder_from_urlname (const gchar *url, const gchar *name, CamelException *ex); + +/* Get the url for the local inbox */ +gchar * +mail_tool_get_local_inbox_url (void); + +/* Get the CamelFolder for the local inbox */ +CamelFolder * +mail_tool_get_local_inbox (CamelException *ex); + +/* Get the "inbox" for a url (uses global session) */ +CamelFolder * +mail_tool_get_inbox (const gchar *url, CamelException *ex); + +/* Does a camel_movemail into the local movemail folder + * and returns the movemail folder that was created. */ +CamelFolder * +mail_tool_do_movemail (const gchar *source_url, CamelException *ex); + +/* Transfers all the messages from source into dest; + * source is emptied and synced. */ +void +mail_tool_move_folder_contents (CamelFolder *source, CamelFolder *dest, gboolean use_cache, CamelException *ex); + +/* Sets the flags on a message represented by a UID in a folder. */ +void +mail_tool_set_uid_flags (CamelFolder *folder, const char *uid, guint32 mask, guint32 set); + +/* Generates the subject for a message forwarding @msg */ +gchar * +mail_tool_generate_forward_subject (CamelMimeMessage *msg); + +/* Sends the medium over transport */ +void +mail_tool_send_via_transport (CamelTransport *transport, CamelMedium *medium, CamelException *ex); + +/* Make a message into an attachment */ +CamelMimePart * +mail_tool_make_message_attachment (CamelMimeMessage *message); + +/* Fetch mail from the source URL's inbox into a searchable folder. + * (not guaranteed to be local). Returns the searchable folder. */ +CamelFolder * +mail_tool_fetch_mail_into_searchable (const char *source_url, gboolean keep_on_server, CamelException *ex); + +/* Filter source into dest using the default filters. */ +void +mail_tool_filter_contents_into (CamelFolder *source, CamelFolder *dest, + gpointer hook_func, gpointer hook_data, + CamelException *ex); + +/* Get the root folder of the store specified by @source_uri */ +CamelFolder * +mail_tool_get_root_of_store (const char *source_uri, CamelException *ex); + +/* Parse the ui into a real CamelFolder any way we know how. */ +CamelFolder * +mail_tool_uri_to_folder (const char *uri, CamelException *ex); + +/* Same as above taking no exceptions, popping up a GnomeErrorDialog + * if any problems occur. */ +CamelFolder * +mail_tool_uri_to_folder_noex (const char *uri); + +#endif |