/* * gnome-keyring * * Copyright (C) 2011 Collabora Ltd. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation; either version 2.1 of * the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this program; if not, see . * * Author: Stef Walter */ #if !defined (__GCR_INSIDE_HEADER__) && !defined (GCR_COMPILATION) #error "Only or can be included directly." #endif #ifndef __GCR_IMPORTER_H__ #define __GCR_IMPORTER_H__ #include "gcr-parser.h" #include #include G_BEGIN_DECLS #define GCR_TYPE_IMPORTER (gcr_importer_get_type ()) #define GCR_IMPORTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GCR_TYPE_IMPORTER, GcrImporter)) #define GCR_IS_IMPORTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GCR_TYPE_IMPORTER)) #define GCR_IMPORTER_GET_INTERFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), GCR_TYPE_IMPORTER, GcrImporterIface)) typedef struct _GcrImporter GcrImporter; typedef struct _GcrImporterIface GcrImporterIface; struct _GcrImporterIface { GTypeInterface parent; GList * (*create_for_parsed) (GcrParsed *parsed); gboolean (*queue_for_parsed) (GcrImporter *importer, GcrParsed *parsed); gboolean (*import_sync) (GcrImporter *importer, GCancellable *cancellable, GError **error); void (*import_async) (GcrImporter *importer, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); gboolean (*import_finish) (GcrImporter *importer, GAsyncResult *result, GError **error); /*< private >*/ gpointer reserved[14]; }; GType gcr_importer_get_type (void); GList * gcr_importer_create_for_parsed (GcrParsed *parsed); gboolean gcr_importer_queue_for_parsed (GcrImporter *importer, GcrParsed *parsed); GList * gcr_importer_queue_and_filter_for_parsed (GList *importers, GcrParsed *parsed); gboolean gcr_importer_import (GcrImporter *importer, GCancellable *cancellable, GError **error); void gcr_importer_import_async (GcrImporter *importer, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); gboolean gcr_importer_import_finish (GcrImporter *importer, GAsyncResult *result, GError **error); GTlsInteraction * gcr_importer_get_interaction (GcrImporter *importer); void gcr_importer_set_interaction (GcrImporter *importer, GTlsInteraction *interaction); void gcr_importer_register (GType importer_type, GckAttributes *attrs); void gcr_importer_register_well_known (void); G_END_DECLS #endif /* __GCR_IMPORTER_H__ */