/* * e-mail-parser-image.c * * 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/> * */ #ifdef HAVE_CONFIG_H #include <config.h> #endif #include <glib/gi18n-lib.h> #include <e-util/e-util.h> #include "e-mail-parser-extension.h" #include "e-mail-part-image.h" #include "e-mail-part-utils.h" typedef EMailParserExtension EMailParserImage; typedef EMailParserExtensionClass EMailParserImageClass; GType e_mail_parser_image_get_type (void); G_DEFINE_TYPE ( EMailParserImage, e_mail_parser_image, E_TYPE_MAIL_PARSER_EXTENSION) static const gchar *parser_mime_types[] = { "image/gif", "image/jpeg", "image/png", "image/x-png", "image/x-bmp", "image/bmp", "image/svg", "image/x-cmu-raster", "image/x-ico", "image/x-portable-anymap", "image/x-portable-bitmap", "image/x-portable-graymap", "image/x-portable-pixmap", "image/x-xpixmap", "image/jpg", "image/pjpeg", NULL }; static gboolean empe_image_parse (EMailParserExtension *extension, EMailParser *parser, CamelMimePart *part, GString *part_id, GCancellable *cancellable, GQueue *out_mail_parts) { GQueue work_queue = G_QUEUE_INIT; EMailPart *mail_part; gint len; len = part_id->len; g_string_append (part_id, ".image"); mail_part = e_mail_part_image_new (part, part_id->str); g_string_truncate (part_id, len); g_queue_push_tail (&work_queue, mail_part); if (!mail_part->is_hidden) e_mail_parser_wrap_as_attachment ( parser, part, part_id, &work_queue); e_queue_transfer (&work_queue, out_mail_parts); return TRUE; } static void e_mail_parser_image_class_init (EMailParserExtensionClass *class) { class->mime_types = parser_mime_types; class->priority = G_PRIORITY_LOW; class->parse = empe_image_parse; } static void e_mail_parser_image_init (EMailParserExtension *extension) { } minimist-1.2.2</option> <option value='dependabot/npm_and_yarn/devel/electron4/files/minimist-1.2.3'>dependabot/npm_and_yarn/devel/electron4/files/minimist-1.2.3</option> <option value='dependabot/npm_and_yarn/devel/electron4/files/node-fetch-2.6.1'>dependabot/npm_and_yarn/devel/electron4/files/node-fetch-2.6.1</option> <option value='dependabot/npm_and_yarn/devel/electron4/files/serve-10.1.2'>dependabot/npm_and_yarn/devel/electron4/files/serve-10.1.2</option> <option value='dependabot/npm_and_yarn/devel/electron4/files/y18n-3.2.2'>dependabot/npm_and_yarn/devel/electron4/files/y18n-3.2.2</option> <option value='dependabot/npm_and_yarn/devel/electron6/files/elliptic-6.5.3'>dependabot/npm_and_yarn/devel/electron6/files/elliptic-6.5.3</option> <option value='dependabot/npm_and_yarn/devel/electron6/files/elliptic-6.5.4'>dependabot/npm_and_yarn/devel/electron6/files/elliptic-6.5.4</option> <option value='dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8'>dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8</option> <option value='dependabot/npm_and_yarn/devel/electron6/files/lodash-4.17.19'>dependabot/npm_and_yarn/devel/electron6/files/lodash-4.17.19</option> <option value='dependabot/npm_and_yarn/devel/electron6/files/lodash.merge-4.6.2'>dependabot/npm_and_yarn/devel/electron6/files/lodash.merge-4.6.2</option> <option value='dependabot/npm_and_yarn/devel/electron6/files/node-fetch-2.6.1'>dependabot/npm_and_yarn/devel/electron6/files/node-fetch-2.6.1</option> <option value='dependabot/npm_and_yarn/devel/electron6/files/serve-10.1.2'>dependabot/npm_and_yarn/devel/electron6/files/serve-10.1.2</option> <option value='gnome-3.22'>gnome-3.22</option> <option value='gnome-3.24'>gnome-3.24</option> <option value='gnome-3.26'>gnome-3.26</option> <option value='gnome-3.28'>gnome-3.28</option> <option value='gnome-3.32'>gnome-3.32</option> <option value='gnome-3.36'>gnome-3.36</option> <option value='gstreamer'>gstreamer</option> <option value='gstreamer-1.16'>gstreamer-1.16</option> <option value='gstreamer0.10-removal'>gstreamer0.10-removal</option> <option value='main' selected='selected'>main</option> <option value='master'>master</option> <option value='mate-1.16'>mate-1.16</option> <option value='mate-1.18'>mate-1.18</option> <option value='mate-1.20'>mate-1.20</option> <option value='mate-1.22'>mate-1.22</option> </select> <input type='submit' value='switch'/></form></td></tr> <tr><td class='sub'>FreeBSD GNOME current development ports (https://github.com/freebsd/freebsd-ports-gnome)</td><td class='sub right'></td></tr></table> <table class='tabs'><tr><td> <a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/about/'>about</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/'>summary</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/refs/?id=99dc8cf3e20698c03e2a8d18397eeb89dcd1a232'>refs</a><a class='active' href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/devel/p5-IPC-Cache/Makefile'>log</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/tree/devel/p5-IPC-Cache/Makefile?id=99dc8cf3e20698c03e2a8d18397eeb89dcd1a232'>tree</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/devel/p5-IPC-Cache/Makefile?id=99dc8cf3e20698c03e2a8d18397eeb89dcd1a232'>commit</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/diff/devel/p5-IPC-Cache/Makefile?id=99dc8cf3e20698c03e2a8d18397eeb89dcd1a232'>diff</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/stats/devel/p5-IPC-Cache/Makefile'>stats</a></td><td class='form'><form class='right' method='get' action='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/devel/p5-IPC-Cache/Makefile'> <input type='hidden' name='id' value='99dc8cf3e20698c03e2a8d18397eeb89dcd1a232'/><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-gnome/log/?id=99dc8cf3e20698c03e2a8d18397eeb89dcd1a232'>root</a>/<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/devel?id=99dc8cf3e20698c03e2a8d18397eeb89dcd1a232'>devel</a>/<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/devel/p5-IPC-Cache?id=99dc8cf3e20698c03e2a8d18397eeb89dcd1a232'>p5-IPC-Cache</a>/<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/devel/p5-IPC-Cache/Makefile?id=99dc8cf3e20698c03e2a8d18397eeb89dcd1a232'>Makefile</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-gnome/log/devel/p5-IPC-Cache/Makefile?id=99dc8cf3e20698c03e2a8d18397eeb89dcd1a232&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-gnome/commit/devel/p5-IPC-Cache/Makefile?id=38d32522f231df585e6f3ef5ec7f4b7cd361586f'>Support STAGEDIR.</a></td><td>vanilla</td><td><span title='2013-10-30 09:38:24 +0800'>2013-10-30</span></td><td>1</td><td><span class='deletions'>-3</span>/<span class='insertions'>+0</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/devel/p5-IPC-Cache/Makefile?id=3ff0383d3a2fb21cdb1e80822419f4aac7fd522f'>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 01:13:42 +0800'>2013-09-21</span></td><td>1</td><td><span class='deletions'>-5</span>/<span class='insertions'>+2</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/devel/p5-IPC-Cache/Makefile?id=4539b36e07dc5d3a00796c31225b2da419544ef0'>- Convert to new perl framework</a></td><td>az</td><td><span title='2013-08-03 02:21:05 +0800'>2013-08-03</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-gnome/commit/devel/p5-IPC-Cache/Makefile?id=468d7a6e727a41f0fa257ccb0d8be9d110c1af45'>- Remove SITE_PERL from *_DEPENDS</a></td><td>ak</td><td><span title='2012-06-06 02:15:31 +0800'>2012-06-06</span></td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+1</span></td></tr>