/*
* 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
*/
#ifndef __GCR_IMPORTER_H__
#define __GCR_IMPORTER_H__
#if !defined (__GCR_INSIDE_HEADER__) && !defined (GCR_COMPILATION)
#error "Only can be included directly."
#endif
#include "gcr-parser.h"
#include
#include
G_BEGIN_DECLS
#define GCR_TYPE_IMPORTER gcr_importer_get_type ()
G_DECLARE_INTERFACE (GcrImporter, gcr_importer, GCR, IMPORTER, GObject)
struct _GcrImporterInterface {
GTypeInterface parent;
GList * (*create_for_parsed) (GcrParsed *parsed);
gboolean (*queue_for_parsed) (GcrImporter *importer,
GcrParsed *parsed);
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];
};
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);
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__ */