GckEnumerator

GckEnumerator — Enumerates through PKCS#11 objects.

Synopsis

struct              GckEnumerator;
GckObject *         gck_enumerator_next                 (GckEnumerator *self,
                                                         GCancellable *cancellable,
                                                         GError **error);
void                gck_enumerator_next_async           (GckEnumerator *self,
                                                         gint max_objects,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
GList *             gck_enumerator_next_finish          (GckEnumerator *self,
                                                         GAsyncResult *result,
                                                         GError **error);
GList *             gck_enumerator_next_n               (GckEnumerator *self,
                                                         gint max_objects,
                                                         GCancellable *cancellable,
                                                         GError **error);
GTlsInteraction *   gck_enumerator_get_interaction      (GckEnumerator *self);
void                gck_enumerator_set_interaction      (GckEnumerator *self,
                                                         GTlsInteraction *interaction);
GType               gck_enumerator_get_object_type      (GckEnumerator *self);
void                gck_enumerator_set_object_type      (GckEnumerator *self,
                                                         GType object_type);
GckEnumerator *     gck_enumerator_get_chained          (GckEnumerator *self);
void                gck_enumerator_set_chained          (GckEnumerator *self,
                                                         GckEnumerator *chained);

Object Hierarchy

  GObject
   +----GckEnumerator

Properties

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

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.

Details

struct GckEnumerator

struct GckEnumerator;

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


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.

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.

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.

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.

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

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

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.

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);

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

If the GckObjectCache interface is implemented on the derived class and the attribute_types field is set, then the enumerator will retrieve attributes for each object.

self :

an enumerator

object_type :

the type of objects to create

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.

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.

self :

the enumerator

chained :

the chained enumerator or NULL. [allow-none]

Property Details

The "chained" property

  "chained"                  GckEnumerator*        : Read / Write

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


The "interaction" property

  "interaction"              GTlsInteraction*      : Read / Write

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


The "object-type" property

  "object-type"              GType*                : Read / Write

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

Allowed values: GckObject