/*
 * e-mail-reader-utils.h
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2 of the License, or (at your option) version 3.
 *
 * 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
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with the program; if not, see <http://www.gnu.org/licenses/>
 *
 *
 * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
 *
 */

/* Miscellaneous utility functions used by EMailReader actions. */

#ifndef E_MAIL_READER_UTILS_H
#define E_MAIL_READER_UTILS_H

#include <mail/e-mail-reader.h>

G_BEGIN_DECLS

typedef struct _EMailReaderHeader EMailReaderHeader;

struct _EMailReaderHeader {
	gchar *name;
	guint enabled : 1;
	guint is_default : 1;
};

gboolean	e_mail_reader_confirm_delete	(EMailReader *reader);
void		e_mail_reader_delete_folder	(EMailReader *reader,
						 CamelFolder *folder);
void		e_mail_reader_delete_folder_name
						(EMailReader *reader,
						 CamelStore *store,
						 const gchar *folder_name);
void		e_mail_reader_expunge_folder	(EMailReader *reader,
						 CamelFolder *folder);
void		e_mail_reader_expunge_folder_name
						(EMailReader *reader,
						 CamelStore *store,
						 const gchar *folder_name);
void		e_mail_reader_refresh_folder	(EMailReader *reader,
						 CamelFolder *folder);
void		e_mail_reader_refresh_folder_name
						(EMailReader *reader,
						 CamelStore *store,
						 const gchar *folder_name);
void		e_mail_reader_unsubscribe_folder_name
						(EMailReader *reader,
						 CamelStore *store,
						 const gchar *folder_name);
guint		e_mail_reader_mark_selected	(EMailReader *reader,
						 guint32 mask,
						 guint32 set);
guint		e_mail_reader_open_selected	(EMailReader *reader);
void		e_mail_reader_print		(EMailReader *reader,
						 GtkPrintOperationAction action);
void		e_mail_reader_remove_attachments
						(EMailReader *reader);
void		e_mail_reader_remove_duplicates	(EMailReader *reader);
void		e_mail_reader_reply_to_message	(EMailReader *reader,
						 CamelMimeMessage *message,
						 EMailReplyType reply_type);
void		e_mail_reader_save_messages	(EMailReader *reader);
void		e_mail_reader_select_next_message
						(EMailReader *reader,
						 gboolean or_else_previous);
void		e_mail_reader_create_filter_from_selected
						(EMailReader *reader,
						 gint filter_type);
void		e_mail_reader_create_vfolder_from_selected
						(EMailReader *reader,
						 gint filter_type);

EMailReaderHeader *
		e_mail_reader_header_from_xml	(const gchar *xml);
gchar *		e_mail_reader_header_to_xml	(EMailReaderHeader *header);
void		e_mail_reader_header_free	(EMailReaderHeader *header);

void		e_mail_reader_parse_message
						(EMailReader *reader,
						 CamelFolder *folder,
						 const gchar *message_uid,
						 CamelMimeMessage *message,
						 GCancellable *cancellable,
						 GAsyncReadyCallback ready_callback,
						 gpointer user_data);

EMailPartList *
		e_mail_reader_parse_message_finish
						(EMailReader *reader,
						 GAsyncResult *result);

G_END_DECLS

