Blame src/mail/e-mail-config-service-backend.h

Packit Service de44cd
/*
Packit Service de44cd
 * e-mail-config-service-backend.h
Packit Service de44cd
 *
Packit Service de44cd
 * This program is free software; you can redistribute it and/or modify it
Packit Service de44cd
 * under the terms of the GNU Lesser General Public License as published by
Packit Service de44cd
 * the Free Software Foundation.
Packit Service de44cd
 *
Packit Service de44cd
 * This program is distributed in the hope that it will be useful, but
Packit Service de44cd
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
Packit Service de44cd
 * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
Packit Service de44cd
 * for more details.
Packit Service de44cd
 *
Packit Service de44cd
 * You should have received a copy of the GNU Lesser General Public License
Packit Service de44cd
 * along with this program; if not, see <http://www.gnu.org/licenses/>.
Packit Service de44cd
 *
Packit Service de44cd
 */
Packit Service de44cd
Packit Service de44cd
#ifndef E_MAIL_CONFIG_SERVICE_BACKEND_H
Packit Service de44cd
#define E_MAIL_CONFIG_SERVICE_BACKEND_H
Packit Service de44cd
Packit Service de44cd
#include <gtk/gtk.h>
Packit Service de44cd
#include <camel/camel.h>
Packit Service de44cd
#include <libebackend/libebackend.h>
Packit Service de44cd
Packit Service de44cd
#include <e-util/e-util.h>
Packit Service de44cd
Packit Service de44cd
/* Standard GObject macros */
Packit Service de44cd
#define E_TYPE_MAIL_CONFIG_SERVICE_BACKEND \
Packit Service de44cd
	(e_mail_config_service_backend_get_type ())
Packit Service de44cd
#define E_MAIL_CONFIG_SERVICE_BACKEND(obj) \
Packit Service de44cd
	(G_TYPE_CHECK_INSTANCE_CAST \
Packit Service de44cd
	((obj), E_TYPE_MAIL_CONFIG_SERVICE_BACKEND, EMailConfigServiceBackend))
Packit Service de44cd
#define E_MAIL_CONFIG_SERVICE_BACKEND_CLASS(cls) \
Packit Service de44cd
	(G_TYPE_CHECK_CLASS_CAST \
Packit Service de44cd
	((cls), E_TYPE_MAIL_CONFIG_SERVICE_BACKEND, EMailConfigServiceBackendClass))
Packit Service de44cd
#define E_IS_MAIL_CONFIG_SERVICE_BACKEND(obj) \
Packit Service de44cd
	(G_TYPE_CHECK_INSTANCE_TYPE \
Packit Service de44cd
	((obj), E_TYPE_MAIL_CONFIG_SERVICE_BACKEND))
Packit Service de44cd
#define E_IS_MAIL_CONFIG_SERVICE_BACKEND_CLASS(cls) \
Packit Service de44cd
	(G_TYPE_CHECK_CLASS_TYPE \
Packit Service de44cd
	((cls), E_TYPE_MAIL_CONFIG_SERVICE_BACKEND))
Packit Service de44cd
#define E_MAIL_CONFIG_SERVICE_BACKEND_GET_CLASS(obj) \
Packit Service de44cd
	(G_TYPE_INSTANCE_GET_CLASS \
Packit Service de44cd
	((obj), E_TYPE_MAIL_CONFIG_SERVICE_BACKEND, EMailConfigServiceBackendClass))
