The custom properties that return a IEnumerable are replaced by generated
properties that return an Iterator. Most of the code in Iterator.cs has
moved to Iterator.custom to implement IEnumerable.
The warnings where mainly about usage of ellipsis type arguments.
For most of the functions hidden by this patch there was already an
alternative, for the params[] Caps constructor custom code is added.
Fixes bug #584913.
Among other things, remove the SetCallbacks methods. It's easier
in the managed world to use the signals instead of the callbacks.
Also hide the action signals as there are methods for them
already.
The perl script should accept nested namespaces, like N1.N2, for outputting
xml. Making a Global class for static methods didn't work for functions like
n1_n2_function. Another change is that N1 is stripped from the cname for the
element name.
Partially fixes bug #584744.
They're not used in any Index implementation and we can't use them
in C# either. This should work without problems because according to
C calling conventions the caller is responsible for preparing
the function arguments and cleaning up later. This only means that
func and user_data will contain invalid data now.
Also fix indention everywhere and change code to use Gst.MiniObject.GetObject()
instead of GLib.Opaque.GetOpaque().
It's currently not possible to implement or use GInterfaces on mini objects
but apart from that this should be a great improvement, especially new
mini object classes can be defined in C# now.
As C# interfaces don't allow a default implementation we
add a static Gst.PresetDefault class that provides static
methods for calling the default GstPreset method implementations.
Unfortunately this requires us to work around Gtk# being unable
to handle static interface methods and Gtk# being unable to
allow us to override interface adapter code...