/* -*- Mode: IDL; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/*
 * Evolution-Composer.idl: Mail composer interfaces for Evolution
 *
 * Author:
 *   Dan Winship <danw@ximian.com>
 * 
 * (C) 2000 Ximian, Inc.
 */

#include <Bonobo.idl>

module GNOME {
module Evolution {
	
	interface Composer : Bonobo::Unknown {
		struct Recipient {
			string name;	/* UTF-8 */
			string address;
		};
		typedef sequence<Recipient> RecipientList;

		typedef sequence<char> AttachmentData;

		enum MultipartType {
			MIXED,
			ALTERNATIVE
		};

		/**
		 * setHeaders:
		 * @to: the "To" recipients
		 * @cc: the "CC" recipients
		 * @bcc: the "Bcc" recipients
		 * @subject: the subject of the message
		 *
		 * Sets the composer headers. Any of @to, @cc, and
		 * @bcc may be an empty list, and @subject may be an
		 * empty string.
		 **/
		void setHeaders (in RecipientList to, in RecipientList cc,
				 in RecipientList bcc, in string subject);

		/**
		 * setMultipartType:
		 * @type: a multipart subtype
		 *
		 * Sets the kind of multipart message that is being
		 * created.
		 *
		 * If @type is MIXED (the default), setBody()
		 * will create the body, and attachMIME() and
		 * attachData() will create attachments.
		 *
		 * If @type is ALTERNATIVE, setBody() will create
		 * text/plain alternative, and each following
		 * attachMIME() or attachData() call will create
		 * another alternative.
		 *
		 * Other values of @type are not currently supported,
		 * although "related" probably should be.
		 **/
		void setMultipartType (in MultipartType type);

		/**
		 * setBody:
		 * @body: the body
		 * @mime_type: the MIME type of @body
		 *
		 * Sets the body of the composer to @body. If
		 * @mime_type is something other than "text/plain" or
		 * "text/html", the composer will not be editable
		 * and it will not attempt to assign a non-UTF8
		 * character set to the data. However, @mime_type may
		 * include parameters in that case.
		 **/
		void setBody (in string body, in string mime_type);

		/**
		 * attachMIME:
		 * @data: the attachment data
		 *
		 * This adds an attachment to the composer. @data
		 * should be a fully-formed MIME body part.
		 **/
		exception CouldNotParse {};
		void attachMIME (in string data)
			raises (CouldNotParse);

		/**
		 * attachData:
		 * @content_type: the Content-Type header
		 * @filename: the suggested filename, or ""
		 * @description: a description of the data, or ""
		 * @show_inline: whether the attachment should be
		 * displayed inline or not.
		 * @data: the raw attachment data
		 *
		 * This adds @data as an attachment, using the provided
		 * information to generate MIME headers. @content_type
		 * may contain just a MIME content type, or it may
		 * contain a complete Content-Type header. @filename
		 * is a filename for the Content-Disposition header
		 * @description (if not "") provides the
		 * Content-Description, and @show_inline determines if the
		 * Content-Disposition is "inline" or "attachment".
		 *
		 * If you need to specify headers or values other than
		 * what this function can do, you will need to generate
		 * all of the MIME headers yourself and use
		 * add_attachment ().
		 **/
		void attachData (in string content_type,
				 in string filename,
				 in string description,
				 in boolean show_inline,
				 in AttachmentData data);

		/**
		 * show:
		 *
		 * Shows the composer and lets the user edit things
		 * and send the message.
		 **/
		void show ();


		/**
		 * send:
		 *
		 * Send the message without showing the user the composer
		 **/
		void send ();
	};
};
};
ue='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'>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/freebsd-ports-gnome/about/?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8'>about</a><a href='/~lantw44/cgit/freebsd-ports-gnome/?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8'>summary</a><a href='/~lantw44/cgit/freebsd-ports-gnome/refs/?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&amp;id=29892041fc0b0a8b4dca35f34a8708be6dbf657b'>refs</a><a class='active' href='/~lantw44/cgit/freebsd-ports-gnome/log/devel/p5-Dir-Watch?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8'>log</a><a href='/~lantw44/cgit/freebsd-ports-gnome/tree/devel/p5-Dir-Watch?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&amp;id=29892041fc0b0a8b4dca35f34a8708be6dbf657b'>tree</a><a href='/~lantw44/cgit/freebsd-ports-gnome/commit/devel/p5-Dir-Watch?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&amp;id=29892041fc0b0a8b4dca35f34a8708be6dbf657b'>commit</a><a href='/~lantw44/cgit/freebsd-ports-gnome/diff/devel/p5-Dir-Watch?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&amp;id=29892041fc0b0a8b4dca35f34a8708be6dbf657b'>diff</a><a href='/~lantw44/cgit/freebsd-ports-gnome/stats/devel/p5-Dir-Watch?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8'>stats</a></td><td class='form'><form class='right' method='get' action='/~lantw44/cgit/freebsd-ports-gnome/log/devel/p5-Dir-Watch'>
<input type='hidden' name='h' value='dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8'/><input type='hidden' name='id' value='29892041fc0b0a8b4dca35f34a8708be6dbf657b'/><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/freebsd-ports-gnome/log/?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&amp;id=29892041fc0b0a8b4dca35f34a8708be6dbf657b'>root</a>/<a href='/~lantw44/cgit/freebsd-ports-gnome/log/devel?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&amp;id=29892041fc0b0a8b4dca35f34a8708be6dbf657b'>devel</a>/<a href='/~lantw44/cgit/freebsd-ports-gnome/log/devel/p5-Dir-Watch?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&amp;id=29892041fc0b0a8b4dca35f34a8708be6dbf657b'>p5-Dir-Watch</a></div><div class='content'><table class='list nowrap'><tr class='nohover'><th></th><th class='left'>Commit message (<a href='/~lantw44/cgit/freebsd-ports-gnome/log/devel/p5-Dir-Watch?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&amp;id=29892041fc0b0a8b4dca35f34a8708be6dbf657b&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/freebsd-ports-gnome/commit/devel/p5-Dir-Watch?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&amp;id=b9a3d842cfc218dce5295d4dedf3b7e0e8727ade'>- Add missing perl5 virtual categories</a></td><td>pgollucci</td><td><span title='2010-09-14 07:39:45 +0800'>2010-09-14</span></td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+1</span></td></tr>