Packit Service de44cd
Packit Service de44cd
G_BEGIN_DECLS
Packit Service de44cd
Packit Service de44cd
struct _EMailConfigServicePage;
Packit Service de44cd
Packit Service de44cd
typedef struct _EMailConfigServiceBackend EMailConfigServiceBackend;
Packit Service de44cd
typedef struct _EMailConfigServiceBackendClass EMailConfigServiceBackendClass;
Packit Service de44cd
typedef struct _EMailConfigServiceBackendPrivate EMailConfigServiceBackendPrivate;
Packit Service de44cd
Packit Service de44cd
struct _EMailConfigServiceBackend {
Packit Service de44cd
	EExtension parent;
Packit Service de44cd
	EMailConfigServiceBackendPrivate *priv;
Packit Service de44cd
};
Packit Service de44cd
Packit Service de44cd
struct _EMailConfigServiceBackendClass {
Packit Service de44cd
	EExtensionClass parent_class;
Packit Service de44cd
Packit Service de44cd
	const gchar *backend_name;
Packit Service de44cd
Packit Service de44cd
	gboolean	(*get_selectable)
Packit Service de44cd
					(EMailConfigServiceBackend *backend);
Packit Service de44cd
	ESource *	(*new_collection)
Packit Service de44cd
					(EMailConfigServiceBackend *backend);
Packit Service de44cd
	void		(*insert_widgets)
Packit Service de44cd
					(EMailConfigServiceBackend *backend,
Packit Service de44cd
					 GtkBox *parent);
Packit Service de44cd
	void		(*setup_defaults)
Packit Service de44cd
					(EMailConfigServiceBackend *backend);
Packit Service de44cd
	gboolean	(*auto_configure)
Packit Service de44cd
					(EMailConfigServiceBackend *backend,
Packit Service de44cd
					 EConfigLookup *config_lookup,
Packit Service de44cd
					 gint *out_priority,
Packit Service de44cd
					 gboolean *out_is_complete);
Packit Service de44cd
	gboolean	(*check_complete)
Packit Service de44cd
					(EMailConfigServiceBackend *backend);
Packit Service de44cd
	void		(*commit_changes)
Packit Service de44cd
					(EMailConfigServiceBackend *backend);
Packit Service de44cd
};
Packit Service de44cd
Packit Service de44cd
GType		e_mail_config_service_backend_get_type
Packit Service de44cd
					(void) G_GNUC_CONST;
Packit Service de44cd
struct _EMailConfigServicePage *
Packit Service de44cd
		e_mail_config_service_backend_get_page
Packit Service de44cd
					(EMailConfigServiceBackend *backend);
Packit Service de44cd
ESource *	e_mail_config_service_backend_get_source
Packit Service de44cd
					(EMailConfigServiceBackend *backend);
Packit Service de44cd
void		e_mail_config_service_backend_set_source
Packit Service de44cd
					(EMailConfigServiceBackend *backend,
Packit Service de44cd
					 ESource *source);
Packit Service de44cd
ESource *	e_mail_config_service_backend_get_collection
Packit Service de44cd
					(EMailConfigServiceBackend *backend);
Packit Service de44cd
void		e_mail_config_service_backend_set_collection
Packit Service de44cd
					(EMailConfigServiceBackend *backend,
Packit Service de44cd
					 ESource *collection);
Packit Service de44cd
CamelProvider *	e_mail_config_service_backend_get_provider
Packit Service de44cd
					(EMailConfigServiceBackend *backend);
Packit Service de44cd
CamelSettings *	e_mail_config_service_backend_get_settings
Packit Service de44cd
					(EMailConfigServiceBackend *backend);
Packit Service de44cd
gboolean	e_mail_config_service_backend_get_selectable
Packit Service de44cd
					(EMailConfigServiceBackend *backend);
Packit Service de44cd
void		e_mail_config_service_backend_insert_widgets
Packit Service de44cd
					(EMailConfigServiceBackend *backend,
Packit Service de44cd
					 GtkBox *parent);
Packit Service de44cd
void		e_mail_config_service_backend_setup_defaults
Packit Service de44cd
					(EMailConfigServiceBackend *backend);
Packit Service de44cd
gboolean	e_mail_config_service_backend_auto_configure
Packit Service de44cd
					(EMailConfigServiceBackend *backend,
Packit Service de44cd
					 EConfigLookup *config_lookup,
Packit Service de44cd
					 gint *out_priority,
Packit Service de44cd
					 gboolean *out_is_complete);
Packit Service de44cd
gboolean	e_mail_config_service_backend_check_complete
Packit Service de44cd
					(EMailConfigServiceBackend *backend);
Packit Service de44cd
void		e_mail_config_service_backend_commit_changes
Packit Service de44cd
					(EMailConfigServiceBackend *backend);
Packit Service de44cd
gboolean	e_mail_config_service_backend_auto_configure_for_kind
Packit Service de44cd
					(EMailConfigServiceBackend *backend,
Packit Service de44cd
					 EConfigLookup *config_lookup,
Packit Service de44cd
					 EConfigLookupResultKind kind,
Packit Service de44cd
					 const gchar *protocol,
Packit Service de44cd
					 ESource *source,
Packit Service de44cd
					 gint *out_priority,
Packit Service de44cd
					 gboolean *out_is_complete);
Packit Service de44cd
Packit Service de44cd
G_END_DECLS
Packit Service de44cd
Packit Service de44cd
#endif /* E_MAIL_CONFIG_SERVICE_BACKEND_H */
Packit Service de44cd