RygelDatabaseCursorIterator

RygelDatabaseCursorIterator

Functions

Types and Values

Object Hierarchy

    GObject
    ╰── RygelDatabaseCursor
    RygelDatabaseCursorIterator

Description

Functions

rygel_database_cursor_bind ()

void
rygel_database_cursor_bind (RygelDatabaseCursor *self,
                            GValue *arguments,
                            gint arguments_length1,
                            GError **error);

Bind new values to a cursor.

The cursor will be reset.

This function uses the type of the GValue passed in values to determine which _bind function to use.

Supported types are: int, long, int64, uint64, string and pointer. Note: The only pointer supported is the null pointer as provided by Database.null. This is a special value to bind a column to NULL

Parameters

self

the RygelDatabaseCursor instance

 

arguments

 .

array of values to bind to the SQL statement or null if none

.

[in][allow-none][array length=arguments_length1]

arguments_length1

length of the arguments array

 

error

location to store the error occurring, or NULL to ignore.

[error-domains RygelDatabaseDatabaseError]

rygel_database_cursor_has_next ()

gboolean
rygel_database_cursor_has_next (RygelDatabaseCursor *self,
                                GError **error);

Check if the cursor has more rows left

Parameters

self

the RygelDatabaseCursor instance

 

error

location to store the error occurring, or NULL to ignore.

[error-domains RygelDatabaseDatabaseError]

Returns

true if more rows left, false otherwise


rygel_database_cursor_next ()

sqlite3_stmt *
rygel_database_cursor_next (RygelDatabaseCursor *self,
                            GError **error);

Get the next row of this cursor.

This function uses pointers instead of unowned because var doesn't work with unowned.

Parameters

self

the RygelDatabaseCursor instance

 

error

location to store the error occurring, or NULL to ignore.

[error-domains RygelDatabaseDatabaseError]

Returns

a pointer to the current row


rygel_database_cursor_iterator ()

RygelDatabaseCursorIterator *
rygel_database_cursor_iterator (RygelDatabaseCursor *self);

Return an iterator to the cursor to use with foreach

Parameters

self

the RygelDatabaseCursor instance

 

Returns

an iterator wrapping the cursor


rygel_database_cursor_throw_if_code_is_error ()

void
rygel_database_cursor_throw_if_code_is_error
                               (RygelDatabaseCursor *self,
                                gint sqlite_error,
                                GError **error);

Convert a SQLite return code to a DatabaseError

Parameters

self

the RygelDatabaseCursor instance

 

sqlite_error

 

 

error

location to store the error occurring, or NULL to ignore.

[error-domains RygelDatabaseDatabaseError]

rygel_database_cursor_throw_if_db_has_error ()

void
rygel_database_cursor_throw_if_db_has_error
                               (RygelDatabaseCursor *self,
                                GError **error);

Check if the last operation on the database was an error

Parameters

self

the RygelDatabaseCursor instance

 

error

location to store the error occurring, or NULL to ignore.

[error-domains RygelDatabaseDatabaseError]

rygel_database_cursor_iterator_next ()

gboolean
rygel_database_cursor_iterator_next (RygelDatabaseCursorIterator *self,
                                     GError **error);

Parameters

self

the RygelDatabaseCursorIterator instance

 

error

location to store the error occurring, or NULL to ignore.

[error-domains RygelDatabaseDatabaseError]

rygel_database_cursor_iterator_get ()

sqlite3_stmt *
rygel_database_cursor_iterator_get (RygelDatabaseCursorIterator *self,
                                    GError **error);

Parameters

self

the RygelDatabaseCursorIterator instance

 

error

location to store the error occurring, or NULL to ignore.

[error-domains RygelDatabaseDatabaseError]

Returns

.

[transfer none]


rygel_database_cursor_iterator_new ()

RygelDatabaseCursorIterator *
rygel_database_cursor_iterator_new (RygelDatabaseCursor *cursor);

Parameters

cursor

 

 

rygel_database_cursor_iterator_ref ()

gpointer
rygel_database_cursor_iterator_ref (gpointer instance);

Increases the reference count of object .

Parameters

Returns

the same object


rygel_database_cursor_iterator_unref ()

void
rygel_database_cursor_iterator_unref (gpointer instance);

Decreases the reference count of object . When its reference count drops to 0, the object is finalized (i.e. its memory is freed).

Parameters


rygel_database_cursor_param_spec_iterator ()

