using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

namespace HIVECOMKERNELLib;

[ComImport]
[InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
[Guid("4F7EC0D2-7DFC-4B94-B629-4EFE8B571C96")]
[TypeLibType(TypeLibTypeFlags.FDispatchable)]
public interface _IHKernelEvents
{
	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1)]
	void TestDone([MarshalAs(UnmanagedType.BStr)] string TestName, int TestResult);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(2)]
	void OnTextOut([MarshalAs(UnmanagedType.BStr)] string WindowCaption, [MarshalAs(UnmanagedType.BStr)] string logText);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(3)]
	void OnPrintMsg([MarshalAs(UnmanagedType.BStr)] string WindowCaption, [MarshalAs(UnmanagedType.BStr)] string sTime, [MarshalAs(UnmanagedType.BStr)] string Filter, [MarshalAs(UnmanagedType.BStr)] string logText);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(4)]
	void OnTPLWindowMsg(int MsgID, [MarshalAs(UnmanagedType.BStr)] string WindowCaption, [MarshalAs(UnmanagedType.BStr)] string param1, [MarshalAs(UnmanagedType.BStr)] string param2, [MarshalAs(UnmanagedType.BStr)] string param3, [MarshalAs(UnmanagedType.BStr)] string param4);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(5)]
	void OnHTMLWindowMsg(int MsgID, [MarshalAs(UnmanagedType.BStr)] string WindowCaption, [MarshalAs(UnmanagedType.BStr)] string TextStr);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(6)]
	void SetSUITETestParamDetails(int DataInfo, int ID, [MarshalAs(UnmanagedType.BStr)] string ParamName, [MarshalAs(UnmanagedType.BStr)] string Value, [MarshalAs(UnmanagedType.BStr)] string Units, [MarshalAs(UnmanagedType.BStr)] string MinLimit, [MarshalAs(UnmanagedType.BStr)] string MaxLimit);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(7)]
	void OnSetGlobalVariable([MarshalAs(UnmanagedType.BStr)] string Name, [MarshalAs(UnmanagedType.BStr)] string Value);
}
