DeeResultSet

DeeResultSet — Cursor-like interface for results sets

Functions

Types and Values

Includes

#include <dee.h>

Description

Interface for results returned by dee_index_lookup().

This interface utilizes a cursor-like metaphor. You advance the cursor by calling dee_result_set_next() or adjust it manually by calling dee_result_set_seek().

Calling dee_result_set_next() will also return the row at the current cursor position. You may retrieve the current row without advancing the cursor by calling dee_result_set_peek().

Functions

dee_result_set_get_model ()

DeeModel *
dee_result_set_get_model (DeeResultSet *self);

Get the model associated with a result set

Parameters

self

The DeeResultSet to get the mode for

 

Returns

The model that the rows point into.

[transfer none]


dee_result_set_get_n_rows ()

guint
dee_result_set_get_n_rows (DeeResultSet *self);

Get the number of DeeModelIters held in a DeeResultSet.

Parameters

self

The DeeResultSet to get the size of

 

Returns

The number of rows held in the result set


dee_result_set_has_next ()

gboolean
dee_result_set_has_next (DeeResultSet *self);

Check if a call to dee_result_set_next() will succeed.

Parameters

self

The DeeResultSet to check

 

Returns

TRUE if and only if more rows can be retrieved by calling dee_result_set_next()


dee_result_set_next ()

DeeModelIter *
dee_result_set_next (DeeResultSet *self);

Get the current row from the result set and advance the cursor. To ensure that calls to this method will succeed you can call dee_result_set_has_next().

To retrieve the current row without advancing the cursor call dee_result_set_peek() in stead of this method.

Parameters

self

The DeeResultSet to get a row from

 

Returns

The DeeModelIter at the current cursor position.

[transfer none]


dee_result_set_peek ()

DeeModelIter *
dee_result_set_peek (DeeResultSet *self);

Get the row at the current cursor position.

To retrieve the current row and advance the cursor position call dee_result_set_next() in stead of this method.

Parameters

self

The DeeResultSet to get a row from

 

Returns

The DeeModelIter at the current cursor position.

[transfer none]


dee_result_set_seek ()

void
dee_result_set_seek (DeeResultSet *self,
                     guint pos);

Set the cursor position. Following calls to dee_result_set_peek() or dee_result_set_next() will read the row at position pos .

Parameters

self

The DeeResultSet to seek in

 

pos

The position to seek to

 

dee_result_set_tell ()

guint
dee_result_set_tell (DeeResultSet *self);

Get the current position of the cursor.

Parameters

self

The DeeResultSet to check the cursor position for

 

Returns

The current position of the cursor

Types and Values

struct DeeResultSetIface

struct DeeResultSetIface {
  GTypeInterface g_iface;

  guint           (*get_n_rows)        (DeeResultSet *self);

  DeeModelIter*   (*next)              (DeeResultSet *self);

  gboolean        (*has_next)          (DeeResultSet *self);
  
  DeeModelIter*   (*peek)              (DeeResultSet *self);

  void            (*seek)              (DeeResultSet *self,
                                        guint         pos);

  guint           (*tell)              (DeeResultSet *self);

  DeeModel*       (*get_model)         (DeeResultSet *self);
};