GcrImporter

GcrImporter — Import objects into PKCS#11 slots.

Synopsis

struct              GcrImporter;
struct              GcrImporterClass;
enum                GcrImporterPromptBehavior;
GcrImporter *               gcr_importer_new            (void);
void                gcr_importer_listen                 (GcrImporter *self,
                                                         GcrParser *parser);
void                gcr_importer_queue                  (GcrImporter *self,
                                                         const gchar *label,
                                                         GckAttributes *attrs);
gboolean            gcr_importer_import                 (GcrImporter *self,
                                                         GCancellable *cancel,
                                                         GError **error);
void                gcr_importer_import_async           (GcrImporter *self,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
gboolean            gcr_importer_import_finish          (GcrImporter *self,
                                                         GAsyncResult *result,
                                                         GError **error);
GckSlot *                   gcr_importer_get_slot       (GcrImporter *self);
void                gcr_importer_set_slot               (GcrImporter *self,
                                                         GckSlot *slot);
GcrImporterPromptBehavior  gcr_importer_get_prompt_behavior
                                                        (GcrImporter *self);
void                gcr_importer_set_prompt_behavior    (GcrImporter *self,
                                                         GcrImporterPromptBehavior behavior);
GcrParser *                 gcr_importer_get_parser     (GcrImporter *self);
void                gcr_importer_set_parser             (GcrImporter *self,
                                                         GcrParser *parser);

Object Hierarchy

  GObject
   +----GcrImporter

Implemented Interfaces

GcrImporter implements GAsyncResult.

Properties

  "prompt-behavior"          gint                  : Read / Write
  "slot"                     GckSlot*              : Read / Write

Signals

  "imported"                                       : Run First
  "queued"                                         : Run First

Description

A GcrImporter can be used to import items into PKCS#11 slots. It's most often used to parse the objects parsed with a GcrParser. Use gcr_importer_listen() to hook up the importer to the parser.

Items are queued, and then imported with gcr_importer_import() or gcr_importer_import_async().

Details

struct GcrImporter

struct GcrImporter;

Imports items into PKCS#11


struct GcrImporterClass

struct GcrImporterClass {
	GObjectClass parent_class;

	/* signals */
	void (*queued) (GcrImporter *self, const gchar *label, GckAttributes *attrs);
	void (*imported) (GcrImporter *self, GckObject *object);
};

The class for GcrImporter.

GObjectClass parent_class;

The parent class

queued ()

Signal which is fired when an item is queued

imported ()

Signal which is fired when an item is imported

enum GcrImporterPromptBehavior

typedef enum {
	GCR_IMPORTER_PROMPT_NEEDED,
	GCR_IMPORTER_PROMPT_ALWAYS,
	GCR_IMPORTER_PROMPT_NEVER
} GcrImporterPromptBehavior;

Flags for the prompting behavior of GcrImporter.

GCR_IMPORTER_PROMPT_NEEDED

Prompt when needed.

GCR_IMPORTER_PROMPT_ALWAYS

Always prompt.

GCR_IMPORTER_PROMPT_NEVER

Never prompt.

gcr_importer_new ()

GcrImporter *               gcr_importer_new            (void);

Create a new GcrImporter.

Returns :

A newly allocated importer, which should be released with g_object_unref().

gcr_importer_listen ()

void                gcr_importer_listen                 (GcrImporter *self,
                                                         GcrParser *parser);

Listen for parse events from the GcrParser, and queue parsed items for importing.

self :

The importer

parser :

The parser to listen to

gcr_importer_queue ()

void                gcr_importer_queue                  (GcrImporter *self,
                                                         const gchar *label,
                                                         GckAttributes *attrs);

Queue the importing of an item. Use gcr_importer_listen() to automatically queue items parsed by a GcrParser.

self :

The importer

label :

Label of item to import

attrs :

Attributes of item to import

gcr_importer_import ()

gboolean            gcr_importer_import                 (GcrImporter *self,
                                                         GCancellable *cancel,
                                                         GError **error);


gcr_importer_import_async ()

void                gcr_importer_import_async           (GcrImporter *self,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

Start an asynchronous import operation of the items that have been queued.

self :

The importer

cancellable :

An optional cancellation object

callback :

Call when the operation result is ready

user_data :

Data to pass to the callback

gcr_importer_import_finish ()

gboolean            gcr_importer_import_finish          (GcrImporter *self,
                                                         GAsyncResult *result,
                                                         GError **error);

Complete an asynchronous import operation.

self :

The importer

result :

The operation result

error :

A location to raise an error on failure.

Returns :

Whether the operation was successful or not.

gcr_importer_get_slot ()

GckSlot *                   gcr_importer_get_slot       (GcrImporter *self);

Get the PKCS#11 slot the items will be imported to, or after an import operation, which slot they have been imported to.

self :

The importer

Returns :

The slot.

gcr_importer_set_slot ()

void                gcr_importer_set_slot               (GcrImporter *self,
                                                         GckSlot *slot);

Set the PKCS#11 slot to import the items to.

self :

The importer

slot :

The slot to import to

gcr_importer_get_prompt_behavior ()

GcrImporterPromptBehavior  gcr_importer_get_prompt_behavior
                                                        (GcrImporter *self);

Get the type of prompting configured for this importer.

self :

The importer

Returns :

The prompting flags.

gcr_importer_set_prompt_behavior ()

void                gcr_importer_set_prompt_behavior    (GcrImporter *self,
                                                         GcrImporterPromptBehavior behavior);

Set the type of prompting desired during import.

self :

The importer

behavior :

The prompt behavior flag

gcr_importer_get_parser ()

GcrParser *                 gcr_importer_get_parser     (GcrImporter *self);

Warning

gcr_importer_get_parser is deprecated and should not be used in newly-written code. Since 3.0.0

Has no effect. Use gcr_importer_listen() instead.

self :

An importer

Returns :

NULL is always returned.

gcr_importer_set_parser ()

void                gcr_importer_set_parser             (GcrImporter *self,
                                                         GcrParser *parser);

Warning

gcr_importer_set_parser is deprecated and should not be used in newly-written code. Since 3.0.0

Has no effect. Use gcr_importer_listen() instead.

self :

An importer

parser :

A parser

Property Details

The "prompt-behavior" property

  "prompt-behavior"          gint                  : Read / Write

Import Prompt Behavior.

Allowed values: >= 0

Default value: 0


The "slot" property

  "slot"                     GckSlot*              : Read / Write

PKCS#11 slot to import data into.

Signal Details

The "imported" signal

void                user_function                      (GcrImporter *object,
                                                        GckObject   *arg1,
                                                        gpointer     user_data)      : Run First

This signal is emitted when an item has been imported.

object :

The object which was imported.

user_data :

user data set when the signal handler was connected.

The "queued" signal

void                user_function                      (GcrImporter *label,
                                                        gchar       *attrs,
                                                        gpointer     user_data)      : Run First

This signal is emitted when an item is queued for import.

label :

The label of the queued item.

attrs :

The attributes of the queued item.

user_data :

user data set when the signal handler was connected.