mirror of
https://gitlab.freedesktop.org/pipewire/wireplumber.git
synced 2026-05-05 06:38:01 +02:00
iterator: add version field in the methods struct
Similar to how pipewire interfaces are versioned. Keeps the struct extensible without breaking ABI.
This commit is contained in:
parent
3935308250
commit
7f40a8152d
7 changed files with 10 additions and 0 deletions
|
|
@ -270,6 +270,7 @@ ptr_array_iterator_finalize (WpIterator *it)
|
|||
}
|
||||
|
||||
static const WpIteratorMethods ptr_array_iterator_methods = {
|
||||
.version = WP_ITERATOR_METHODS_VERSION,
|
||||
.reset = ptr_array_iterator_reset,
|
||||
.next = ptr_array_iterator_next,
|
||||
.fold = ptr_array_iterator_fold,
|
||||
|
|
|
|||
|
|
@ -48,8 +48,12 @@ GType wp_iterator_get_type (void);
|
|||
typedef struct _WpIterator WpIterator;
|
||||
typedef struct _WpIteratorMethods WpIteratorMethods;
|
||||
|
||||
static const guint32 WP_ITERATOR_METHODS_VERSION = 0;
|
||||
|
||||
struct _WpIteratorMethods
|
||||
{
|
||||
guint32 version;
|
||||
|
||||
void (*reset) (WpIterator *self);
|
||||
gboolean (*next) (WpIterator *self, GValue *item);
|
||||
gboolean (*fold) (WpIterator *self, WpIteratorFoldFunc func,
|
||||
|
|
|
|||
|
|
@ -363,6 +363,7 @@ metadata_iterator_finalize (WpIterator *it)
|
|||
}
|
||||
|
||||
static const WpIteratorMethods metadata_iterator_methods = {
|
||||
.version = WP_ITERATOR_METHODS_VERSION,
|
||||
.reset = metadata_iterator_reset,
|
||||
.next = metadata_iterator_next,
|
||||
.fold = metadata_iterator_fold,
|
||||
|
|
|
|||
|
|
@ -399,6 +399,7 @@ om_iterator_finalize (WpIterator *it)
|
|||
}
|
||||
|
||||
static const WpIteratorMethods om_iterator_methods = {
|
||||
.version = WP_ITERATOR_METHODS_VERSION,
|
||||
.reset = om_iterator_reset,
|
||||
.next = om_iterator_next,
|
||||
.fold = om_iterator_fold,
|
||||
|
|
|
|||
|
|
@ -785,6 +785,7 @@ dict_iterator_finalize (WpIterator *it)
|
|||
}
|
||||
|
||||
static const WpIteratorMethods dict_iterator_methods = {
|
||||
.version = WP_ITERATOR_METHODS_VERSION,
|
||||
.reset = dict_iterator_reset,
|
||||
.next = dict_iterator_next,
|
||||
.fold = dict_iterator_fold,
|
||||
|
|
|
|||
|
|
@ -182,6 +182,7 @@ WpIterator *
|
|||
wp_session_bin_iterate (WpSessionBin *self)
|
||||
{
|
||||
static const WpIteratorMethods methods = {
|
||||
.version = WP_ITERATOR_METHODS_VERSION,
|
||||
.reset = wp_session_bin_iterator_reset,
|
||||
.next = wp_session_bin_iterator_next,
|
||||
.fold = NULL,
|
||||
|
|
|
|||
|
|
@ -3098,6 +3098,7 @@ WpIterator *
|
|||
wp_spa_pod_iterate (WpSpaPod *pod)
|
||||
{
|
||||
static const WpIteratorMethods methods = {
|
||||
.version = WP_ITERATOR_METHODS_VERSION,
|
||||
.reset = wp_spa_pod_iterator_reset,
|
||||
.next = wp_spa_pod_iterator_next,
|
||||
.fold = wp_spa_pod_iterator_fold,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue