GckModule lists

GckModule lists — Dealing with lists of PKCS#11 modules.

Synopsis

GList *             gck_modules_initialize_registered   (GCancellable *cancellable,
                                                         GError **error);
void                gck_modules_initialize_registered_async
                                                        (GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
GList *             gck_modules_initialize_registered_finish
                                                        (GAsyncResult *result,
                                                         GError **error);
GckEnumerator *     gck_modules_enumerate_objects       (GList *modules,
                                                         GckAttributes *attrs,
                                                         GckSessionOptions session_options);
GckEnumerator *     gck_modules_enumerate_uri           (GList *modules,
                                                         const gchar *uri,
                                                         GckSessionOptions session_options,
                                                         GError **error);
GList *             gck_modules_get_slots               (GList *modules,
                                                         gboolean token_present);
GckObject *         gck_modules_object_for_uri          (GList *modules,
                                                         const gchar *uri,
                                                         GckSessionOptions session_options,
                                                         GError **error);
GList *             gck_modules_objects_for_uri         (GList *modules,
                                                         const gchar *uri,
                                                         GckSessionOptions session_options,
                                                         GError **error);
GckSlot *           gck_modules_token_for_uri           (GList *modules,
                                                         const gchar *uri,
                                                         GError **error);
GList *             gck_modules_tokens_for_uri          (GList *modules,
                                                         const gchar *uri,
                                                         GError **error);

Description

These functions are useful for dealing with lists of modules, and performing operations on all of them.

Details

gck_modules_initialize_registered ()

GList *             gck_modules_initialize_registered   (GCancellable *cancellable,
                                                         GError **error);

Load and initialize all the registered modules.

cancellable :

optional cancellation object. [allow-none]

error :

location to place an error on failure. [allow-none]

Returns :

A newly allocated list of GckModule objects, which should be released with gck_list_unref_free(). [transfer full][element-type Gck.Module]

gck_modules_initialize_registered_async ()

void                gck_modules_initialize_registered_async
                                                        (GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

Load and initialize all the registered modules asynchronously.

cancellable :

optional cancellation object

callback :

a callback which will be called when the operation completes

user_data :

data to pass to the callback

gck_modules_initialize_registered_finish ()

GList *             gck_modules_initialize_registered_finish
                                                        (GAsyncResult *result,
                                                         GError **error);

Finishes the asynchronous operation to initialize the registered PKCS#11 modules.

result :

the asynchronous result

error :

location to place an error on failure

Returns :

a list of newly initialized GckModule objects. [transfer full][element-type Gck.Module]

gck_modules_enumerate_objects ()

GckEnumerator *     gck_modules_enumerate_objects       (GList *modules,
                                                         GckAttributes *attrs,
                                                         GckSessionOptions session_options);

Setup an enumerator for listing matching objects on the modules.

This call will not block but will return an enumerator immediately.

If the attrs GckAttributes is floating, it is consumed.

modules :

The modules. [element-type Gck.Module]

attrs :

attributes that the objects must have, or empty for all objects

session_options :

Options from GckSessionOptions

Returns :

A new enumerator, which should be released with g_object_unref(). [transfer full]

gck_modules_enumerate_uri ()

GckEnumerator *     gck_modules_enumerate_uri           (GList *modules,
                                                         const gchar *uri,
                                                         GckSessionOptions session_options,
                                                         GError **error);

Enumerate objects that match a URI.

This call will not block. Use the GckEnumerator functions in order to get at the actual objects that match.

modules :

The modules. [element-type Gck.Module]

uri :

The URI that the enumerator will match

session_options :

Options from GckSessionOptions

error :

A location to raise an error on failure.

Returns :

A new GckEnumerator, or NULL if an error occurs. [transfer full]

gck_modules_get_slots ()

GList *             gck_modules_get_slots               (GList *modules,
                                                         gboolean token_present);

Get a list of slots for across all of the modules.

modules :

The modules. [element-type Gck.Module]

token_present :

Whether to only list slots with token present

Returns :

A list of GckSlot objects, which should be freed with gck_list_unref_free(). [transfer full][element-type Gck.Slot]

gck_modules_object_for_uri ()

GckObject *         gck_modules_object_for_uri          (GList *modules,
                                                         const gchar *uri,
                                                         GckSessionOptions session_options,
                                                         GError **error);

Find an object that matches a URI.

This call can block. Use gck_modules_enumerate_uri() for a non-blocking version.

modules :

The modules. [element-type Gck.Module]

uri :

The URI the objects must match

session_options :

Options from GckSessionOptions

error :

A location to raise an error on failure.

Returns :

A new GckObject which should be released with g_object_unref(), or NULL if no matching object was found. [transfer full][allow-none]

gck_modules_objects_for_uri ()

GList *             gck_modules_objects_for_uri         (GList *modules,
                                                         const gchar *uri,
                                                         GckSessionOptions session_options,
                                                         GError **error);

Find objects that match a URI.

This call can block. Use gck_modules_enumerate_uri() for a non-blocking version.

modules :

The modules. [element-type Gck.Module]

uri :

The URI the objects must match

session_options :

Options from GckSessionOptions

error :

A location to raise an error on failure.

Returns :

A list of GckObject which should be released with gck_list_unref_free(), or NULL if no matching object was found. [transfer full][element-type Gck.Object]

gck_modules_token_for_uri ()

GckSlot *           gck_modules_token_for_uri           (GList *modules,
                                                         const gchar *uri,
                                                         GError **error);

Lookup a token that matches the URI.

modules :

The modules. [element-type Gck.Module]

uri :

The URI that the token must match

error :

A location to raise an error on failure

Returns :

A newly allocated GckSlot or NULL if no such token was found. [transfer full]

gck_modules_tokens_for_uri ()

GList *             gck_modules_tokens_for_uri          (GList *modules,
                                                         const gchar *uri,
                                                         GError **error);

Lookup a token that matches the URI.

modules :

The modules. [element-type Gck.Module]

uri :

The URI that the token must match

error :

A location to raise an error on failure

Returns :

A list of newly allocated GckSlot objects. Use gck_list_unref_free() to release the list once you're done with it. [transfer full][element-type Gck.Slot]