summaryrefslogtreecommitdiff
path: root/gcr/gcr-import-interaction.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcr/gcr-import-interaction.c')
-rw-r--r--gcr/gcr-import-interaction.c205
1 files changed, 0 insertions, 205 deletions
diff --git a/gcr/gcr-import-interaction.c b/gcr/gcr-import-interaction.c
deleted file mode 100644
index 19d0bc01..00000000
--- a/gcr/gcr-import-interaction.c
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
- * 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, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- *
- * Author: Stef Walter <stefw@collabora.co.uk>
- */
-
-#include "config.h"
-
-#include "gcr-import-interaction.h"
-
-/**
- * SECTION:gcr-importer
- * @title: GcrImporter
- * @short_description: Import certificates and keys
- *
- * An interface which allows importing of certificates and keys. Each
- * #GcrImporter is registered with a set of PKCS\#11 attributes to match
- * stuff that it can import.
- *
- * An importer gets passed a #GcrParser and accesses the currently parsed
- * item. To create a set of importers that can import the currently parsed
- * item in a #GcrParser, use gcr_importer_create_for_parsed(). The list of
- * importers returned has the parsed item queued for import.
- *
- * To queue additional items with a importer use gcr_importer_queue_for_parsed().
- * In addition you can try and queue an additional item with a set of importers
- * using the gcr_importer_queue_and_filter_for_parsed().
- *
- * To start the import use gcr_importer_import() or the async variants.
- */
-
-/**
- * GcrImporter:
- *
- * Imports certificates and keys
- */
-
-/**
- * GcrImporterIface:
- * @parent: parent interface
- * @create_for_parsed: implementation of gcr_importer_create_for_parsed(), required
- * @queue_for_parsed: implementation of gcr_importer_queue_for_parsed(), required
- * @import_sync: optional implemantionon of gcr_importer_import()
- * @import_async: implementation of gcr_importer_import_async(), required
- * @import_finish: implementation of gcr_importer_import_finish()
- *
- * Interface implemented for a #GcrImporter.
- */
-
-typedef GcrImportInteractionIface GcrImportInteractionInterface;
-
-G_DEFINE_INTERFACE (GcrImportInteraction, gcr_import_interaction, G_TYPE_TLS_INTERACTION);
-
-static void
-gcr_import_interaction_default_init (GcrImportInteractionIface *iface)
-{
- static volatile gsize initialized = 0;
-
- if (g_once_init_enter (&initialized)) {
- g_once_init_leave (&initialized, 1);
- }
-}
-
-/**
- * gcr_import_interaction_supplement_prep:
- * @interaction: the interaction
- * @attributes: attributes to supplement
- *
- * Prepare for supplementing the given attributes before import. This means
- * prompting the user for things like labels and the like. The attributes
- * will contain attributes for values that the importer needs, either empty
- * or prefilled with suggested values.
- *
- * This method does not prompt the user, but rather just prepares the
- * interaction that these are the attributes that are needed.
- */
-void
-gcr_import_interaction_supplement_prep (GcrImportInteraction *interaction,
- GckAttributes *attributes)
-{
- GcrImportInteractionIface *iface;
-
- g_return_if_fail (GCR_IS_IMPORT_INTERACTION (interaction));
- g_return_if_fail (attributes != NULL);
-
- iface = GCR_IMPORT_INTERACTION_GET_INTERFACE (interaction);
- if (iface->supplement != NULL)
- (iface->supplement_prep) (interaction, attributes);
-}
-
-/**
- * gcr_import_interaction_supplement:
- * @interaction: the interaction
- * @attributes: supplemented attributes
- * @cancellable: optional cancellable object
- * @error: location to store error on failure
- *
- * Supplement attributes before import. This means prompting the user for
- * things like labels and the like. The needed attributes will have been passed
- * to gcr_import_interaction_supplement_prep().
- *
- * This method prompts the user and fills in the attributes. If the user or
- * cancellable cancels the operation the error should be set with %G_IO_ERROR_CANCELLED.
- *
- * Returns: %G_TLS_INTERACTION_HANDLED if successful or %G_TLS_INTERACTION_FAILED
- */
-GTlsInteractionResult
-gcr_import_interaction_supplement (GcrImportInteraction *interaction,
- GckAttributes *attributes,
- GCancellable *cancellable,
- GError **error)
-{
- GcrImportInteractionIface *iface;
-
- g_return_val_if_fail (GCR_IS_IMPORT_INTERACTION (interaction), G_TLS_INTERACTION_UNHANDLED);
- g_return_val_if_fail (attributes != NULL, G_TLS_INTERACTION_UNHANDLED);
- g_return_val_if_fail (cancellable == NULL || G_IS_CANCELLABLE (cancellable), G_TLS_INTERACTION_UNHANDLED);
- g_return_val_if_fail (error == NULL || *error == NULL, G_TLS_INTERACTION_UNHANDLED);
-
- iface = GCR_IMPORT_INTERACTION_GET_INTERFACE (interaction);
- g_return_val_if_fail (iface->supplement != NULL, G_TLS_INTERACTION_UNHANDLED);
-
- return (iface->supplement) (interaction, attributes, cancellable, error);
-}
-
-
-/**
- * gcr_import_interaction_supplement_async:
- * @interaction: the interaction
- * @attributes: supplemented attributes
- * @cancellable: optional cancellable object
- * @callback: called when the operation completes
- * @user_data: data to be passed to the callback
- *
- * Asynchronously supplement attributes before import. This means prompting the
- * user for things like labels and the like. The needed attributes will have
- * been passed to gcr_import_interaction_supplement_prep().
- *
- * This method prompts the user and fills in the attributes.
- */
-void
-gcr_import_interaction_supplement_async (GcrImportInteraction *interaction,
- GckAttributes *attributes,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- GcrImportInteractionIface *iface;
-
- g_return_if_fail (GCR_IS_IMPORT_INTERACTION (interaction));
- g_return_if_fail (attributes != NULL);
- g_return_if_fail (cancellable == NULL || G_IS_CANCELLABLE (cancellable));
-
- iface = GCR_IMPORT_INTERACTION_GET_INTERFACE (interaction);
- g_return_if_fail (iface->supplement != NULL);
-
- (iface->supplement_async) (interaction, attributes, cancellable, callback, user_data);
-}
-
-/**
- * gcr_import_interaction_supplement_finish:
- * @interaction: the interaction
- * @result: the asynchronous result
- * @error: location to place an error on failure
- *
- * Complete operation to asynchronously supplement attributes before import.
- *
- * If the user or cancellable cancels the operation the error should be set
- * with %G_IO_ERROR_CANCELLED.
- *
- * Returns: %G_TLS_INTERACTION_HANDLED if successful or %G_TLS_INTERACTION_FAILED
- */
-GTlsInteractionResult
-gcr_import_interaction_supplement_finish (GcrImportInteraction *interaction,
- GAsyncResult *result,
- GError **error)
-{
- GcrImportInteractionIface *iface;
-
- g_return_val_if_fail (GCR_IS_IMPORT_INTERACTION (interaction), G_TLS_INTERACTION_UNHANDLED);
- g_return_val_if_fail (G_IS_ASYNC_RESULT (result), G_TLS_INTERACTION_UNHANDLED);
- g_return_val_if_fail (error == NULL || *error == NULL, G_TLS_INTERACTION_UNHANDLED);
-
- iface = GCR_IMPORT_INTERACTION_GET_INTERFACE (interaction);
- g_return_val_if_fail (iface->supplement != NULL, G_TLS_INTERACTION_UNHANDLED);
-
- return (iface->supplement_finish) (interaction, result, error);
-}