ZeitgeistResultSet

ZeitgeistResultSet — Cursor-like interface for results sets

Synopsis

guint               zeitgeist_result_set_size           (ZeitgeistResultSet *self);
guint               zeitgeist_result_set_estimated_matches
                                                        (ZeitgeistResultSet *self);
ZeitgeistEvent *    zeitgeist_result_set_next_value     (ZeitgeistResultSet *self);
gboolean            zeitgeist_result_set_has_next       (ZeitgeistResultSet *self);
guint               zeitgeist_result_set_tell           (ZeitgeistResultSet *self);
void                zeitgeist_result_set_reset          (ZeitgeistResultSet *self);
ZeitgeistResultSet * zeitgeist_result_set_iterator      (ZeitgeistResultSet *self);
                    ZeitgeistResultSet;
struct              ZeitgeistResultSetIface;

Object Hierarchy

  GInterface
   +----ZeitgeistResultSet

Prerequisites

ZeitgeistResultSet requires GObject.

Known Implementations

ZeitgeistResultSet is implemented by ZeitgeistSimpleResultSet.

Description

include: zeitgeist.h

Interface for results returned by zeitgeist_log_find_events(), zeitgeist_log_get_events(), and zeitgeist_index_search().

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

Calling zeitgeist_result_set_next() will also return the event at the current cursor position. You may retrieve the current event without advancing the cursor by calling zeitgeist_result_set_peek().

Details

zeitgeist_result_set_size ()

guint               zeitgeist_result_set_size           (ZeitgeistResultSet *self);

Get the number of ZeitgeistEvent<!-- -->s held in a ZeitgeistResultSet. Unlike the number obtained from zeitgeist_result_set_estimated_matches() the size of the result set is always equal to the number of times you can call zeitgeist_result_set_next().

self :

the ZeitgeistResultSet instance

Returns :

The number of events held in the result set

zeitgeist_result_set_estimated_matches ()

guint               zeitgeist_result_set_estimated_matches
                                                        (ZeitgeistResultSet *self);

Get the total number of matches that would have been for the query that generated the result set had it not been restricted in size. For FTS the number of matches is estimated.

For zeitgeist_log_find_events() and zeitgeist_log_get_events() this will always be the same as zeitgeist_result_set_size(). For cases like zeitgeist_index_search() where you specify a subset of the hits to retrieve the estimated match count will often be bigger than the result set size.

self :

the ZeitgeistResultSet instance

Returns :

The number of events that matched the query

zeitgeist_result_set_next_value ()

ZeitgeistEvent *    zeitgeist_result_set_next_value     (ZeitgeistResultSet *self);

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

self :

the ZeitgeistResultSet instance

Returns :

The ZeitgeistEvent at the current cursor position, or NULL if there are no events left.

zeitgeist_result_set_has_next ()

gboolean            zeitgeist_result_set_has_next       (ZeitgeistResultSet *self);

Check if a call to zeitgeist_result_set_next() will succeed.

self :

the ZeitgeistResultSet instance

Returns :

TRUE if and only if more events can be retrieved by calling zeitgeist_result_set_next()

zeitgeist_result_set_tell ()

guint               zeitgeist_result_set_tell           (ZeitgeistResultSet *self);

Get the current position of the cursor.

self :

the ZeitgeistResultSet instance

Returns :

The current position of the cursor

zeitgeist_result_set_reset ()

void                zeitgeist_result_set_reset          (ZeitgeistResultSet *self);

Resets the result set to start iterating it again from scratch.

self :

the ZeitgeistResultSet instance

zeitgeist_result_set_iterator ()

ZeitgeistResultSet * zeitgeist_result_set_iterator      (ZeitgeistResultSet *self);

Do not use this method! It is only for use by Vala.

self :

the ZeitgeistResultSet instance

ZeitgeistResultSet

typedef struct _ZeitgeistResultSet ZeitgeistResultSet;

Cursor-like interface for results sets

include: zeitgeist.h

Interface for results returned by zeitgeist_log_find_events(), zeitgeist_log_get_events(), and zeitgeist_index_search().

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

Calling zeitgeist_result_set_next() will also return the event at the current cursor position. You may retrieve the current event without advancing the cursor by calling zeitgeist_result_set_peek().


struct ZeitgeistResultSetIface

struct ZeitgeistResultSetIface {
	GTypeInterface parent_iface;
	guint (*size) (ZeitgeistResultSet* self);
	guint (*estimated_matches) (ZeitgeistResultSet* self);
	ZeitgeistEvent* (*next_value) (ZeitgeistResultSet* self);
	gboolean (*has_next) (ZeitgeistResultSet* self);
	guint (*tell) (ZeitgeistResultSet* self);
	void (*reset) (ZeitgeistResultSet* self);
};

Interface for creating ZeitgeistResultSet implementations.

GTypeInterface parent_iface;

the parent interface structure

size ()

virtual method called by zeitgeist_result_set_size()

estimated_matches ()

virtual method called by zeitgeist_result_set_estimated_matches()

next_value ()

virtual method called by zeitgeist_result_set_next_value()

has_next ()

virtual method called by zeitgeist_result_set_has_next()

tell ()

virtual method called by zeitgeist_result_set_tell()

reset ()

virtual method called by zeitgeist_result_set_reset()