Skip to content

Commit 555492b

Browse files
authored
Merge pull request #972 from gircore/update-dependencies
Update dependencies
2 parents 807ef28 + 843f944 commit 555492b

File tree

22 files changed

+489
-22
lines changed

22 files changed

+489
-22
lines changed

ext/gir-files

src/Generation/Generator/Renderer/Internal/Callback/CallbackDelegate.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ namespace {Namespace.GetInternalName(callback.Namespace)}
2424
}
2525
catch (Exception ex)
2626
{
27-
Log.Warning($"Did not generate callback delegatre '{callback.Name}': {ex.Message}");
27+
Log.Warning($"Did not generate callback delegate '{callback.Name}': {ex.Message}");
2828

2929
return string.Empty;
3030
}

src/Generation/Generator/Renderer/Internal/Parameter/CallbackParameters.cs

+1
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ internal static class CallbackParameters
3737
new Parameter.RecordGLibPtrArray(),
3838
new Parameter.String(),
3939
new Parameter.Union(),
40+
new Parameter.UnionArray(),
4041
new Parameter.UnsignedPointer(),
4142
new Parameter.Utf8StringArrayCallback(),
4243
new Parameter.Void(),
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
namespace Generator.Renderer.Internal.Parameter;
2+
3+
internal class UnionArray : ParameterConverter
4+
{
5+
public bool Supports(GirModel.AnyType anyType)
6+
{
7+
return anyType.IsArray<GirModel.Union>();
8+
}
9+
10+
public RenderableParameter Convert(GirModel.Parameter parameter)
11+
{
12+
if (parameter.AnyTypeOrVarArgs.AsT0.AsT1.IsPointer)
13+
return PointerArray(parameter);
14+
15+
return DataArray(parameter);
16+
}
17+
18+
private static RenderableParameter PointerArray(GirModel.Parameter parameter)
19+
{
20+
return new RenderableParameter(
21+
Attribute: string.Empty,
22+
Direction: string.Empty,
23+
NullableTypeName: $"ref {Model.Type.Pointer}",
24+
Name: Model.Parameter.GetName(parameter)
25+
);
26+
}
27+
28+
private static RenderableParameter DataArray(GirModel.Parameter parameter)
29+
{
30+
var union = (GirModel.Union) parameter.AnyTypeOrVarArgs.AsT0.AsT1.AnyType.AsT0;
31+
32+
return new RenderableParameter(
33+
Attribute: string.Empty,
34+
Direction: string.Empty,
35+
NullableTypeName: Model.Union.GetFullyQualifiedInternalStructName(union) + "[]",
36+
Name: Model.Parameter.GetName(parameter)
37+
);
38+
}
39+
}

src/Generation/Generator/Renderer/Internal/Parameter/Parameters.cs

+1
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ internal static class Parameters
4242
new Parameter.String(),
4343
new Parameter.StringGLibPtrArray(),
4444
new Parameter.Union(),
45+
new Parameter.UnionArray(),
4546
new Parameter.UnsignedPointer(),
4647
new Parameter.Utf8StringArray(),
4748
new Parameter.Void(),

src/Generation/Generator/Renderer/Internal/ParameterToManagedExpression/Converter/Record.cs

+23-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System;
22
using System.Collections.Generic;
3+
using GirModel;
34

45
namespace Generator.Renderer.Internal.ParameterToManagedExpressions;
56

@@ -27,12 +28,31 @@ private static void ErrorRecord(ParameterToManagedData parameterData)
2728