GParamSpec *
rygel_database_cursor_param_spec_iterator
                               (const gchar *name,
                                const gchar *nick,
                                const gchar *blurb,
                                GType object_type,
                                GParamFlags flags);

Creates a new GParamSpecBoxed instance specifying a RYGEL_DATABASE_CURSOR_TYPE_ITERATOR derived property.

See g_param_spec_internal() for details on property names.

Parameters

name

canonical name of the property specified

 

nick

nick name for the property specified

 

blurb

description of the property specified

 

object_type

RYGEL_DATABASE_CURSOR_TYPE_ITERATOR derived type of this property  

flags

flags for the property specified

 

rygel_database_cursor_value_set_iterator ()

void
rygel_database_cursor_value_set_iterator
                               (GValue *value,
                                gpointer v_object);

Set the contents of a RYGEL_DATABASE_CURSOR_TYPE_ITERATOR derived GValue to v_object .

rygel_database_cursor_value_set_iterator() increases the reference count of v_object (the GValue holds a reference to v_object). If you do not wish to increase the reference count of the object (i.e. you wish to pass your current reference to the GValue because you no longer need it), use rygel_database_cursor_value_take_iterator() instead.

It is important that your GValue holds a reference to v_object (either its own, or one it has taken) to ensure that the object won't be destroyed while the GValue still exists).

Parameters

value

a valid GValue of RYGEL_DATABASE_CURSOR_TYPE_ITERATOR derived type

 

v_object

object value to be set

 

rygel_database_cursor_value_get_iterator ()

gpointer
rygel_database_cursor_value_get_iterator
                               (const GValue *value);

Get the contents of a RYGEL_DATABASE_CURSOR_TYPE_ITERATOR derived GValue.

Parameters

value

a valid GValue of RYGEL_DATABASE_CURSOR_TYPE_ITERATOR derived type

 

Returns

object contents of value


rygel_database_cursor_value_take_iterator ()

void
rygel_database_cursor_value_take_iterator
                               (GValue *value,
                                gpointer v_object);

Sets the contents of a RYGEL_DATABASE_CURSOR_TYPE_ITERATOR derived GValue to v_object and takes over the ownership of the callers reference to v_object ; the caller doesn't have to unref it any more (i.e. the reference count of the object is not increased).

If you want the GValue to hold its own reference to v_object , use rygel_database_cursor_value_set_iterator() instead.

Parameters

value

a valid GValue of RYGEL_DATABASE_CURSOR_TYPE_ITERATOR derived type

 

v_object

object value to be set

 

rygel_database_cursor_new ()

RygelDatabaseCursor *
rygel_database_cursor_new (sqlite3 *db,
                           const gchar *sql,
                           GValue *arguments,
                           gint arguments_length1,
                           GError **error);

Prepare a SQLite statement from a SQL string

If arguments is non-null, it will call bind()

Parameters

db

 .

SQLite database this cursor belongs to

.

[in]

sql

 .

statement to execute

.

[in]

arguments

 .

array of values to bind to the SQL statement or null if none

.

[in][allow-none][array length=arguments_length1]

arguments_length1

length of the arguments array

 

error

location to store the error occurring, or NULL to ignore.

[error-domains RygelDatabaseDatabaseError]

Types and Values

RYGEL_DATABASE_TYPE_CURSOR

#define RYGEL_DATABASE_TYPE_CURSOR (rygel_database_cursor_get_type ())

The type for RygelDatabaseCursor.


RYGEL_DATABASE_CURSOR_TYPE_ITERATOR

#define RYGEL_DATABASE_CURSOR_TYPE_ITERATOR (rygel_database_cursor_iterator_get_type ())

The type for RygelDatabaseCursorIterator.


struct RygelDatabaseCursorIterator

struct RygelDatabaseCursorIterator;

struct RygelDatabaseCursorIteratorClass

struct RygelDatabaseCursorIteratorClass {
	GTypeClass parent_class;
	void (*finalize) (RygelDatabaseCursorIterator *self);
};

The class structure for RYGEL_DATABASE_CURSOR_TYPE_ITERATOR. All the fields in this structure are private and should never be accessed directly.

Members

finalize ()

   

struct RygelDatabaseCursor

struct RygelDatabaseCursor;

struct RygelDatabaseCursorClass

struct RygelDatabaseCursorClass {
	GObjectClass parent_class;
};

The class structure for RYGEL_DATABASE_TYPE_CURSOR. All the fields in this structure are private and should never be accessed directly.

Members