Iterator.this

Create a new iterator designed for iterating @list.

The list you iterate is usually part of a data structure @owner and is protected with @lock.

The iterator will use @lock to retrieve the next item of the list and it will then call the @item function before releasing @lock again.

When a concurrent update to the list is performed, usually by @owner while holding @lock, @master_cookie will be updated. The iterator implementation will notice the update of the cookie and will return %GST_ITERATOR_RESYNC to the user of the iterator in the next call to gst_iterator_next().

Parameters

type GType

#GType of elements

lock Mutex

pointer to a #GMutex protecting the list.

masterCookie uint*

pointer to a guint32 that is incremented when the list is changed.

list ListG

pointer to the list

owner ObjectG

object owning the list

item GstIteratorItemFunction

function to call on each item retrieved

Return Value

the new #GstIterator for @list.

MT safe.

Throws

ConstructionException GTK+ fails to create the object.

Meta