There are differences in the operation of real EFT and the simulator. In the simulator, information about the card is always sent when the card status changes, in real EFT this is not the case, EFT sends information about the card regardless of the change in the card insertion status.
In this version of the class it should be OK. As for changing the language, I have no way to check if it works. I don't have examples from AdvancedEcr.exe so I relied on .Net code
I didn't find a direct reference to ta_terminal_get_supported_languages, but found something like:
Code: Select all
{ FeatureType.Enum.HardwareListSupportedDisplayLanguages, "hw:SupportedLanguages" },
For ta_terminal_change_language_for_request I found this: https://six-tim.github.io/timapi/doc/cs ... st_String_ , from the description it is a transaction time language change, based on this code
Code: Select all
using SIX.TimApi.Protocol;
using System;
namespace SIX.TimApi.Protocol.Sixml
{
public class Notification_ChangeLanguage : SixmlMessage
{
private string m_FunctionGroup = null;
private string m_Function = null;
private string m_Language = null;
public string Function
{
get
{
return this.m_Function;
}
set
{
this.m_Function = value;
}
}
public string FunctionGroup
{
get
{
return this.m_FunctionGroup;
}
set
{
this.m_FunctionGroup = value;
}
}
public string Language
{
get
{
return this.m_Language;
}
set
{
this.m_Language = value;
}
}
public Notification_ChangeLanguage()
{
this.FunctionGroup = "Status";
this.Function = "ChangeLanguage";
}
public Notification_ChangeLanguage(Notification_ChangeLanguage value) : base(value)
{
this.m_FunctionGroup = value.m_FunctionGroup;
this.m_Function = value.m_Function;
this.m_Language = value.m_Language;
}
public Notification_ChangeLanguage(XmlNode node)
{
if (base.xmlHasAttribute(node, "FunctionGroup"))
{
this.m_FunctionGroup = base.xmlGetAttribute(node, "FunctionGroup");
}
if (base.xmlHasAttribute(node, "Function"))
{
this.m_Function = base.xmlGetAttribute(node, "Function");
}
if (base.xmlHasChild(node, "sixml:Language"))
{
this.m_Language = base.xmlGetChild(node, "sixml:Language").getTextContent();
}
}
public override string getFunction()
{
return this.m_Function;
}
public override string getFunctionGroup()
{
return this.m_FunctionGroup;
}
public override XmlNode toXmlNode()
{
XmlNode xmlNode = new XmlNode("sixml:Notification");
base.xmlSetAttribute(xmlNode, "xmlns:sixml", "http://www.worldline.com/");
if (this.m_FunctionGroup != null)
{
base.xmlSetAttribute(xmlNode, "FunctionGroup", this.m_FunctionGroup);
}
if (this.m_Function != null)
{
base.xmlSetAttribute(xmlNode, "Function", this.m_Function);
}
if (this.m_Language != null)
{
base.xmlAddChild(xmlNode, "sixml:Language", this.m_Language);
}
return xmlNode;
}
}
}