mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-01 12:02:27 +00:00
Add MiniObject code generator specific cases at more places
This commit is contained in:
parent
1793e22f84
commit
74756f2c2a
4 changed files with 5 additions and 3 deletions
|
@ -37,7 +37,7 @@ namespace GtkSharp.Generation {
|
||||||
{
|
{
|
||||||
if (elem.HasAttribute ("preferred"))
|
if (elem.HasAttribute ("preferred"))
|
||||||
preferred = true;
|
preferred = true;
|
||||||
if (implementor is ObjectGen)
|
if (implementor is ObjectGen || implementor is MiniObjectGen)
|
||||||
needs_chaining = true;
|
needs_chaining = true;
|
||||||
name = implementor.Name;
|
name = implementor.Name;
|
||||||
}
|
}
|
||||||
|
|
|
@ -124,6 +124,8 @@ namespace GtkSharp.Generation {
|
||||||
|
|
||||||
if (igen is ObjectGen)
|
if (igen is ObjectGen)
|
||||||
return "GLib.GType.Object";
|
return "GLib.GType.Object";
|
||||||
|
if (igen is MiniObjectGen)
|
||||||
|
return "Gst.MiniObject.GType";
|
||||||
if (igen is BoxedGen)
|
if (igen is BoxedGen)
|
||||||
return retval.CSType + ".GType";
|
return retval.CSType + ".GType";
|
||||||
if (igen is EnumGen)
|
if (igen is EnumGen)
|
||||||
|
|
|
@ -118,7 +118,7 @@ namespace GtkSharp.Generation {
|
||||||
|
|
||||||
if (Name == "ToString" && Parameters.Count == 0)
|
if (Name == "ToString" && Parameters.Count == 0)
|
||||||
sw.Write("override ");
|
sw.Write("override ");
|
||||||
else if (Name == "GetGType" && container_type is ObjectGen)
|
else if (Name == "GetGType" && (container_type is ObjectGen || container_type is MiniObjectGen))
|
||||||
sw.Write("new ");
|
sw.Write("new ");
|
||||||
else if (Modifiers == "new " || (dup != null && ((dup.Signature != null && Signature != null && dup.Signature.ToString() == Signature.ToString()) || (dup.Signature == null && Signature == null))))
|
else if (Modifiers == "new " || (dup != null && ((dup.Signature != null && Signature != null && dup.Signature.ToString() == Signature.ToString()) || (dup.Signature == null && Signature == null))))
|
||||||
sw.Write("new ");
|
sw.Write("new ");
|
||||||
|
|
|
@ -146,7 +146,7 @@ namespace GtkSharp.Generation {
|
||||||
|
|
||||||
if (IGen is IManualMarshaler)
|
if (IGen is IManualMarshaler)
|
||||||
return (IGen as IManualMarshaler).AllocNative (var);
|
return (IGen as IManualMarshaler).AllocNative (var);
|
||||||
else if (IGen is ObjectGen && owned)
|
else if ((IGen is ObjectGen || IGen is MiniObjectGen) && owned)
|
||||||
return var + " == null ? IntPtr.Zero : " + var + ".OwnedHandle";
|
return var + " == null ? IntPtr.Zero : " + var + ".OwnedHandle";
|
||||||
else if (IGen is OpaqueGen && owned)
|
else if (IGen is OpaqueGen && owned)
|
||||||
return var + " == null ? IntPtr.Zero : " + var + ".OwnedCopy";
|
return var + " == null ? IntPtr.Zero : " + var + ".OwnedCopy";
|
||||||
|
|
Loading…
Reference in a new issue