#endif /* E_MAIL_READER_UTILS_H */
'branches/2014Q4'>branches/2014Q4</option>
<option value='branches/2015Q1'>branches/2015Q1</option>
<option value='branches/2015Q2'>branches/2015Q2</option>
<option value='branches/2015Q3'>branches/2015Q3</option>
<option value='branches/2015Q4'>branches/2015Q4</option>
<option value='branches/2016Q1'>branches/2016Q1</option>
<option value='branches/2016Q2'>branches/2016Q2</option>
<option value='branches/2016Q3'>branches/2016Q3</option>
<option value='branches/2016Q4'>branches/2016Q4</option>
<option value='branches/2017Q1'>branches/2017Q1</option>
<option value='branches/2017Q2'>branches/2017Q2</option>
<option value='branches/2017Q3'>branches/2017Q3</option>
<option value='branches/2017Q4'>branches/2017Q4</option>
<option value='branches/2018Q1'>branches/2018Q1</option>
<option value='branches/2018Q2'>branches/2018Q2</option>
<option value='branches/2018Q3'>branches/2018Q3</option>
<option value='branches/2018Q4'>branches/2018Q4</option>
<option value='branches/2019Q1'>branches/2019Q1</option>
<option value='branches/2019Q2'>branches/2019Q2</option>
<option value='branches/2019Q3'>branches/2019Q3</option>
<option value='branches/2019Q4'>branches/2019Q4</option>
<option value='branches/2020Q1'>branches/2020Q1</option>
<option value='branches/2020Q2'>branches/2020Q2</option>
<option value='branches/2020Q3'>branches/2020Q3</option>
<option value='branches/2020Q4'>branches/2020Q4</option>
<option value='branches/2021Q1'>branches/2021Q1</option>
<option value='branches/RELEASE_8_4_0'>branches/RELEASE_8_4_0</option>
<option value='branches/RELENG_2_1_0'>branches/RELENG_2_1_0</option>
<option value='branches/RELENG_2_2'>branches/RELENG_2_2</option>
<option value='branches/RELENG_9_1_0'>branches/RELENG_9_1_0</option>
<option value='branches/RELENG_9_2_0'>branches/RELENG_9_2_0</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/eslint-utils-1.4.3'>dependabot/npm_and_yarn/devel/electron4/files/eslint-utils-1.4.3</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/lodash-4.17.15'>dependabot/npm_and_yarn/devel/electron4/files/lodash-4.17.15</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/lodash.merge-4.6.2'>dependabot/npm_and_yarn/devel/electron4/files/lodash.merge-4.6.2</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/lodash.template-4.5.0'>dependabot/npm_and_yarn/devel/electron4/files/lodash.template-4.5.0</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/minimist-1.2.2'>dependabot/npm_and_yarn/devel/electron4/files/minimist-1.2.2</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2' selected='selected'>dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2</option>
<option value='main'>main</option>
<option value='master'>master</option>
<option value='svn_head'>svn_head</option>
</select> <input type='submit' value='switch'/></form></td></tr>
<tr><td class='sub'>FreeBSD Ports (https://github.com/freebsd/freebsd-ports)</td><td class='sub right'></td></tr></table>
<table class='tabs'><tr><td>
<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/about/?h=dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2'>about</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/?h=dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2'>summary</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/refs/?h=dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2&amp;id=dc58c1c48fd1be69eb1a859803badcbf94beb521'>refs</a><a class='active' href='/~lantw44/cgit/cgit.cgi/freebsd-ports/log/japanese/p5-nkf?h=dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2'>log</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/tree/japanese/p5-nkf?h=dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2&amp;id=dc58c1c48fd1be69eb1a859803badcbf94beb521'>tree</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/commit/japanese/p5-nkf?h=dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2&amp;id=dc58c1c48fd1be69eb1a859803badcbf94beb521'>commit</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/diff/japanese/p5-nkf?h=dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2&amp;id=dc58c1c48fd1be69eb1a859803badcbf94beb521'>diff</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/stats/japanese/p5-nkf?h=dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2'>stats</a></td><td class='form'><form class='right' method='get' action='/~lantw44/cgit/cgit.cgi/freebsd-ports/log/japanese/p5-nkf'>
<input type='hidden' name='h' value='dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2'/><input type='hidden' name='id' value='dc58c1c48fd1be69eb1a859803badcbf94beb521'/><select name='qt'>
<option value='grep'>log msg</option>
<option value='author'>author</option>
<option value='committer'>committer</option>
<option value='range'>range</option>
</select>
<input class='txt' type='search' size='10' name='q' value=''/>
<input type='submit' value='search'/>
</form>
</td></tr></table>
<div class='path'>path: <a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/log/?h=dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2&amp;id=dc58c1c48fd1be69eb1a859803badcbf94beb521'>root</a>/<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/log/japanese?h=dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2&amp;id=dc58c1c48fd1be69eb1a859803badcbf94beb521'>japanese</a>/<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/log/japanese/p5-nkf?h=dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2&amp;id=dc58c1c48fd1be69eb1a859803badcbf94beb521'>p5-nkf</a></div><div class='content'><table class='list nowrap'><tr class='nohover'><th></th><th class='left'>Commit message (<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/log/japanese/p5-nkf?h=dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2&amp;id=dc58c1c48fd1be69eb1a859803badcbf94beb521&amp;showmsg=1'>Expand</a>)</th><th class='left'>Author</th><th class='left'>Age</th><th class='left'>Files</th><th class='left'>Lines</th></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/commit/japanese/p5-nkf?h=dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2&amp;id=29cad3789d20806a3ed0894cdefb5e30f7e2d612'>Rename MASTER_SITE_SOURCEFORGE_JP to MASTER_SITE_OSDN</a></td><td>sunpoet</td><td><span title='2018-03-25 05:12:13 +0800'>2018-03-25</span></td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+1</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/commit/japanese/p5-nkf?h=dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2&amp;id=398381b8e2536d87dc4e7ea64e363e8cce46db75'>Update to 2.1.4.</a></td><td>hrs</td><td><span title='2018-03-02 01:19:10 +0800'>2018-03-02</span></td><td>2</td><td><span class='deletions'>-5</span>/<span class='insertions'>+8</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/commit/japanese/p5-nkf?h=dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2&amp;id=9debac461b7729b783ca5a0f5e46461ddac07173'>Change the way Perl modules are installed, update the default Perl to 5.18.</a></td><td>mat</td><td><span title='2014-11-26 21:08:24 +0800'>2014-11-26</span></td><td>2</td><td><span class='deletions'>-3</span>/<span class='insertions'>+3</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/commit/japanese/p5-nkf?h=dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2&amp;id=900ba8e77cec3d6e26d8c34c6a1337b6e1da5eaf'>Cleanup plist</a></td><td>antoine</td><td><span title='2014-11-12 21:45:59 +0800'>2014-11-12</span></td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+0</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/commit/japanese/p5-nkf?h=dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2&amp;id=4faa49a1a8f8906afd30ca4514e6b137a8f6f990'>Canonicalize a few LICENSE_PERMS</a></td><td>antoine</td><td><span title='2014-08-22 15:20:30 +0800'>2014-08-22</span></td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+1</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/commit/japanese/p5-nkf?h=dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2&amp;id=d4ba2ee310de35fc89a3aa0df9bd3994df0e1c06'>Remove all the bootstrap files (.bs) from the plists.</a></td><td>mat</td><td><span title='2014-06-10 20:14:12 +0800'>2014-06-10</span></td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+0</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/commit/japanese/p5-nkf?h=dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2&amp;id=5b3ab82c561948bb1de358656fb828c2b26f5779'>- add stage support</a></td><td>az</td><td><span title='2014-01-30 01:18:46 +0800'>2014-01-30</span></td><td>2</td><td><span class='deletions'>-4</span>/<span class='insertions'>+2</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/commit/japanese/p5-nkf?h=dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2&amp;id=61e7b735a19f968764f9573d605be916929cfab3'>Add NO_STAGE all over the place in preparation for the staging support (cat: ...</a></td><td>bapt</td><td><span title='2013-09-21 02:47:54 +0800'>2013-09-21</span></td><td>1</td><td><span class='deletions'>-0</span>/<span class='insertions'>+1</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/commit/japanese/p5-nkf?h=dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2&amp;id=f885f1f404a0e739efc20c9455105ee370bc3fd3'>- convert to the new perl5 framework</a></td><td>az</td><td><span title='2013-09-10 17:39:11 +0800'>2013-09-10</span></td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+2</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/commit/japanese/p5-nkf?h=dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2&amp;id=1b397cdb9102517c8436b568097a82253f45f567'>- Rename files/patch-aa.</a></td><td>hrs</td><td><span title='2013-05-03 05:57:28 +0800'>2013-05-03</span></td><td>2</td><td><span class='deletions'>-6</span>/<span class='insertions'>+9</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/commit/japanese/p5-nkf?h=dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2&amp;id=f454c2a68ed6532ec7c32434563b3117d9f8463b'>Add license</a></td><td>eadler</td><td><span title='2013-02-04 13:29:46 +0800'>2013-02-04</span></td><td>1</td><td><span class='deletions'>-6</span>/<span class='insertions'>+8</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/commit/japanese/p5-nkf?h=dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2&amp;id=31c2c7b4df0427dff45fde9390e7837f642538be'>- Fix typo in pkg-descr [1]</a></td><td>culot</td><td><span title='2012-09-25 15:34:49 +0800'>2012-09-25</span></td><td>1</td><td><span class='deletions'>-2</span>/<span class='insertions'>+7</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/commit/japanese/p5-nkf?h=dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2&amp;id=0c67d4afb96dd8f5a3027a115c8a2ee5e3241ca9'>Remove more tags from pkg-descr files fo the form:</a></td><td>dougb</td><td><span title='2011-10-24 12:17:37 +0800'>2011-10-24</span></td><td>1</td><td><span class='deletions'>-2</span>/<span class='insertions'>+0</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports/commit/japanese/p5-nkf?h=dependabot/npm_and_yarn/devel/electron4/files/mixin-deep-1.3.2&amp;id=71b19a0b233a195607717f7f26e235dfefe6dc81'>Remove all patch files.</a></td><td>nork</td><td><span title='2010-02-18 00:08:48 +0800'>2010-02-18</span>