1 /* 2 * e-mail-part-itip.h 3 * 4 * This program is free software; you can redistribute it and/or modify it 5 * under the terms of the GNU Lesser General Public License as published by 6 * the Free Software Foundation. 7 * 8 * This program is distributed in the hope that it will be useful, but 9 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 10 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 11 * for more details. 12 * 13 * You should have received a copy of the GNU Lesser General Public License 14 * along with this program; if not, see <http://www.gnu.org/licenses/>. 15 * 16 */ 17 18 #ifndef E_MAIL_PART_ITIP_H 19 #define E_MAIL_PART_ITIP_H 20 21 #include <libecal/libecal.h> 22 #include <libebackend/libebackend.h> 23 24 #include <em-format/e-mail-part.h> 25 26 #include "itip-view.h" 27 28 /* Standard GObject macros */ 29 #define E_TYPE_MAIL_PART_ITIP \ 30 (e_mail_part_itip_get_type ()) 31 #define E_MAIL_PART_ITIP(obj) \ 32 (G_TYPE_CHECK_INSTANCE_CAST \ 33 ((obj), E_TYPE_MAIL_PART_ITIP, EMailPartItip)) 34 #define E_MAIL_PART_ITIP_CLASS(cls) \ 35 (G_TYPE_CHECK_CLASS_CAST \ 36 ((cls), E_TYPE_MAIL_PART_ITIP, EMailPartItipClass)) 37 #define E_IS_MAIL_PART_ITIP(obj) \ 38 (G_TYPE_CHECK_INSTANCE_TYPE \ 39 ((obj), E_TYPE_MAIL_PART_ITIP)) 40 #define E_IS_MAIL_PART_ITIP_CLASS(cls) \ 41 (G_TYPE_CHECK_CLASS_TYPE \ 42 ((cls), E_TYPE_MAIL_PART_ITIP)) 43 #define E_MAIL_PART_ITIP_GET_CLASS(obj) \ 44 (G_TYPE_INSTANCE_GET_CLASS \ 45 ((obj), E_TYPE_MAIL_PART_ITIP, EMailPartItipClass)) 46 47 G_BEGIN_DECLS 48 49 typedef struct _EMailPartItip EMailPartItip; 50 typedef struct _EMailPartItipClass EMailPartItipClass; 51 typedef struct _EMailPartItipPrivate EMailPartItipPrivate; 52 53 struct _EMailPartItip { 54 EMailPart parent; 55 EMailPartItipPrivate *priv; 56 57 CamelFolder *folder; 58 CamelMimeMessage *message; 59 gchar *message_uid; 60 CamelMimePart *itip_mime_part; 61 gchar *vcalendar; 62 63 /* cancelled when freeing the puri */ 64 GCancellable *cancellable; 65 }; 66 67 struct _EMailPartItipClass { 68 EMailPartClass parent_class; 69 }; 70 71 GType e_mail_part_itip_get_type (void) G_GNUC_CONST; 72 void e_mail_part_itip_type_register (GTypeModule *type_module); 73 EMailPartItip * e_mail_part_itip_new (CamelMimePart *mime_part, 74 const gchar *id); 75 76 G_END_DECLS 77 78 #endif /* E_MAIL_PART_ITIP_H */ 79