using System;
using System.Xml;
using Microsoft.Web.Services2.Security.X509;

namespace WS2Client
{
	public interface IRun
	{
		XmlDocument getSoapResponse();
		X509Certificate signCertResponse();
		
		void Init(string URL, string targetURL, String userName, String password, X509Certificate loginCert, X509Certificate signCert);
		
		void AddBoolParam(string a_Name,bool a_Value);
		void AddDateParam(string a_Name,DateTime a_Value);
		void AddDateTimeParam(string a_Name,DateTime a_Value);
		void AddStringParam(string a_Name,string a_Value);
		void AddIntParam(string a_Name,int a_Value);
		void AddXmlParam(string a_Name,string a_Value);
		// TODO: pridat, tento datovy typ existuje
		//void AddXmlStringParam(string a_Name,string a_Value);
		void AddDecimalParam(string a_Name,Decimal a_Value);

		OutParamsShared RunSynchronous(String FID);
		OutParamsShared RunAsynchronous(String FID);
		OutParamsShared CheckRQResult(int RQID);
		OutParamsShared GetActualDateTime();

		void Dispose();
	}
}