GckEnumerator

GckEnumerator — Enumerates through PKCS#11 objects.

Functions

Properties

GckEnumerator * chained Read / Write
GTlsInteraction * interaction Read / Write
GType * object-type Read / Write

Types and Values

struct GckEnumerator

Object Hierarchy

    GObject
    ╰── GckEnumerator

Description

A GckEnumerator can be used to enumerate through PKCS#11 objects. It will automatically create sessions as necessary.

Use gck_modules_enumerate_objects() or gck_modules_enumerate_uri() to create an enumerator. To get the objects use gck_enumerator_next() or gck_enumerator_next_async() functions.

Functions

gck_enumerator_next ()

GckObject *
gck_enumerator_next (GckEnumerator *self,
                     GCancellable *cancellable,
                     GError **error);

Get the next object in the enumerator, or NULL if there are no more objects.

NULL is also returned if the function fails. Use the error to determine whether a failure occurred or not.

Parameters

self

The enumerator

 

cancellable

A GCancellable or NULL

 

error

A location to store an error on failure

 

Returns

The next object, which must be released using g_object_unref, or NULL.

[transfer full][allow-none]


gck_enumerator_next_async ()

void
gck_enumerator_next_async (GckEnumerator *self,
                           gint max_objects,
                           GCancellable *cancellable,
                           GAsyncReadyCallback callback,
                           gpointer user_data);

Get the next set of objects from the enumerator. This operation completes asynchronously.The maximum number of objects can be specified with max_objects . If -1 is specified, then all the remaining objects will be enumerated.

Parameters

self

An enumerator

 

max_objects

The maximum number of objects to get

 

cancellable

A GCancellable or NULL

 

callback

Called when the result is ready

 

user_data

Data to pass to the callback

 

gck_enumerator_next_finish ()

GList *
gck_enumerator_next_finish (GckEnumerator *self,
                            GAsyncResult *result,
                            GError **error);

Complete an operation to enumerate next objects.

NULL is also returned if the function fails. Use the error to determine whether a failure occurred or not.

Parameters

self

An enumerator

 

result

The result passed to the callback

 

error

A location to raise an error on failure.

 

Returns

The list of objects, which should be freed with gck_list_unref_free().

[element-type Gck.Module][transfer full]


gck_enumerator_next_n ()

GList *
gck_enumerator_next_n (GckEnumerator *self,
                       gint max_objects,
                       GCancellable *cancellable,
                       GError **error);

Get the next set of objects from the enumerator. The maximum number of objects can be specified with max_objects . If -1 is specified, then all the remaining objects will be returned.

NULL is also returned if the function fails. Use the error to determine whether a failure occurred or not.

Parameters

self

An enumerator

 

max_objects

The maximum amount of objects to enumerate

 

cancellable

A GCancellable or NULL

 

error

A location to store an error on failure

 

Returns

A list of objects, which should be freed using gck_list_unref_free().

[transfer full][element-type Gck.Object]


gck_enumerator_get_interaction ()

GTlsInteraction *
gck_enumerator_get_interaction (GckEnumerator *self);

Get the interaction used when a pin is needed

Parameters

self

the enumerator

 

Returns

the interaction or NULL.

[transfer full][allow-none]


gck_enumerator_set_interaction ()

void
gck_enumerator_set_interaction (GckEnumerator *self,
                                GTlsInteraction *interaction);

Set the interaction used when a pin is needed

Parameters

self

the enumerator

 

interaction

the interaction or NULL.

[allow-none]

gck_enumerator_get_object_type ()

GType
gck_enumerator_get_object_type (GckEnumerator *self);

Get the type of objects created by this enumerator. The type will always either be GckObject or derived from it.

Parameters

self

an enumerator

 

Returns

the type of objects created.

[transfer none]


gck_enumerator_set_object_type ()

void
gck_enumerator_set_object_type (GckEnumerator *self,
                                GType object_type);


gck_enumerator_set_object_type_full ()

void
gck_enumerator_set_object_type_full (GckEnumerator *self,
                                     GType object_type,
                                     const gulong *attr_types,
                                     gint attr_count);

Set the type of objects to be created by this enumerator. The type must always be either GckObject or derived from it.

If attr_types and attr_count are non-NULL and non-zero respectively, then the GckObjectCache interface is expected to be implemented on the derived class, then the enumerator will retrieve attributes for each object.

Parameters

self

an enumerator

 

object_type

the type of objects to create

 

attr_types

types of attributes to retrieve for objects.

[array length=attr_count]

attr_count

the number of attributes to retrieve

 

gck_enumerator_get_chained ()

GckEnumerator *
gck_enumerator_get_chained (GckEnumerator *self);

Get the enumerator that will be run after all objects from this one are seen.

Parameters

self

the enumerator

 

Returns

the chained enumerator or NULL.

[transfer full][allow-none]


gck_enumerator_set_chained ()

void
gck_enumerator_set_chained (GckEnumerator *self,
                            GckEnumerator *chained);

Set a chained enumerator that will be run after all objects from this one are seen.

Parameters

self

the enumerator

 

chained

the chained enumerator or NULL.

[allow-none]

Types and Values

struct GckEnumerator

struct GckEnumerator;

An object that allows enumerating of objects across modules, tokens.

Property Details

The “chained” property

  “chained”                  GckEnumerator *

Chained enumerator, which will be enumerated when this enumerator has enumerated all its objects.

Flags: Read / Write


The “interaction” property

  “interaction”              GTlsInteraction *

Interaction object used to ask the user for pins when opening sessions. Used if the session_options of the enumerator have GCK_SESSION_LOGIN_USER

Flags: Read / Write


The “object-type” property

  “object-type”              GType *

The type of objects that are created by the enumerator. Must be GckObject or derived from it.

Flags: Read / Write

Allowed values: GckObject