colorbalance: Add ::get_balance_type() vfunc and deprecated value inside the interface struct

Values in class/interface structs are not supported by most bindings.
This commit is contained in:
Sebastian Dröge 2012-02-22 10:15:15 +01:00
parent 17b8299df1
commit 16c3946440
2 changed files with 15 additions and 1 deletions

View file

@ -102,13 +102,15 @@ gst_color_balance_class_init (GstColorBalanceClass * klass)
initialized = TRUE;
}
#ifndef GST_REMOVE_DEPRECATED
klass->balance_type = GST_COLOR_BALANCE_SOFTWARE;
#endif
/* default virtual functions */
klass->list_channels = NULL;
klass->set_value = NULL;
klass->get_value = NULL;
klass->get_balance_type = NULL;
}
/**
@ -212,7 +214,14 @@ gst_color_balance_get_balance_type (GstColorBalance * balance)
klass = GST_COLOR_BALANCE_GET_CLASS (balance);
if (klass->get_balance_type)
return klass->get_balance_type (balance);
#ifndef GST_REMOVE_DEPRECATED
return klass->balance_type;
#else
g_return_val_if_reached (GST_COLOR_BALANCE_SOFTWARE);
#endif
}
/**

View file

@ -80,7 +80,10 @@ typedef enum
struct _GstColorBalanceClass {
GTypeInterface klass;
/* FIXME 0.11: Remove this */
#ifndef GST_REMOVE_DEPRECATED
GstColorBalanceType balance_type;
#endif
/* virtual functions */
const GList * (* list_channels) (GstColorBalance *balance);
@ -96,6 +99,8 @@ struct _GstColorBalanceClass {
GstColorBalanceChannel *channel,
gint value);
GstColorBalanceType (*get_balance_type) (GstColorBalance *balance);
/*< private >*/
gpointer _gst_reserved[GST_PADDING];
};