summaryrefslogtreecommitdiffstats
path: root/WhisperNet/Internal/sProgressSink.cs
blob: 9155677caa040d5bbbe13c20238e59d908d58958 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#pragma warning disable CS0649  // Field is never assigned to
using System.Runtime.InteropServices;

namespace Whisper.Internal
{
	/// <summary>A callback to get notified about the progress</summary>
	[UnmanagedFunctionPointer( CallingConvention.StdCall )]
	delegate int pfnReportProgress( double value, IntPtr context, IntPtr pv );

	/// <summary>C structure with a progress reporting function pointer</summary>
	public struct sProgressSink
	{
		/// <summary>A callback to get notified about the progress</summary>
		[MarshalAs( UnmanagedType.FunctionPtr )]
		internal pfnReportProgress? pfn;

		/// <summary>Last parameter to the callback</summary>
		internal IntPtr pv;
	}
}