2829
private static void RegularRecord(ParameterToManagedData parameterData)
2930
{
30-
if (parameterData.Parameter.Direction != GirModel.Direction.In)
31-
throw new NotImplementedException($"{parameterData.Parameter.AnyTypeOrVarArgs}: record with direction != in not yet supported");
32-
3331
if (!parameterData.Parameter.IsPointer)
3432
throw new NotImplementedException($"Unpointed record parameter {parameterData.Parameter.Name} ({parameterData.Parameter.AnyTypeOrVarArgs}) can not yet be converted to managed");
3533

34+
switch (parameterData.Parameter.Direction)
35+
{
36+
case Direction.In:
37+
InRecord(parameterData);
38+
break;
39+
case Direction.Out:
40+
OutRecord(parameterData);
41+
break;
42+
default:
43+
throw new NotImplementedException($"{parameterData.Parameter.AnyTypeOrVarArgs}: record with direction {parameterData.Parameter.Direction} not yet supported");
44+
}
45+
}
46+
47+
private static void OutRecord(ParameterToManagedData parameterData)
48+
{
49+
var parameterName = Model.Parameter.GetName(parameterData.Parameter);
50+
parameterData.SetSignatureName(parameterName);
51+
parameterData.SetCallName("out " + parameterName);
52+
}
53+
54+
private static void InRecord(ParameterToManagedData parameterData)
55+
{
3656
var record = (GirModel.Record) parameterData.Parameter.AnyTypeOrVarArgs.AsT0.AsT0;
3757
var ownedHandle = parameterData.Parameter.Transfer == GirModel.Transfer.Full;
3858
var variableName = Model.Parameter.GetConvertedName(parameterData.Parameter);
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
namespace Generator.Renderer.Public.Parameter;
1+
using System;
2+
3+
namespace Generator.Renderer.Public.Parameter;
24

35
internal class Record : ParameterConverter
46
{
@@ -8,24 +10,30 @@ public bool Supports(GirModel.AnyType anyType)
810
}
911

1012
public ParameterTypeData Create(GirModel.Parameter parameter)
13+
{
14+
return parameter.Direction switch
15+
{
16+
GirModel.Direction.In => InRecord(parameter),
17+
GirModel.Direction.Out => OutRecord(parameter),
18+
_ => throw new Exception($"Unsupported record direction {parameter.Direction}")
19+
};
20+
}
21+
22+
private ParameterTypeData OutRecord(GirModel.Parameter parameter)
1123
{
1224
return new ParameterTypeData(
13-
Direction: GetDirection(parameter),
14-
NullableTypeName: GetNullableTypeName(parameter)
25+
Direction: ParameterDirection.Out(),
26+
NullableTypeName: Model.Type.Pointer
1527
);
1628
}
1729

18-
private static string GetNullableTypeName(GirModel.Parameter parameter)
30+
private static ParameterTypeData InRecord(GirModel.Parameter parameter)
1931
{
2032
var type = (GirModel.Record) parameter.AnyTypeOrVarArgs.AsT0.AsT0;
21-
return Model.ComplexType.GetFullyQualified(type) + Nullable.Render(parameter);
22-
}
2333

24-
private static string GetDirection(GirModel.Parameter parameter) => parameter switch
25-
{
26-
{ Direction: GirModel.Direction.InOut } => ParameterDirection.Ref(),
27-
{ Direction: GirModel.Direction.Out, CallerAllocates: true } => ParameterDirection.Ref(),
28-
{ Direction: GirModel.Direction.Out } => ParameterDirection.Out(),
29-
_ => ParameterDirection.In()
30-
};
34+
return new ParameterTypeData(
35+
Direction: ParameterDirection.In(),
36+
NullableTypeName: Model.ComplexType.GetFullyQualified(type) + Nullable.Render(parameter)
37+
);
38+
}
3139
}

src/Generation/GirModel/GirModel.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@
33
<RootNamespace>GirModule</RootNamespace>
44
</PropertyGroup>
55
<ItemGroup>
6-
<PackageReference Include="OneOf" Version="3.0.255" />
6+
<PackageReference Include="OneOf" Version="3.0.263" />
77
</ItemGroup>
88
</Project>

src/GirCore.Logging.props

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="utf-8" ?>
22
<Project>
33
<ItemGroup>
4-
<PackageReference Include="Serilog" Version="3.0.1" />
5-
<PackageReference Include="Serilog.Sinks.Console" Version="4.1.0" />
4+
<PackageReference Include="Serilog" Version="3.1.1" />
5+
<PackageReference Include="Serilog.Sinks.Console" Version="5.0.0" />
66
</ItemGroup>
77
</Project>

