using System.Collections;
using System.Windows.Forms;

namespace QC.QTMTargetHelper;

public interface IEmbeddedClient
{
	string TargetName { get; }

	bool Connected { get; set; }

	bool ConnectOnCreation { get; }

	ArrayList Configuration { get; set; }

	event ScriptDoneEventHandler OnScriptDone;

	event Embedded_TestDoneEventHandler OnTestDone;

	event Embedded_TextOutEventHandler OnTextOut;

	bool AddDll(out string[] dllName);

	bool AddScript(out string[] scripts);

	bool Connect();

	void UnLoadTestDLL(string dllName, ref string result);

	bool Disconnect();

	void GetAllParamInfo(string testName, ref object objParams, ref string result);

	void GetResultsParamInfo(ref object objResult);

	void LoadTestDLL(string DllName, ref string ListOfTests, ref string result);

	void MenuMessage(string key);

	DialogResult Options();

	bool ProcessTargetMessage(TargetMessageEventsArg e);

	void RunTest(string sender, string containerName, string TestName, ref object ObjectInput, ref object objDetails, ref string result);
}
