/* -*- Mode: IDL; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ /* * Evolution-Composer.idl: Mail composer interfaces for Evolution * * Author: * Dan Winship * * (C) 2000 Helix Code, Inc. */ #include module GNOME { module Evolution { interface Composer : Bonobo::Unknown { struct Recipient { string name; /* UTF-8 */ string address; }; typedef sequence RecipientList; /** * 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); /** * setBodyText: * @body: the body * * Sets the text in the body of the composer to * the given UTF-8 plain text. **/ void setBodyText (in string body); /** * 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 string data); /** * show: * * Shows the composer and lets the user edit things * and send the message. **/ void show (); }; }; };