src/GirCore.Testing.props

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<ItemGroup>
88
<PackageReference Include="FluentAssertions" Version="6.12.0" />
9-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.7.2" />
9+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
1010
<PackageReference Include="MSTest.TestAdapter" Version="3.1.1" />
1111
<PackageReference Include="MSTest.TestFramework" Version="3.1.1" />
1212
<PackageReference Include="coverlet.collector" Version="6.0.0" />
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
using System;
2+
3+
namespace Gdk.Internal;
4+
5+
public partial class DragSurfaceSizeHandle
6+
{
7+
public partial DragSurfaceSizeOwnedHandle OwnedCopy()
8+
{
9+
throw new NotImplementedException();
10+
}
11+
12+
public partial DragSurfaceSizeUnownedHandle UnownedCopy()
13+
{
14+
throw new NotImplementedException();
15+
}
16+
}
17+
18+
public partial class DragSurfaceSizeOwnedHandle
19+
{
20+
public static partial DragSurfaceSizeOwnedHandle FromUnowned(IntPtr ptr)
21+
{
22+
throw new NotImplementedException();
23+
}
24+
25+
protected override partial bool ReleaseHandle()
26+
{
27+
throw new NotImplementedException();
28+
}
29+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
using System;
2+
3+
namespace Gst.Internal;
4+
5+
public partial class DebugMessageHandle
6+
{
7+
public partial DebugMessageOwnedHandle OwnedCopy()
8+
{
9+
throw new NotImplementedException();
10+
}
11+
12+
public partial DebugMessageUnownedHandle UnownedCopy()
13+
{
14+
throw new NotImplementedException();
15+
}
16+
}
17+
18+
public partial class DebugMessageOwnedHandle
19+
{
20+
public static partial DebugMessageOwnedHandle FromUnowned(IntPtr ptr)
21+
{
22+
throw new NotImplementedException();
23+
}
24+
25+
protected override partial bool ReleaseHandle()
26+
{
27+
throw new NotImplementedException();
28+
}
29+
}
+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
using System;
2+
using System.Runtime.InteropServices;
3+
4+
namespace Gst.Internal;
5+
6+
public partial class PollHandle
7+
{
8+
public partial PollOwnedHandle OwnedCopy()
9+
{
10+
throw new NotImplementedException();
11+
}
12+
13+
public partial PollUnownedHandle UnownedCopy()
14+
{
15+
throw new NotImplementedException();
16+
}
17+
}
18+
19+
public partial class PollOwnedHandle
20+
{
21+
[DllImport(ImportResolver.Library, EntryPoint = "gst_poll_free")]
22+
private static extern void Free(IntPtr set);
23+
24+
public static partial PollOwnedHandle FromUnowned(IntPtr ptr)
25+
{
26+
throw new NotImplementedException();
27+
}
28+
29+
protected override partial bool ReleaseHandle()
30+
{
31+
Free(handle);
32+
return true;
33+
}
34+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
using System;
2+
using System.Runtime.InteropServices;
3+
4+
namespace GstAudio.Internal;
5+
6+
public partial class AudioChannelMixerHandle
7+
{
8+
public partial AudioChannelMixerOwnedHandle OwnedCopy()
9+
{
10+
throw new NotImplementedException();
11+
}
12+
13+
public partial AudioChannelMixerUnownedHandle UnownedCopy()
14+
{
15+
throw new NotImplementedException();
16+
}
17+
}
18+
19+
public partial class AudioChannelMixerOwnedHandle
20+
{
21+
[DllImport(ImportResolver.Library, EntryPoint = "gst_audio_channel_mixer_free")]
22+
private static extern void Free(IntPtr data);
23+
24+
public static partial AudioChannelMixerOwnedHandle FromUnowned(IntPtr ptr)
25+
{
26+
throw new NotImplementedException();
27+
}
28+
29+
protected override partial bool ReleaseHandle()
30+
{
31+
Free(handle);
32+
return true;
33+
}
34+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
using System;
2+
using System.Runtime.InteropServices;
3+
4+
namespace GstAudio.Internal;
5+
6+
public partial class AudioQuantizeHandle
7+
{
8+
public partial AudioQuantizeOwnedHandle OwnedCopy()
9+
{
10+
throw new NotImplementedException();
11+
}
12+
13+
public partial AudioQuantizeUnownedHandle UnownedCopy()
14+
{
15+
throw new NotImplementedException();
16+
}
17+
}
18+
19+
public partial class AudioQuantizeOwnedHandle
20+
{
21+
[DllImport(ImportResolver.Library, EntryPoint = "gst_audio_quantize_free")]
22+
private static extern void Free(IntPtr data);
23+
24+
public static partial AudioQuantizeOwnedHandle FromUnowned(IntPtr ptr)
25+
{
26+
throw new NotImplementedException();
27+
}
28+
29+
protected override partial bool ReleaseHandle()
30+
{
31+
Free(handle);
32+
return true;
33+
}
34+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
using System;
2+
using System.Runtime.InteropServices;
3+
4+
namespace GstAudio.Internal;
5+
6+
public partial class AudioResamplerHandle
7+
{
8+
public partial AudioResamplerOwnedHandle OwnedCopy()
9+
{
10+
throw new NotImplementedException();
11+
}
12+
13+
public partial AudioResamplerUnownedHandle UnownedCopy()
14+
{
15+
throw new NotImplementedException();
16+
}
17+
}
18+
19+
public partial class AudioResamplerOwnedHandle
20+
{
21+
[DllImport(ImportResolver.Library, EntryPoint = "gst_audio_resampler_free")]
22+
private static extern void Free(IntPtr data);
23+
24+
public static partial AudioResamplerOwnedHandle FromUnowned(IntPtr ptr)
25+
{
26+
throw new NotImplementedException();
27+
}
28+
29+
protected override partial bool ReleaseHandle()
30+
{
31+
Free(handle);
32+
return true;
33+
}
34+
}

0 commit comments

Comments
 (0)