1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ 2 /* 3 * Copyright (C) 2015 Red Hat Inc. (www.redhat.com) 4 * 5 * This library is free software: you can redistribute it and/or modify it 6 * under the terms of version 2.1. of the GNU Lesser General Public License 7 * as published by the Free Software Foundation. 8 * 9 * This library is distributed in the hope that it will be useful, but 10 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 11 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License 12 * for more details. 13 * 14 * You should have received a copy of the GNU Lesser General Public License 15 * along with this library. If not, see <http://www.gnu.org/licenses/>. 16 */ 17 18 #ifndef E_MAIL_REMOTE_CONTENT_H 19 #define E_MAIL_REMOTE_CONTENT_H 20 21 #include <glib-object.h> 22 23 /* Standard GObject macros */ 24 #define E_TYPE_MAIL_REMOTE_CONTENT \ 25 (e_mail_remote_content_get_type ()) 26 #define E_MAIL_REMOTE_CONTENT(obj) \ 27 (G_TYPE_CHECK_INSTANCE_CAST \ 28 ((obj), E_TYPE_MAIL_REMOTE_CONTENT, EMailRemoteContent)) 29 #define E_MAIL_REMOTE_CONTENT_CLASS(cls) \ 30 (G_TYPE_CHECK_CLASS_CAST \ 31 ((cls), E_TYPE_MAIL_REMOTE_CONTENT, EMailRemoteContentClass)) 32 #define E_IS_MAIL_REMOTE_CONTENT(obj) \ 33 (G_TYPE_CHECK_INSTANCE_TYPE \ 34 ((obj), E_TYPE_MAIL_REMOTE_CONTENT)) 35 #define E_IS_MAIL_REMOTE_CONTENT_CLASS(cls) \ 36 (G_TYPE_CHECK_CLASS_TYPE \ 37 ((cls), E_TYPE_MAIL_REMOTE_CONTENT)) 38 #define E_MAIL_REMOTE_CONTENT_GET_CLASS(obj) \ 39 (G_TYPE_INSTANCE_GET_CLASS \ 40 ((obj), E_TYPE_MAIL_REMOTE_CONTENT, EMailRemoteContentClass)) 41 42 G_BEGIN_DECLS 43 44 typedef struct _EMailRemoteContent EMailRemoteContent; 45 typedef struct _EMailRemoteContentClass EMailRemoteContentClass; 46 typedef struct _EMailRemoteContentPrivate EMailRemoteContentPrivate; 47 48 struct _EMailRemoteContent { 49 GObject parent; 50 EMailRemoteContentPrivate *priv; 51 }; 52 53 struct _EMailRemoteContentClass { 54 GObjectClass parent_class; 55 }; 56 57 GType e_mail_remote_content_get_type (void) G_GNUC_CONST; 58 EMailRemoteContent * 59 e_mail_remote_content_new (const gchar *config_filename); 60 void e_mail_remote_content_add_site (EMailRemoteContent *content, 61 const gchar *site); 62 void e_mail_remote_content_remove_site 63 (EMailRemoteContent *content, 64 const gchar *site); 65 gboolean e_mail_remote_content_has_site (EMailRemoteContent *content, 66 const gchar *site); 67 GSList * e_mail_remote_content_get_sites (EMailRemoteContent *content); 68 void e_mail_remote_content_add_mail (EMailRemoteContent *content, 69 const gchar *mail); 70 void e_mail_remote_content_remove_mail 71 (EMailRemoteContent *content, 72 const gchar *mail); 73 gboolean e_mail_remote_content_has_mail (EMailRemoteContent *content, 74 const gchar *mail); 75 GSList * e_mail_remote_content_get_mails (EMailRemoteContent *content); 76 77 G_END_DECLS 78 79 #endif /* E_MAIL_REMOTE_CONTENT_H */ 80