diff --git a/.tx/config b/.tx/config index 02249049818846df93ce2768f27c3180f3fe94e6..7b16a2951ac903311060a032eddfd300193388c8 100644 --- a/.tx/config +++ b/.tx/config @@ -627,6 +627,11 @@ file_filter = addons/pos_sale/i18n/<lang>.po source_file = addons/pos_sale/i18n/pos_sale.pot source_lang = en +[odoo-master.pos_six] +file_filter = addons/pos_six/i18n/<lang>.po +source_file = addons/pos_six/i18n/pos_six.pot +source_lang = en + [odoo-master.procurement_jit] file_filter = addons/procurement_jit/i18n/<lang>.po source_file = addons/procurement_jit/i18n/procurement_jit.pot diff --git a/addons/point_of_sale/models/res_config_settings.py b/addons/point_of_sale/models/res_config_settings.py index 7bae915dd3ef61fbec2755974c4a760688f9b119..30b92b95e64d3ab5890aaf53d427be40e5bca7eb 100644 --- a/addons/point_of_sale/models/res_config_settings.py +++ b/addons/point_of_sale/models/res_config_settings.py @@ -9,6 +9,7 @@ class ResConfigSettings(models.TransientModel): sale_tax_id = fields.Many2one('account.tax', string="Default Sale Tax", related='company_id.account_sale_tax_id', readonly=False) module_pos_mercury = fields.Boolean(string="Vantiv Payment Terminal", help="The transactions are processed by Vantiv. Set your Vantiv credentials on the related payment method.") module_pos_adyen = fields.Boolean(string="Adyen Payment Terminal", help="The transactions are processed by Adyen. Set your Adyen credentials on the related payment method.") + module_pos_six = fields.Boolean(string="Six Payment Terminal", help="The transactions are processed by Six. Set the IP address of the terminal on the related payment method.") update_stock_quantities = fields.Selection(related="company_id.point_of_sale_update_stock_quantities", readonly=False) def set_values(self): diff --git a/addons/point_of_sale/views/res_config_settings_views.xml b/addons/point_of_sale/views/res_config_settings_views.xml index b9d31e82d6a4413410a192022ffe923fa82ee7ce..17e2525629b1bdefa4f6f5b44375258a88710762 100644 --- a/addons/point_of_sale/views/res_config_settings_views.xml +++ b/addons/point_of_sale/views/res_config_settings_views.xml @@ -138,6 +138,18 @@ </div> </div> </div> + <div class="col-12 col-lg-6 o_setting_box" title="The transactions are processed by Six. Set the IP address of the terminal on the related payment method."> + <div class="o_setting_left_pane"> + <field name="module_pos_six"/> + </div> + <div class="o_setting_right_pane"> + <label for="module_pos_six" string="Six"/> + <a href="https://www.odoo.com/documentation/user/13.0/point_of_sale/payment/six.html" title="Documentation" class="o_doc_link" target="_blank"></a> + <div class="text-muted"> + Accept payments with a Six payment terminal + </div> + </div> + </div> </div> </div> </xpath> diff --git a/addons/pos_six/__init__.py b/addons/pos_six/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..2a2787f6bf392eeff751fcb33cd182c1ec5509cd --- /dev/null +++ b/addons/pos_six/__init__.py @@ -0,0 +1,4 @@ +# coding: utf-8 +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import models diff --git a/addons/pos_six/__manifest__.py b/addons/pos_six/__manifest__.py new file mode 100644 index 0000000000000000000000000000000000000000..d59c415b353c95616d81f3b25a5edd4c9ccccd6c --- /dev/null +++ b/addons/pos_six/__manifest__.py @@ -0,0 +1,17 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. +{ + 'name': 'POS Six', + 'version': '1.0', + 'category': 'Sales/Point Of Sale', + 'sequence': 6, + 'summary': 'Integrate your POS with a Six payment terminal', + 'description': '', + 'data': [ + 'views/pos_payment_method_views.xml', + 'views/point_of_sale_assets.xml', + ], + 'depends': ['point_of_sale'], + 'installable': True, + 'license': 'OEEL-1', +} diff --git a/addons/pos_six/i18n/pos_six.pot b/addons/pos_six/i18n/pos_six.pot new file mode 100644 index 0000000000000000000000000000000000000000..29a10749a142a4a7af92c7f217697754d2d113b3 --- /dev/null +++ b/addons/pos_six/i18n/pos_six.pot @@ -0,0 +1,40 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * pos_six +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 13.0+e\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-02-25 08:44+0000\n" +"PO-Revision-Date: 2020-02-25 08:44+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: pos_six +#: model:ir.model,name:pos_six.model_pos_payment_method +msgid "Point of Sale Payment Methods" +msgstr "" + +#. module: pos_six +#: model:ir.model.fields,field_description:pos_six.field_pos_payment_method__six_terminal_ip +msgid "Six Terminal IP" +msgstr "" + +#. module: pos_six +#. openerp-web +#: code:addons/pos_six/static/src/js/payment_six.js:0 +#, python-format +msgid "Terminal Error" +msgstr "" + +#. module: pos_six +#. openerp-web +#: code:addons/pos_six/static/src/js/payment_six.js:0 +#, python-format +msgid "Transaction was not processed correctly" +msgstr "" diff --git a/addons/pos_six/models/__init__.py b/addons/pos_six/models/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..54035f9421cd877b88f70afa1af6e950c1cd2474 --- /dev/null +++ b/addons/pos_six/models/__init__.py @@ -0,0 +1,4 @@ +# coding: utf-8 +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import pos_payment_method diff --git a/addons/pos_six/models/pos_payment_method.py b/addons/pos_six/models/pos_payment_method.py new file mode 100644 index 0000000000000000000000000000000000000000..71a165c636e77addf08baf8814434731c29f4a8a --- /dev/null +++ b/addons/pos_six/models/pos_payment_method.py @@ -0,0 +1,13 @@ +# coding: utf-8 +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import fields, models + + +class PosPaymentMethod(models.Model): + _inherit = 'pos.payment.method' + + def _get_payment_terminal_selection(self): + return super(PosPaymentMethod, self)._get_payment_terminal_selection() + [('six', 'SIX')] + + six_terminal_ip = fields.Char('Six Terminal IP') diff --git a/addons/pos_six/static/lib/six_timapi/timapi.bundle.js b/addons/pos_six/static/lib/six_timapi/timapi.bundle.js new file mode 100644 index 0000000000000000000000000000000000000000..e5cc8bd186ac054492473953ca57dcf2b327f2f2 --- /dev/null +++ b/addons/pos_six/static/lib/six_timapi/timapi.bundle.js @@ -0,0 +1,36912 @@ +var timapi; +(function (timapi) { + let TimeDateFormat; + (function (TimeDateFormat) { + TimeDateFormat["time"] = "hh:mm:ss"; + TimeDateFormat["date"] = "dd.MM.yyyy"; + TimeDateFormat["regular"] = "dd-MM-yyyy hh:mm:ss"; + })(TimeDateFormat = timapi.TimeDateFormat || (timapi.TimeDateFormat = {})); + class TimeDate { + constructor(yearOrFormatOrDate, monthOrValue, day, hour, minute, second) { + let date; + switch (arguments.length) { + case 6: { + this.$year = yearOrFormatOrDate; + this.$month = monthOrValue; + this.$day = day; + this.$hour = hour; + this.$minute = minute; + this.$second = second; + break; + } + case 2: { + const format = yearOrFormatOrDate; + const value = monthOrValue; + this.initWithFormatAndValue(format, value); + break; + } + case 1: { + date = yearOrFormatOrDate; + break; + } + case 0: { + date = new Date(); + break; + } + default: { + throw new Error("Invalid argument"); + } + } + if (date !== undefined) { + this.$year = date.getFullYear(); + this.$month = date.getMonth(); + this.$day = date.getDate(); + this.$hour = date.getHours(); + this.$minute = date.getMinutes(); + this.$second = date.getSeconds(); + } + } + get $year() { + return this.year; + } + set $year(value) { + this.year = value; + } + get $month() { + return this.month; + } + set $month(value) { + this.month = value; + } + get $day() { + return this.day; + } + set $day(value) { + this.day = value; + } + get $hour() { + return this.hour; + } + set $hour(value) { + this.hour = value; + } + get $minute() { + return this.minute; + } + set $minute(value) { + this.minute = value; + } + get $second() { + return this.second; + } + set $second(value) { + this.second = value; + } + format(format) { + const year4 = this.$year.toString(); + const year2 = (this.$year % 100).toString(); + const month = (this.$month + 1).toString(); + const day = this.$day.toString(); + const hour = this.$hour.toString(); + const minute = this.$minute.toString(); + const second = this.$second.toString(); + const result = format + .replace("yyyy", "0".repeat(4 - year4.length) + year4) + .replace("yy", "0".repeat(2 - year2.length) + year2) + .replace("MM", "0".repeat(2 - month.length) + month) + .replace("dd", "0".repeat(2 - day.length) + day) + .replace("HH", "0".repeat(2 - hour.length) + hour) + .replace("mm", "0".repeat(2 - minute.length) + minute) + .replace("ss", "0".repeat(2 - second.length) + second) + .replace("Z", "+0000"); + return result; + } + initWithFormatAndValue(format, value) { + format = format.replace(/[^a-zA-Z0-9]/g, ""); + const startIndexYear = format.indexOf("y"); + const endIndexYear = format.lastIndexOf("y"); + this.$year = parseInt(value.slice(startIndexYear, endIndexYear + 1), undefined); + const startIndexMonth = format.indexOf("M"); + const endIndexMonth = format.lastIndexOf("M"); + this.$month = parseInt(value.slice(startIndexMonth, endIndexMonth + 1), undefined); + const startIndexDay = format.indexOf("d"); + const endIndexDay = format.lastIndexOf("d"); + this.$day = parseInt(value.slice(startIndexDay, endIndexDay + 1), undefined); + const startIndexHour = format.indexOf("H"); + const endIndexHour = format.lastIndexOf("H"); + this.$hour = parseInt(value.slice(startIndexHour, endIndexHour + 1), undefined); + const startIndexMinute = format.indexOf("m"); + const endIndexMinute = format.lastIndexOf("m"); + this.$minute = parseInt(value.slice(startIndexMinute, endIndexMinute + 1), undefined); + const startIndexSecond = format.indexOf("s"); + const endIndexSecond = format.lastIndexOf("s"); + this.$second = parseInt(value.slice(startIndexSecond, endIndexSecond + 1), undefined); + } + toStringRegular() { + return this.format(TimeDateFormat.regular); + } + toStringReceiptDate() { + return this.format(TimeDateFormat.date); + } + toStringReceiptTime() { + return this.format(TimeDateFormat.time); + } + } + timapi.TimeDate = TimeDate; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + var logging; + (function (logging) { + let ErrorCode; + (function (ErrorCode) { + ErrorCode[ErrorCode["CLOSE_FAILURE"] = 0] = "CLOSE_FAILURE"; + ErrorCode[ErrorCode["FLUSH_FAILURE"] = 1] = "FLUSH_FAILURE"; + ErrorCode[ErrorCode["GENERIC_FAILURE"] = 2] = "GENERIC_FAILURE"; + ErrorCode[ErrorCode["OPEN_FAILURE"] = 3] = "OPEN_FAILURE"; + ErrorCode[ErrorCode["WRITE_FAILURE"] = 4] = "WRITE_FAILURE"; + })(ErrorCode = logging.ErrorCode || (logging.ErrorCode = {})); + class ErrorManager { + error(msg, ex, code) { + console.error("Error [$code]: $msg"); + } + } + logging.ErrorManager = ErrorManager; + })(logging = timapi.logging || (timapi.logging = {})); +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + var logging; + (function (logging) { + let Level; + (function (Level) { + Level[Level["SEVERE"] = 0] = "SEVERE"; + Level[Level["WARNING"] = 1] = "WARNING"; + Level[Level["INFO"] = 2] = "INFO"; + Level[Level["CONFIG"] = 3] = "CONFIG"; + Level[Level["FINE"] = 4] = "FINE"; + Level[Level["FINER"] = 5] = "FINER"; + Level[Level["FINEST"] = 6] = "FINEST"; + Level[Level["OFF"] = 7] = "OFF"; + })(Level = logging.Level || (logging.Level = {})); + })(logging = timapi.logging || (timapi.logging = {})); +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + var logging; + (function (logging) { + class Log { + constructor($name) { + this.name = $name; + } + entering(sourceClass, sourceMethod, params) { + if (!this.isLoggable(logging.Level.FINEST)) { + return; + } + let logMessage = "Entering ->[" + + sourceClass + + "]: " + + sourceMethod; + if (params !== undefined) { + logMessage += "\nparams:"; + this.log(logging.Level.FINEST, logMessage, params); + } + else { + this.log(logging.Level.FINEST, logMessage); + } + } + exiting(sourceClass, sourceMethod, params) { + if (!this.isLoggable(logging.Level.FINEST)) { + return; + } + let logMessage = "Exiting ->[" + + sourceClass + + "]: " + + sourceMethod; + if (params !== undefined) { + logMessage += "\nparams:"; + this.log(logging.Level.FINEST, logMessage, params); + } + else { + this.log(logging.Level.FINEST, logMessage); + } + } + log(level, description, event) { + if (!this.isLoggable(level)) { + return; + } + let logMessage = "[" + + this.stringForLogLevel(level) + + "]: " + + description; + let stack = ""; + if ((level == logging.Level.SEVERE) || (level == logging.Level.WARNING)) { + stack = new Error().stack; + } + if (event !== undefined) { + console.log(logMessage, event, " (" + this.name + ")", stack); + } + else { + console.log(logMessage, " (" + this.name + ")", stack); + } + } + isLoggable(level) { + if (Log.logLevel == logging.Level.OFF) { + return false; + } + return level <= Log.logLevel; + } + stringForLogLevel(level) { + switch (level) { + case logging.Level.CONFIG: + return "CONFIG"; + case logging.Level.FINE: + return "FINE"; + case logging.Level.FINER: + return "FINER"; + case logging.Level.FINEST: + return "FINEST"; + case logging.Level.INFO: + return "INFO"; + case logging.Level.OFF: + return "OFF"; + case logging.Level.SEVERE: + return "SEVERE"; + case logging.Level.WARNING: + return "WARNING"; + default: + return ""; + } + } + } + Log.logLevel = logging.Level.SEVERE; + logging.Log = Log; + })(logging = timapi.logging || (timapi.logging = {})); +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + var logging; + (function (logging) { + class Logger { + constructor() { + this.loggers = new Array(); + } + static getInstance() { + if (Logger._instance == undefined) { + Logger._instance = new Logger(); + } + return Logger._instance; + } + static getLogger(name) { + let logger = Logger.getInstance().$loggers[name]; + if (logger == undefined) { + logger = new logging.Log(name); + } + return logger; + } + get $loggers() { + return this.loggers; + } + } + logging.Logger = Logger; + })(logging = timapi.logging || (timapi.logging = {})); +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + var logging; + (function (logging) { + class LogHandler { + close() { + } + flush() { + } + isLoggable(record) { + return true; + } + publish(record) { + console.log(record.$message); + } + reportError(msg, exception, code) { + console.error(msg); + } + } + logging.LogHandler = LogHandler; + })(logging = timapi.logging || (timapi.logging = {})); +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + var logging; + (function (logging) { + class LogRecord { + constructor($level, $message) { + this.level = $level; + this.message = $message; + } + get $message() { + return this.message; + } + set $message(value) { + this.message = value; + } + get $level() { + return this.level; + } + set $level(value) { + this.level = value; + } + } + logging.LogRecord = LogRecord; + })(logging = timapi.logging || (timapi.logging = {})); +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + var utils; + (function (utils) { + class StringBuilder { + constructor(value) { + this.holder = new Array(); + this.append(value); + } + append(value) { + if (value !== undefined && value !== undefined) { + this.holder.push(value); + } + return this; + } + toString() { + return this.holder.join(""); + } + } + utils.StringBuilder = StringBuilder; + })(utils = timapi.utils || (timapi.utils = {})); +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + var utils; + (function (utils) { + var ArrayAdditions; + (function (ArrayAdditions_1) { + class ArrayAdditions { + static remove(element, arr) { + let keys = Object.getOwnPropertyNames(element); + return arr.filter(arrElement => { + return arrElement !== element; + }); + } + } + ArrayAdditions_1.ArrayAdditions = ArrayAdditions; + })(ArrayAdditions = utils.ArrayAdditions || (utils.ArrayAdditions = {})); + })(utils = timapi.utils || (timapi.utils = {})); +})(timapi || (timapi = {})); +timapi.logging = timapi.logging || {}; +timapi.constants = timapi.constants || {}; +timapi.protocol = timapi.protocol || {}; +timapi.protocol.constants = timapi.protocol.constants || {}; +timapi.protocol.sixml = timapi.protocol.sixml || {}; +timapi.statemachine = timapi.statemachine || {}; +timapi.statemachine.states = timapi.statemachine.states || {}; +timapi.protocol.Container = function () { +}; +timapi.protocol.Container.prototype.toXmlNode = Object.abstractFunction; +timapi.protocol.Container.prototype.xmlHasAttribute = function (node, name) { + return node.attributes.has(name); +}; +timapi.protocol.Container.prototype.xmlHasChild = function (node, name) { + for (child of node.children) { + if (child.name == name) { + return true; + } + } + return false; +}; +timapi.protocol.Container.prototype.xmlGetAttribute = function (node, name) { + return node.attributes.get(name); +}; +timapi.protocol.Container.prototype.xmlGetChild = function (node, name) { + for (child of node.children) { + if (child.name == name) { + return child; + } + } + throw "No such element"; +}; +timapi.protocol.Container.prototype.xmlGetChildren = function (node, name) { + var list = []; + for (child of node.children) { + if (child.name == name) { + list.push(child); + } + } + return list; +}; +timapi.protocol.Container.prototype.xmlSetAttribute = function (node, name, value) { + node.attributes.set(name, value); +}; +timapi.protocol.Container.prototype.xmlAddChild = function (node, name, value) { + if (arguments.length == 3 && typeof value === "string") { + var child = new timapi.protocol.XmlNode(name); + child.textContent = value; + node.children.push(child); + } + else if (arguments.length == 3 && value instanceof timapi.protocol.Container) { + node.children.push(value.toXmlNode()); + } + else { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.Message = function () { +}; +timapi.protocol.Message.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.TimeDate = timapi.TimeDate; +timapi.protocol.XmlNode = function (name) { + this.name = name; + this.children = []; + this.attributes = new Map(); +}; +timapi.protocol.XmlNode.prototype.name = ""; +timapi.protocol.XmlNode.prototype.textContent = ""; +timapi.protocol.XmlNode.prototype.children = undefined; +timapi.protocol.XmlNode.prototype.attributes = undefined; +var timapi; +(function (timapi) { + var protocol; + (function (protocol) { + class XmlWriter { + constructor($useDoubleQuotes, $useAsciiEncoding) { + this.stringDelimiter = "\""; + this.encoding = "UTF-8"; + if ($useDoubleQuotes) { + this.stringDelimiter = "\""; + } + else { + this.stringDelimiter = "\'"; + } + if ($useAsciiEncoding) { + this.encoding = "US-ASCII"; + } + else { + this.encoding = "UTF-8"; + } + } + writeXml(node, builder) { + if (builder == undefined) { + builder = new timapi.utils.StringBuilder(); + } + builder.append("<?xml version="); + builder.append(this.stringDelimiter); + builder.append("1.0"); + builder.append(this.stringDelimiter); + builder.append(" encoding="); + builder.append(this.stringDelimiter); + builder.append(this.encoding); + builder.append(this.stringDelimiter); + builder.append("?>"); + this.writeXmlNode(node, builder); + return timapi.utils.StringHelper.makeString(builder); + } + writeXmlNode(node, builder) { + builder.append("<").append(node.name); + Array.from(node.attributes).forEach(function (entry) { + builder.append(" "); + builder.append(entry[0]); + builder.append("="); + builder.append(this.stringDelimiter); + builder.append(entry[1]); + builder.append(this.stringDelimiter); + }, this); + if (node.children.length === 0) { + if (node.textContent.length === 0) { + builder.append("/>"); + } + else { + builder.append(">"); + this.escapeXmlString(builder, node.textContent); + builder.append("</").append(node.name).append(">"); + } + } + else { + builder.append(">"); + for (let child of node.children) { + this.writeXmlNode(child, builder); + } + builder.append("</").append(node.name).append(">"); + } + } + escapeXmlString(builder, text) { + let stringValue = text.toString(); + let len = stringValue.length; + for (let i = 0; i < len; i++) { + let character = stringValue[i]; + switch (character) { + case "<": + builder.append("<"); + break; + case ">": + builder.append(">"); + break; + case "\"": + builder.append("""); + break; + case "&": + builder.append("&"); + break; + case "\'": + builder.append("'"); + break; + default: + if (character > 0x7e) { + builder.append("&#").append(character).append(";"); + } + else { + builder.append(character); + } + } + } + } + } + protocol.XmlWriter = XmlWriter; + })(protocol = timapi.protocol || (timapi.protocol = {})); +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + var constants; + (function (constants) { + let RequestType; + (function (RequestType) { + RequestType[RequestType["connect"] = 0] = "connect"; + RequestType[RequestType["activate"] = 1] = "activate"; + RequestType[RequestType["applicationInformation"] = 2] = "applicationInformation"; + RequestType[RequestType["balance"] = 3] = "balance"; + RequestType[RequestType["changeSettings"] = 4] = "changeSettings"; + RequestType[RequestType["commit"] = 5] = "commit"; + RequestType[RequestType["counterRequest"] = 6] = "counterRequest"; + RequestType[RequestType["deactivate"] = 7] = "deactivate"; + RequestType[RequestType["dccRates"] = 8] = "dccRates"; + RequestType[RequestType["hardwareInformation"] = 9] = "hardwareInformation"; + RequestType[RequestType["initTransaction"] = 10] = "initTransaction"; + RequestType[RequestType["login"] = 11] = "login"; + RequestType[RequestType["logout"] = 12] = "logout"; + RequestType[RequestType["reboot"] = 13] = "reboot"; + RequestType[RequestType["reconciliation"] = 14] = "reconciliation"; + RequestType[RequestType["receiptRequest"] = 15] = "receiptRequest"; + RequestType[RequestType["reconfig"] = 16] = "reconfig"; + RequestType[RequestType["rollback"] = 17] = "rollback"; + RequestType[RequestType["softwareInformation"] = 18] = "softwareInformation"; + RequestType[RequestType["systemInformation"] = 19] = "systemInformation"; + RequestType[RequestType["softwareUpdate"] = 20] = "softwareUpdate"; + RequestType[RequestType["transaction"] = 21] = "transaction"; + RequestType[RequestType["closeReader"] = 22] = "closeReader"; + RequestType[RequestType["openReader"] = 23] = "openReader"; + RequestType[RequestType["ejectCard"] = 24] = "ejectCard"; + RequestType[RequestType["openMaintenanceWindow"] = 25] = "openMaintenanceWindow"; + RequestType[RequestType["closeMaintenanceWindow"] = 26] = "closeMaintenanceWindow"; + RequestType[RequestType["activateServiceMenu"] = 27] = "activateServiceMenu"; + RequestType[RequestType["openDialogMode"] = 28] = "openDialogMode"; + RequestType[RequestType["closeDialogMode"] = 29] = "closeDialogMode"; + RequestType[RequestType["showSignatureCapture"] = 30] = "showSignatureCapture"; + RequestType[RequestType["showDialog"] = 31] = "showDialog"; + RequestType[RequestType["balanceInquiry"] = 32] = "balanceInquiry"; + RequestType[RequestType["queryLoyalty"] = 33] = "queryLoyalty"; + })(RequestType = constants.RequestType || (constants.RequestType = {})); + })(constants = timapi.constants || (timapi.constants = {})); +})(timapi || (timapi = {})); +timapi.constants.AdminFunctions = { + login: 0, + logout: 1, + reconfig: 2, + reboot: 3, + softwareUpdate: 4, + activate: 5, + deactivate: 6, + counterRequest: 7, + reconciliation: 8, + balance: 9, + openDialogMode: 10, + closeDialogMode: 11, + transmitLog: 12, + startReaderCleaning: 13, + dccRates: 14, + changeSettings: 15, + receiptRequest: 16, + closeReader: 17, + openReader: 18, + ejectCard: 19, + openMaintenanceWindow: 20, + closeMaintenanceWindow: 21, + activateServiceMenu: 22 +}; +timapi.constants.BrandBarBrand = { + alipay: 0, + amex: 1, + bonuscard: 2, + cash: 3, + conforama: 4, + coopMobile: 5, + cup: 6, + diners: 7, + dinerClub: 8, + jcb: 9, + lebara: 10, + lycaMobile: 11, + maestro: 12, + masterCard: 13, + mbudgetMc: 14, + mcard: 15, + mediaMarkt: 16, + myOne: 17, + salt: 18, + pharmacard: 19, + phonecard: 20, + postCard: 21, + powerCard: 22, + reka: 23, + sunrise: 24, + supercardPlus: 25, + swisscom: 26, + visa: 27, + visaElectron: 28, + vpay: 29, + wirCard: 30, + yallo: 31 +}; +timapi.constants.BrandMode = { + all: 0, + selected: 1, + off: 2 +}; +timapi.constants.CardReaderStatus = { + cardReaderClosed: 0, + cardManuallyEntered: 1, + cardSwiped: 2, + cardNotRemoved: 3, + cardPresented: 4, + cardReaderEmpty: 5, + cardInserted: 6, + cardEjected: 7 +}; +timapi.constants.ConnectionStatus = { + disconnected: 0, + loggedOut: 1, + loggedIn: 2 +}; +timapi.constants.CounterType = { + shift: 0, + balance: 1 +}; +timapi.constants.Currency = { + AED: { code: "AED", name: "UAE Dirham", exponent: 2 }, + AFN: { code: "AFN", name: "Afghani", exponent: 2 }, + ALL: { code: "ALL", name: "Lek", exponent: 2 }, + AMD: { code: "AMD", name: "Armenian Dram", exponent: 2 }, + ANG: { code: "ANG", name: "Netherlands Antillean Guilder", exponent: 2 }, + AOA: { code: "AOA", name: "Kwanza", exponent: 2 }, + ARS: { code: "ARS", name: "Argentine Peso", exponent: 2 }, + AUD: { code: "AUD", name: "Australian Dollar", exponent: 2 }, + AWG: { code: "AWG", name: "Aruban Florin", exponent: 2 }, + AZN: { code: "AZN", name: "Azerbaijanian Manat", exponent: 2 }, + BAM: { code: "BAM", name: "Convertible Mark", exponent: 2 }, + BBD: { code: "BBD", name: "Barbados Dollar", exponent: 2 }, + BDT: { code: "BDT", name: "Taka", exponent: 2 }, + BGN: { code: "BGN", name: "Bulgarian Lev", exponent: 2 }, + BHD: { code: "BHD", name: "Bahraini Dinar", exponent: 3 }, + BIF: { code: "BIF", name: "Burundi Franc", exponent: 0 }, + BMD: { code: "BMD", name: "Bermudian Dollar", exponent: 2 }, + BND: { code: "BND", name: "Brunei Dollar", exponent: 2 }, + BOB: { code: "BOB", name: "Boliviano", exponent: 2 }, + BOV: { code: "BOV", name: "Mvdol", exponent: 2 }, + BRL: { code: "BRL", name: "Brazilian Real", exponent: 2 }, + BSD: { code: "BSD", name: "Bahamian Dollar", exponent: 2 }, + BTN: { code: "BTN", name: "Ngultrum", exponent: 2 }, + BWP: { code: "BWP", name: "Pula", exponent: 2 }, + BYN: { code: "BYN", name: "Belarusian Ruble", exponent: 2 }, + BYR: { code: "BYR", name: "Belarusian Ruble", exponent: 0 }, + BZD: { code: "BZD", name: "Belize Dollar", exponent: 2 }, + CAD: { code: "CAD", name: "Canadian Dollar", exponent: 2 }, + CDF: { code: "CDF", name: "Congolese Franc", exponent: 2 }, + CHE: { code: "CHE", name: "WIR Euro", exponent: 2 }, + CHF: { code: "CHF", name: "Swiss Franc", exponent: 2 }, + CHW: { code: "CHW", name: "WIR Franc", exponent: 2 }, + CLF: { code: "CLF", name: "Unidad de Fomento", exponent: 4 }, + CLP: { code: "CLP", name: "Chilean Peso", exponent: 0 }, + CNY: { code: "CNY", name: "Yuan Renminbi", exponent: 2 }, + COP: { code: "COP", name: "Colombian Peso", exponent: 2 }, + COU: { code: "COU", name: "Unidad de Valor Real", exponent: 2 }, + CRC: { code: "CRC", name: "Costa Rican Colon", exponent: 2 }, + CUC: { code: "CUC", name: "Peso Convertible", exponent: 2 }, + CUP: { code: "CUP", name: "Cuban Peso", exponent: 2 }, + CVE: { code: "CVE", name: "Cabo Verde Escudo", exponent: 2 }, + CZK: { code: "CZK", name: "Czech Koruna", exponent: 2 }, + DJF: { code: "DJF", name: "Djibouti Franc", exponent: 0 }, + DKK: { code: "DKK", name: "Danish Krone", exponent: 2 }, + DOP: { code: "DOP", name: "Dominican Peso", exponent: 2 }, + DZD: { code: "DZD", name: "Algerian Dinar", exponent: 2 }, + EGP: { code: "EGP", name: "Egyptian Pound", exponent: 2 }, + ERN: { code: "ERN", name: "Nakfa", exponent: 2 }, + ETB: { code: "ETB", name: "Ethiopian Birr", exponent: 2 }, + EUR: { code: "EUR", name: "Euro", exponent: 2 }, + FJD: { code: "FJD", name: "Fiji Dollar", exponent: 2 }, + FKP: { code: "FKP", name: "Falkland Islands Pound", exponent: 2 }, + GBP: { code: "GBP", name: "Pound Sterling", exponent: 2 }, + GEL: { code: "GEL", name: "Lari", exponent: 2 }, + GHS: { code: "GHS", name: "Ghana Cedi", exponent: 2 }, + GIP: { code: "GIP", name: "Gibraltar Pound", exponent: 2 }, + GMD: { code: "GMD", name: "Dalasi", exponent: 2 }, + GNF: { code: "GNF", name: "Guinea Franc", exponent: 0 }, + GTQ: { code: "GTQ", name: "Quetzal", exponent: 2 }, + GYD: { code: "GYD", name: "Guyana Dollar", exponent: 2 }, + HKD: { code: "HKD", name: "Hong Kong Dollar", exponent: 2 }, + HNL: { code: "HNL", name: "Lempira", exponent: 2 }, + HRK: { code: "HRK", name: "Kuna", exponent: 2 }, + HTG: { code: "HTG", name: "Gourde", exponent: 2 }, + HUF: { code: "HUF", name: "Forint", exponent: 2 }, + IDR: { code: "IDR", name: "Rupiah", exponent: 2 }, + ILS: { code: "ILS", name: "New Israeli Sheqel", exponent: 2 }, + INR: { code: "INR", name: "Indian Rupee", exponent: 2 }, + IQD: { code: "IQD", name: "Iraqi Dinar", exponent: 3 }, + IRR: { code: "IRR", name: "Iranian Rial", exponent: 2 }, + ISK: { code: "ISK", name: "Iceland Krona", exponent: 0 }, + JMD: { code: "JMD", name: "Jamaican Dollar", exponent: 2 }, + JOD: { code: "JOD", name: "Jordanian Dinar", exponent: 3 }, + JPY: { code: "JPY", name: "Yen", exponent: 0 }, + KES: { code: "KES", name: "Kenyan Shilling", exponent: 2 }, + KGS: { code: "KGS", name: "Som", exponent: 2 }, + KHR: { code: "KHR", name: "Riel", exponent: 2 }, + KMF: { code: "KMF", name: "Comoro Franc", exponent: 0 }, + KPW: { code: "KPW", name: "North Korean Won", exponent: 2 }, + KRW: { code: "KRW", name: "Won", exponent: 0 }, + KWD: { code: "KWD", name: "Kuwaiti Dinar", exponent: 3 }, + KYD: { code: "KYD", name: "Cayman Islands Dollar", exponent: 2 }, + KZT: { code: "KZT", name: "Tenge", exponent: 2 }, + LAK: { code: "LAK", name: "Kip", exponent: 2 }, + LBP: { code: "LBP", name: "Lebanese Pound", exponent: 2 }, + LKR: { code: "LKR", name: "Sri Lanka Rupee", exponent: 2 }, + LRD: { code: "LRD", name: "Liberian Dollar", exponent: 2 }, + LSL: { code: "LSL", name: "Loti", exponent: 2 }, + LYD: { code: "LYD", name: "Libyan Dinar", exponent: 3 }, + MAD: { code: "MAD", name: "Moroccan Dirham", exponent: 2 }, + MDL: { code: "MDL", name: "Moldovan Leu", exponent: 2 }, + MGA: { code: "MGA", name: "Malagasy Ariary", exponent: 2 }, + MKD: { code: "MKD", name: "Denar", exponent: 2 }, + MMK: { code: "MMK", name: "Kyat", exponent: 2 }, + MNT: { code: "MNT", name: "Tugrik", exponent: 2 }, + MOP: { code: "MOP", name: "Pataca", exponent: 2 }, + MRO: { code: "MRO", name: "Ouguiya", exponent: 2 }, + MUR: { code: "MUR", name: "Mauritius Rupee", exponent: 2 }, + MVR: { code: "MVR", name: "Rufiyaa", exponent: 2 }, + MWK: { code: "MWK", name: "Malawi Kwacha", exponent: 2 }, + MXN: { code: "MXN", name: "Mexican Peso", exponent: 2 }, + MXV: { code: "MXV", name: "Mexican Unidad de Inversion (UDI)", exponent: 2 }, + MYR: { code: "MYR", name: "Malaysian Ringgit", exponent: 2 }, + MZN: { code: "MZN", name: "Mozambique Metical", exponent: 2 }, + NAD: { code: "NAD", name: "Namibia Dollar", exponent: 2 }, + NGN: { code: "NGN", name: "Naira", exponent: 2 }, + NIO: { code: "NIO", name: "Cordoba Oro", exponent: 2 }, + NOK: { code: "NOK", name: "Norwegian Krone", exponent: 2 }, + NPR: { code: "NPR", name: "Nepalese Rupee", exponent: 2 }, + NZD: { code: "NZD", name: "New Zealand Dollar", exponent: 2 }, + OMR: { code: "OMR", name: "Rial Omani", exponent: 3 }, + PAB: { code: "PAB", name: "Balboa", exponent: 2 }, + PEN: { code: "PEN", name: "Sol", exponent: 2 }, + PGK: { code: "PGK", name: "Kina", exponent: 2 }, + PHP: { code: "PHP", name: "Philippine Peso", exponent: 2 }, + PKR: { code: "PKR", name: "Pakistan Rupee", exponent: 2 }, + PLN: { code: "PLN", name: "Zloty", exponent: 2 }, + PTS: { code: "PTS", name: "VM Loyalty", exponent: 0 }, + PYG: { code: "PYG", name: "Guarani", exponent: 0 }, + QAR: { code: "QAR", name: "Qatari Rial", exponent: 2 }, + RON: { code: "RON", name: "Romanian Leu", exponent: 2 }, + RSD: { code: "RSD", name: "Serbian Dinar", exponent: 2 }, + RUB: { code: "RUB", name: "Russian Ruble", exponent: 2 }, + RWF: { code: "RWF", name: "Rwanda Franc", exponent: 0 }, + SAR: { code: "SAR", name: "Saudi Riyal", exponent: 2 }, + SBD: { code: "SBD", name: "Solomon Islands Dollar", exponent: 2 }, + SCR: { code: "SCR", name: "Seychelles Rupee", exponent: 2 }, + SDG: { code: "SDG", name: "Sudanese Pound", exponent: 2 }, + SEK: { code: "SEK", name: "Swedish Krona", exponent: 2 }, + SGD: { code: "SGD", name: "Singapore Dollar", exponent: 2 }, + SHP: { code: "SHP", name: "Saint Helena Pound", exponent: 2 }, + SLL: { code: "SLL", name: "Leone", exponent: 2 }, + SOS: { code: "SOS", name: "Somali Shilling", exponent: 2 }, + SRD: { code: "SRD", name: "Surinam Dollar", exponent: 2 }, + SSP: { code: "SSP", name: "South Sudanese Pound", exponent: 2 }, + STD: { code: "STD", name: "Dobra", exponent: 2 }, + SVC: { code: "SVC", name: "El Salvador Colon", exponent: 2 }, + SYP: { code: "SYP", name: "Syrian Pound", exponent: 2 }, + SZL: { code: "SZL", name: "Lilangeni", exponent: 2 }, + THB: { code: "THB", name: "Baht", exponent: 2 }, + TJS: { code: "TJS", name: "Somoni", exponent: 2 }, + TMT: { code: "TMT", name: "Turkmenistan New Manat", exponent: 2 }, + TND: { code: "TND", name: "Tunisian Dinar", exponent: 3 }, + TOP: { code: "TOP", name: "Pa’anga", exponent: 2 }, + TRY: { code: "TRY", name: "Turkish Lira", exponent: 2 }, + TTD: { code: "TTD", name: "Trinidad and Tobago Dollar", exponent: 2 }, + TWD: { code: "TWD", name: "New Taiwan Dollar", exponent: 2 }, + TZS: { code: "TZS", name: "Tanzanian Shilling", exponent: 2 }, + UAH: { code: "UAH", name: "Hryvnia", exponent: 2 }, + UGX: { code: "UGX", name: "Uganda Shilling", exponent: 0 }, + USD: { code: "USD", name: "US Dollar", exponent: 2 }, + USN: { code: "USN", name: "US Dollar (Next day)", exponent: 2 }, + UYI: { code: "UYI", name: "Uruguay Peso en Unidades Indexadas (URUIURUI)", exponent: 0 }, + UYU: { code: "UYU", name: "Peso Uruguayo", exponent: 2 }, + UZS: { code: "UZS", name: "Uzbekistan Sum", exponent: 2 }, + VEF: { code: "VEF", name: "BolÃvar", exponent: 2 }, + VND: { code: "VND", name: "Dong", exponent: 0 }, + VUV: { code: "VUV", name: "Vatu", exponent: 0 }, + WST: { code: "WST", name: "Tala", exponent: 2 }, + XAF: { code: "XAF", name: "CFA Franc BEAC", exponent: 0 }, + XCD: { code: "XCD", name: "East Caribbean Dollar", exponent: 2 }, + XOF: { code: "XOF", name: "CFA Franc BCEAO", exponent: 0 }, + XPF: { code: "XPF", name: "CFP Franc", exponent: 0 }, + YER: { code: "YER", name: "Yemeni Rial", exponent: 2 }, + ZAR: { code: "ZAR", name: "Rand", exponent: 2 }, + ZMW: { code: "ZMW", name: "Zambian Kwacha", exponent: 2 }, + ZWL: { code: "ZWL", name: "Zimbabwe Dollar", exponent: 2 } +}; +timapi.constants.CurrencyType = { + local: 0, + foreign: 1, + dcc: 2 +}; +timapi.constants.Cvm = { + pin: 0, + pinSignature: 1, + signature: 2, + onDevice: 3, + noCvm: 4 +}; +timapi.constants.DialogFunctions = { + showSignatureCapture: 0, + showDialog: 1, + sendCardCommand: 2 +}; +timapi.constants.EcrInfoType = { + os: 0, + ecrApplication: 1, + eftApi: 2, + eftModule: 3 +}; +timapi.constants.FinancialTransactions = { + purchase: 0, + credit: 1, + reversal: 2, + preAuthorization: 3, + cashAdvance: 4, + commit: 5, + rollback: 6, + giro: 7, + combined: 8, + authorizeCredit: 9, + authorizeDeposit: 10, + finalizePurchase: 11, + proceed: 12, + purchaseForcedAcceptance: 13, + purchaseWithCashback: 14, + purchasePhoneAuthorized: 15, + loadVoucher: 16, + collectPoints: 17, + purchaseReservation: 18, + purchaseReservationPhoneAuthorized: 19, + amtAdjustment: 20, + purchasePhoneOrdered: 21, + purchaseMailOrdered: 22 +}; +timapi.constants.Guides = { + retail: 0, + unattended: 1, + advancedRetail: 2, + banking: 3, + petrol: 4, + dialog: 5, + remote: 6, + gastro: 7, + hospitality: 8, + valueAddedServices: 9, + austrianUseCases: 10 +}; +timapi.constants.HardwareType = { + terminal: 0, + eftApplication: 1, + pinPad: 2, + contactReader: 3, + contactlessReader: 4, + magStripeReader: 5 +}; +timapi.constants.ImageFileFormat = { + jpeg: 0, + png: 1 +}; +timapi.constants.KernelType = { + emvContact: 0, + entryPoint: 1, + kernel1: 2, + kernel2: 3, + kernel3: 4, + kernel4: 5, + kernel5: 6, + kernel6: 7, + kernel7: 8 +}; +timapi.constants.ManagementStatus = { + closed: 0, + open: 1, + dialog: 2 +}; +timapi.constants.MerchantAction = { + signature: 0, + none: 1 +}; +timapi.constants.MerchantOptionType = { + additionalMerchantData: 0, + multiAccountIndex: 1, + multiContractIndex: 2, + merchantTid: 3, + clerkIdentifier: 4, + fuelDispenserNumber: 5, + posdnumber: 6, + receiptNumber: 7, + shiftNumber: 8 +}; +timapi.constants.NonFinancialTransactions = { + cancel: 0, + balanceInquiry: 1, + clientIdentification: 2, + initTransaction: 3, + holdCommit: 4, + reservation: 5, + adjustReservation: 6, + cancelReservation: 7, + loyaltyData: 8, + startCheckout: 9, + finishCheckout: 10, + provideLoyaltyBasket: 11 +}; +timapi.constants.PaymentProtocol = { + ep2: 0, + ev: 1, + valueMaster: 2, + v3cxml: 3 +}; +timapi.constants.PosEntryMode = { + unspecified: 0, + manual: 1, + magStripeIncomplete: 2, + barCode: 3, + ocr: 4, + icc: 5, + magStripe: 6, + magStripeFallback: 7, + magStripeFallbackAgain: 8, + magStripeFallbackIccFail: 9, + emergencyDataEntry: 10, + ecommerce: 11, + ctlessIcc: 12, + ctlessMagStrige: 13 +}; +timapi.constants.PrintFlag = { + suppressHeader: 0, + suppressSignature: 1, + suppressEcrInfo: 2, + suppressEftInfo: 3 +}; +timapi.constants.PrintFormat = { + noPrint: 0, + normal: 1, + onDevice: 2, + fieldsOnly: 3 +}; +timapi.constants.ProcessingDisposition = { + onEcr: 0, + onEft: 1 +}; +timapi.constants.ProtocolLevel = { + sixml2_2: 0 +}; +timapi.constants.ProtocolType = { + sixml: 0 +}; +timapi.constants.Reason = { + ok: 0, + corr: 1, + stop: 2, + cardReader: 3, + autoConfirm: 4, + timeout: 5, + codeOk: 6, + codeNok: 7, + pinOk: 8, + pinNok: 9 +}; +timapi.constants.ReceiptItemType = { + actId: 0, + accPer: 1, + acqId: 2, + aid: 3, + amount: 4, + amountDcc: 5, + amountOther: 6, + authCode: 7, + authReslt: 8, + authRespC: 9, + authRespTextC: 10, + brandName: 11, + currency: 12, + currencyDcc: 13, + dccDisclaimer: 14, + disclaimer: 15, + exponent: 16, + exponentDcc: 17, + markupDcc: 18, + markupExponentDcc: 19, + cardNumberPrintableMerchant: 20, + cardNumberPrintableCardholder: 21, + rateDcc: 22, + rateExponentDcc: 23, + timeStampDate: 24, + timeStampTime: 25, + trmId: 26, + trxRefNum: 27, + trxSeqCnt: 28, + posEntryMode: 29, + cardExpiryDate: 30, + cardNumberEnc: 31, + amountSaldo: 32, + ecrSeqCounter: 33, + panReceiptDol: 34, + panReceiptDolIndex: 35 +}; +timapi.constants.ReceiptRequestType = { + reprint: 0, + list: 1 +}; +timapi.constants.ReceiptType = { + purchase: 0, + credit: 1, + reversal: 2 +}; +timapi.constants.Recipient = { + merchant: 0, + cardholder: 1, + both: 2 +}; +timapi.constants.ResourceId = { + enterMileage: 0, + enterCarNumber: 1, + enterDriverCode: 2, + enterFleetId: 3, + selectPump: 4, + selectWashingStation: 5, + selectProgram: 6, + selectProduct: 7, + loadCard: 8, + readCode: 9, + checkCode: 10, + enterAdditionalInformation: 11, + enterCostCenter: 12, + enterEmployeeNumber: 13, + enterLicensePlate: 14, + enterProjectNumber: 15, + petrolPrintReceipt: 16, + petrolRemoveCard: 17, + petrolOutOfOrder: 18, + petrolInvalidEntry: 19, + petrolRefuelAtPump: 20, + petrolSeeOtherScreen: 21, + petrolPleaseRefuel: 22, + noRechargeCard: 23, + showPhoneNumberWithAmount: 24, + enterPhoneOrPrepaidNumber: 25, + phoneNumberTooLong: 26, + phoneNumberTooShort: 27, + enterPhoneNumber: 28, + pleaseWait: 29, + processingDeclined: 30, + processingOk: 31, + registerCard: 32, + welcomeCard: 33, + showPhoneNumber: 34, + interAccountTransfer: 35, + interAccountTransferConfirmation: 36, + disbursementFromAccount: 37, + depositOwnAccount: 38, + emptyDialog: 39, + packetAcknowledgement: 40, + pinEntry: 41, + bankingInsertCard: 42, + bankingPinCheck: 43, + bankingShowSaldo: 44, + bankingConfirmAmount: 45, + bankingRemoveCard: 46, + bankingWelcome: 47, + commonRegular: 48, + commonPleaseWait: 49, + commonDataSaved: 50, + commonCardInitialized: 51, + commonCardDeinitialized: 52, + commonRemoveCard: 53 +}; +timapi.constants.ResultCode = { + ok: 0, + apiCancelEcr: 0, + apiInvalidAnswer: 1, + apiDisabledFeature: 2, + apiFunctionDisallowed: 3, + apiPersistencyProblem: 4, + apiConnectFailServer: 0, + apiConnectFailTerminal: 1, + apiConnectionLostServer: 2, + apiConnectionLostTerminal: 3, + ethernetDisconnected: 4, + rs232Disconnected: 5, + apiTimeoutServer: 6, + apiTimeoutTerminal: 7, + serverInvalidAnswer: 0, + serverInvalidRequest: 1, + serverDisabledFeature: 2, + serverPersistencyProblem: 3, + serverConnectFailTerminal: 0, + serverConnectionLostTerminal: 1, + serverTimeoutTerminal: 2, + ccrUnavailable: 0, + mcrUnavailable: 1, + nfcUnavailable: 2, + displayUnavailable: 3, + pinPadUnavailable: 4, + rs232Unavailable: 5, + rs232NotConfigured: 6, + cardReaderErrorCcr: 0, + cardReaderErrorMcr: 1, + cardReaderErrorNfc: 2, + cardErrorCcr: 3, + cardErrorMcr: 4, + cardErrorNfc: 5, + cardReadError: 6, + cardReadTimeout: 7, + cardInsertionTimeout: 8, + cardReaderKeysLost: 9, + cardReaderSecurityError: 10, + cardTimeout: 11, + cardNotReadable: 12, + cardInvalidData: 13, + cardFunctionNotFound: 14, + cardFunctionNotAllowed: 15, + pinPadSecurityError: 0, + pinPadTampered: 1, + pinPadKeysLost: 2, + cardholderStop: 0, + cardholderTimeout: 1, + cardRemoved: 2, + timTimeoutEcr: 0, + timConnectFailPaymentHost: 1, + timConnectionLostPaymentHost: 2, + timTimeoutAnswerRs232: 3, + timCommunicationFailure: 4, + timConfigFailure: 5, + timInitFailure: 6, + sixmlGeneralError: 0, + sixmlInvalidRequest: 1, + sixmlWrongCashier: 2, + sixmlWrongEcrId: 3, + sixmlUnknownReferenceNumber: 4, + sixmlWrongState: 5, + busyOtherController: 6, + busyMaintenance: 7, + requestPending: 8, + sixmlUnsupportedRequest: 9, + trxNoCommonApplications: 0, + trxLimitExceeded: 1, + trxNoCommonCvm: 2, + declinedCvmFailed: 3, + trxReferral: 4, + trxInvalidAuthResponse: 5, + declinedGeneric: 6, + declinedSaldoTooLow: 7, + declinedWrongPin: 8, + declinedCardBlocked: 9, + declinedSecurityIssue: 10, + declinedUsageControl: 11, + declinedDoubleTransaction: 12, + declinedGenericFirstAc: 13, + declinedGenericSecondAc: 14, + trxCommitTimeout: 15, + trxRollbackImpossible: 16, + cashbackAmountTooLow: 17, + cashbackAmountTooHigh: 18, + basketDeclined: 19, + noTrxInGroupExceeded: 20, + unsupportedCharactersInMessage: 21, + loyaltyCheckInPending: 22, + declinedCardError: 23, + declinedCardExpired: 24, + declinedTrxInvalid: 25, + declinedTryLater: 26, + declinedTryAnotherInterface: 27, + declinedInvalidMerchant: 28, + declinedRestrictionDeclined: 29, + declinedWrongCurrency: 30, + declinedAutoreversalPending: 31, + declinedWrongCardNumber: 32, + declinedWrongCardExpiryDate: 33, + declinedRetryTemporaryUnavailable: 34, + declinedServiceNotAllowed: 35, + declinedCardholderInformationIssue: 36, + declinedReferralWrongAuthCode: 37, + declinedReferralWrongAmount: 38, + declinedReferralOtherReason: 39, + declinedCaptureCardGeneric: 40, + declinedCaptureCardInfoToClient: 41, + declinedCaptureCardOrderToClient: 42, + declinedCaptureCardTimeoutRemovingCard: 43, + declinedNotSupported: 44 +}; +timapi.constants.SecurityStatus = { + disabled: 0, + active: 1, + tampered: 2 +}; +timapi.constants.SettingType = { + displayBrightness: 0, + displayContrast: 1, + keypadTones: 2, + alertTones: 3, + language: 4 +}; +timapi.constants.SleepModeStatus = { + enteringSleep: 0, + wakingUp: 1 +}; +timapi.constants.StatusFunctions = { + featureRequest: 0, + terminalStatus: 1, + systemInformation: 2, + applicationInformation: 3, + hardwareInformation: 4, + keepAlive: 5, + licenseChanged: 6 +}; +timapi.constants.Theme = { + six: 0, + swissPost: 1 +}; +timapi.constants.TransactionStatus = { + busy: 0, + idle: 1, + waitForCard: 2, + readingCard: 3, + applicationSelection: 4, + waitForProceed: 5, + dccSelection: 6, + enterTip: 7, + pinEntry: 8, + signatureCapture: 9, + processing: 10, + waitForCommit: 11 +}; +timapi.constants.TransactionType = { + purchase: 0, + credit: 1, + reversal: 2, + preAuthorization: 3, + finalizePurchase: 4, + cashAdvance: 5, + purchaseForcedAcceptance: 6, + purchaseWithCashback: 7, + purchasePhoneAuthorized: 8, + purchasePhoneOrdered: 9, + purchaseMailOrdered: 10, + giro: 11, + combined: 12, + authorizeCredit: 13, + authorizeDeposit: 14, + reservation: 15, + adjustReservation: 16, + cancelReservation: 17, + purchaseReservation: 18, + purchaseReservationPhoneAuthorized: 19 +}; +timapi.constants.UpdateStatus = { + upToDate: 0, + runningNoReboot: 1, + runningReboot: 2 +}; +timapi.protocol.constants.AdminFunctions = {}; +timapi.protocol.constants.AdminFunctions.timApi2Protocol = function (value) { + var flags = 0; + for (var each of value) { + if (!this._timApi2Protocol.has(each)) { + throw new Error("Invalid argument '" + value + "' (AdminFunctions)"); + } + flags |= this._timApi2Protocol.get(each); + } + return flags; +}; +timapi.protocol.constants.AdminFunctions.protocol2TimApi = function (value) { + var set = new Set(); + for (var [k, v] of this._protocol2TimApi.entries()) { + if ((value & k) != 0) { + set.add(v); + } + } + return set; +}; +timapi.protocol.constants.AdminFunctions._timApi2Protocol = + new Map([[timapi.constants.AdminFunctions.login, 0x1], + [timapi.constants.AdminFunctions.logout, 0x2], + [timapi.constants.AdminFunctions.reconfig, 0x4], + [timapi.constants.AdminFunctions.reboot, 0x8], + [timapi.constants.AdminFunctions.softwareUpdate, 0x10], + [timapi.constants.AdminFunctions.activate, 0x20], + [timapi.constants.AdminFunctions.deactivate, 0x40], + [timapi.constants.AdminFunctions.counterRequest, 0x80], + [timapi.constants.AdminFunctions.reconciliation, 0x100], + [timapi.constants.AdminFunctions.balance, 0x200], + [timapi.constants.AdminFunctions.openDialogMode, 0x400], + [timapi.constants.AdminFunctions.closeDialogMode, 0x800], + [timapi.constants.AdminFunctions.transmitLog, 0x1000], + [timapi.constants.AdminFunctions.startReaderCleaning, 0x2000], + [timapi.constants.AdminFunctions.dccRates, 0x4000], + [timapi.constants.AdminFunctions.changeSettings, 0x8000], + [timapi.constants.AdminFunctions.receiptRequest, 0x10000], + [timapi.constants.AdminFunctions.closeReader, 0x20000], + [timapi.constants.AdminFunctions.openReader, 0x40000], + [timapi.constants.AdminFunctions.ejectCard, 0x80000], + [timapi.constants.AdminFunctions.openMaintenanceWindow, 0x100000], + [timapi.constants.AdminFunctions.closeMaintenanceWindow, 0x200000], + [timapi.constants.AdminFunctions.activateServiceMenu, 0x400000]]); +timapi.protocol.constants.AdminFunctions._protocol2TimApi = + new Map([[0x1, timapi.constants.AdminFunctions.login], + [0x2, timapi.constants.AdminFunctions.logout], + [0x4, timapi.constants.AdminFunctions.reconfig], + [0x8, timapi.constants.AdminFunctions.reboot], + [0x10, timapi.constants.AdminFunctions.softwareUpdate], + [0x20, timapi.constants.AdminFunctions.activate], + [0x40, timapi.constants.AdminFunctions.deactivate], + [0x80, timapi.constants.AdminFunctions.counterRequest], + [0x100, timapi.constants.AdminFunctions.reconciliation], + [0x200, timapi.constants.AdminFunctions.balance], + [0x400, timapi.constants.AdminFunctions.openDialogMode], + [0x800, timapi.constants.AdminFunctions.closeDialogMode], + [0x1000, timapi.constants.AdminFunctions.transmitLog], + [0x2000, timapi.constants.AdminFunctions.startReaderCleaning], + [0x4000, timapi.constants.AdminFunctions.dccRates], + [0x8000, timapi.constants.AdminFunctions.changeSettings], + [0x10000, timapi.constants.AdminFunctions.receiptRequest], + [0x20000, timapi.constants.AdminFunctions.closeReader], + [0x40000, timapi.constants.AdminFunctions.openReader], + [0x80000, timapi.constants.AdminFunctions.ejectCard], + [0x100000, timapi.constants.AdminFunctions.openMaintenanceWindow], + [0x200000, timapi.constants.AdminFunctions.closeMaintenanceWindow], + [0x400000, timapi.constants.AdminFunctions.activateServiceMenu]]); +timapi.protocol.constants.BrandBarBrand = {}; +timapi.protocol.constants.BrandBarBrand.timApi2Protocol = function (value) { + if (!this._timApi2Protocol.has(value)) { + throw new Error("Invalid argument '" + value + "' (BrandBarBrand)"); + } + return this._timApi2Protocol.get(value); +}; +timapi.protocol.constants.BrandBarBrand.protocol2TimApi = function (value) { + if (!this._protocol2TimApi.has(value)) { + throw new Error("Invalid argument '" + value + "' (BrandBarBrand)"); + } + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.BrandBarBrand.protocol2TimApiIfValid = function (value) { + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.BrandBarBrand._timApi2Protocol = + new Map([[timapi.constants.BrandBarBrand.alipay, "Alipay"], + [timapi.constants.BrandBarBrand.amex, "Amex"], + [timapi.constants.BrandBarBrand.bonuscard, "Bonuscard"], + [timapi.constants.BrandBarBrand.cash, "Cash"], + [timapi.constants.BrandBarBrand.conforama, "Conforama"], + [timapi.constants.BrandBarBrand.coopMobile, "CoopMobile"], + [timapi.constants.BrandBarBrand.cup, "CUP"], + [timapi.constants.BrandBarBrand.diners, "Diners"], + [timapi.constants.BrandBarBrand.dinerClub, "DinerClub"], + [timapi.constants.BrandBarBrand.jcb, "Jcb"], + [timapi.constants.BrandBarBrand.lebara, "Lebara"], + [timapi.constants.BrandBarBrand.lycaMobile, "LycaMobile"], + [timapi.constants.BrandBarBrand.maestro, "Maestro"], + [timapi.constants.BrandBarBrand.masterCard, "MasterCard"], + [timapi.constants.BrandBarBrand.mbudgetMc, "MBudgetMc"], + [timapi.constants.BrandBarBrand.mcard, "MCard"], + [timapi.constants.BrandBarBrand.mediaMarkt, "MediaMarkt"], + [timapi.constants.BrandBarBrand.myOne, "MyOne"], + [timapi.constants.BrandBarBrand.salt, "Salt."], + [timapi.constants.BrandBarBrand.pharmacard, "Pharmacard"], + [timapi.constants.BrandBarBrand.phonecard, "Phonecard"], + [timapi.constants.BrandBarBrand.postCard, "PostCard"], + [timapi.constants.BrandBarBrand.powerCard, "PowerCard"], + [timapi.constants.BrandBarBrand.reka, "Reka"], + [timapi.constants.BrandBarBrand.sunrise, "Sunrise"], + [timapi.constants.BrandBarBrand.supercardPlus, "SupercardPlus"], + [timapi.constants.BrandBarBrand.swisscom, "Swisscom"], + [timapi.constants.BrandBarBrand.visa, "Visa"], + [timapi.constants.BrandBarBrand.visaElectron, "VisaElectron"], + [timapi.constants.BrandBarBrand.vpay, "VPay"], + [timapi.constants.BrandBarBrand.wirCard, "WirCard"], + [timapi.constants.BrandBarBrand.yallo, "Yallo"]]); +timapi.protocol.constants.BrandBarBrand._protocol2TimApi = + new Map([["Alipay", timapi.constants.BrandBarBrand.alipay], + ["Amex", timapi.constants.BrandBarBrand.amex], + ["Bonuscard", timapi.constants.BrandBarBrand.bonuscard], + ["Cash", timapi.constants.BrandBarBrand.cash], + ["Conforama", timapi.constants.BrandBarBrand.conforama], + ["CoopMobile", timapi.constants.BrandBarBrand.coopMobile], + ["CUP", timapi.constants.BrandBarBrand.cup], + ["Diners", timapi.constants.BrandBarBrand.diners], + ["DinerClub", timapi.constants.BrandBarBrand.dinerClub], + ["Jcb", timapi.constants.BrandBarBrand.jcb], + ["Lebara", timapi.constants.BrandBarBrand.lebara], + ["LycaMobile", timapi.constants.BrandBarBrand.lycaMobile], + ["Maestro", timapi.constants.BrandBarBrand.maestro], + ["MasterCard", timapi.constants.BrandBarBrand.masterCard], + ["MBudgetMc", timapi.constants.BrandBarBrand.mbudgetMc], + ["MCard", timapi.constants.BrandBarBrand.mcard], + ["MediaMarkt", timapi.constants.BrandBarBrand.mediaMarkt], + ["MyOne", timapi.constants.BrandBarBrand.myOne], + ["Salt.", timapi.constants.BrandBarBrand.salt], + ["Pharmacard", timapi.constants.BrandBarBrand.pharmacard], + ["Phonecard", timapi.constants.BrandBarBrand.phonecard], + ["PostCard", timapi.constants.BrandBarBrand.postCard], + ["PowerCard", timapi.constants.BrandBarBrand.powerCard], + ["Reka", timapi.constants.BrandBarBrand.reka], + ["Sunrise", timapi.constants.BrandBarBrand.sunrise], + ["SupercardPlus", timapi.constants.BrandBarBrand.supercardPlus], + ["Swisscom", timapi.constants.BrandBarBrand.swisscom], + ["Visa", timapi.constants.BrandBarBrand.visa], + ["VisaElectron", timapi.constants.BrandBarBrand.visaElectron], + ["VPay", timapi.constants.BrandBarBrand.vpay], + ["WirCard", timapi.constants.BrandBarBrand.wirCard], + ["Yallo", timapi.constants.BrandBarBrand.yallo]]); +timapi.protocol.constants.BrandMode = {}; +timapi.protocol.constants.BrandMode.timApi2Protocol = function (value) { + if (!this._timApi2Protocol.has(value)) { + throw new Error("Invalid argument '" + value + "' (BrandMode)"); + } + return this._timApi2Protocol.get(value); +}; +timapi.protocol.constants.BrandMode.protocol2TimApi = function (value) { + if (!this._protocol2TimApi.has(value)) { + throw new Error("Invalid argument '" + value + "' (BrandMode)"); + } + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.BrandMode.protocol2TimApiIfValid = function (value) { + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.BrandMode._timApi2Protocol = + new Map([[timapi.constants.BrandMode.all, "All"], + [timapi.constants.BrandMode.selected, "Selected"], + [timapi.constants.BrandMode.off, "Off"]]); +timapi.protocol.constants.BrandMode._protocol2TimApi = + new Map([["All", timapi.constants.BrandMode.all], + ["Selected", timapi.constants.BrandMode.selected], + ["Off", timapi.constants.BrandMode.off]]); +timapi.protocol.constants.CardReaderStatus = {}; +timapi.protocol.constants.CardReaderStatus.timApi2Protocol = function (value) { + if (!this._timApi2Protocol.has(value)) { + throw new Error("Invalid argument '" + value + "' (CardReaderStatus)"); + } + return this._timApi2Protocol.get(value); +}; +timapi.protocol.constants.CardReaderStatus.protocol2TimApi = function (value) { + if (!this._protocol2TimApi.has(value)) { + throw new Error("Invalid argument '" + value + "' (CardReaderStatus)"); + } + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.CardReaderStatus.protocol2TimApiIfValid = function (value) { + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.CardReaderStatus._timApi2Protocol = + new Map([[timapi.constants.CardReaderStatus.cardReaderClosed, "CardReaderClosed"], + [timapi.constants.CardReaderStatus.cardManuallyEntered, "CardManuallyEntered"], + [timapi.constants.CardReaderStatus.cardSwiped, "CardSwiped"], + [timapi.constants.CardReaderStatus.cardNotRemoved, "CardNotRemoved"], + [timapi.constants.CardReaderStatus.cardPresented, "CardPresented"], + [timapi.constants.CardReaderStatus.cardReaderEmpty, "CardReaderEmpty"], + [timapi.constants.CardReaderStatus.cardInserted, "CardInserted"], + [timapi.constants.CardReaderStatus.cardEjected, "CardEjected"]]); +timapi.protocol.constants.CardReaderStatus._protocol2TimApi = + new Map([["CardReaderClosed", timapi.constants.CardReaderStatus.cardReaderClosed], + ["CardManuallyEntered", timapi.constants.CardReaderStatus.cardManuallyEntered], + ["CardSwiped", timapi.constants.CardReaderStatus.cardSwiped], + ["CardNotRemoved", timapi.constants.CardReaderStatus.cardNotRemoved], + ["CardPresented", timapi.constants.CardReaderStatus.cardPresented], + ["CardReaderEmpty", timapi.constants.CardReaderStatus.cardReaderEmpty], + ["CardInserted", timapi.constants.CardReaderStatus.cardInserted], + ["CardEjected", timapi.constants.CardReaderStatus.cardEjected]]); +timapi.protocol.constants.ConnectionStatus = {}; +timapi.protocol.constants.ConnectionStatus.timApi2Protocol = function (value) { + if (!this._timApi2Protocol.has(value)) { + throw new Error("Invalid argument '" + value + "' (ConnectionStatus)"); + } + return this._timApi2Protocol.get(value); +}; +timapi.protocol.constants.ConnectionStatus.protocol2TimApi = function (value) { + if (!this._protocol2TimApi.has(value)) { + throw new Error("Invalid argument '" + value + "' (ConnectionStatus)"); + } + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.ConnectionStatus.protocol2TimApiIfValid = function (value) { + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.ConnectionStatus._timApi2Protocol = + new Map([[timapi.constants.ConnectionStatus.disconnected, "Disconnected"], + [timapi.constants.ConnectionStatus.loggedOut, "LoggedOut"], + [timapi.constants.ConnectionStatus.loggedIn, "LoggedIn"]]); +timapi.protocol.constants.ConnectionStatus._protocol2TimApi = + new Map([["Disconnected", timapi.constants.ConnectionStatus.disconnected], + ["LoggedOut", timapi.constants.ConnectionStatus.loggedOut], + ["LoggedIn", timapi.constants.ConnectionStatus.loggedIn]]); +timapi.protocol.constants.CounterType = {}; +timapi.protocol.constants.CounterType.timApi2Protocol = function (value) { + if (!this._timApi2Protocol.has(value)) { + throw new Error("Invalid argument '" + value + "' (CounterType)"); + } + return this._timApi2Protocol.get(value); +}; +timapi.protocol.constants.CounterType.protocol2TimApi = function (value) { + if (!this._protocol2TimApi.has(value)) { + throw new Error("Invalid argument '" + value + "' (CounterType)"); + } + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.CounterType.protocol2TimApiIfValid = function (value) { + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.CounterType._timApi2Protocol = + new Map([[timapi.constants.CounterType.shift, "Shift"], + [timapi.constants.CounterType.balance, "Balance"]]); +timapi.protocol.constants.CounterType._protocol2TimApi = + new Map([["Shift", timapi.constants.CounterType.shift], + ["Balance", timapi.constants.CounterType.balance]]); +timapi.protocol.constants.CurrencyType = {}; +timapi.protocol.constants.CurrencyType.timApi2Protocol = function (value) { + if (!this._timApi2Protocol.has(value)) { + throw new Error("Invalid argument '" + value + "' (CurrencyType)"); + } + return this._timApi2Protocol.get(value); +}; +timapi.protocol.constants.CurrencyType.protocol2TimApi = function (value) { + if (!this._protocol2TimApi.has(value)) { + throw new Error("Invalid argument '" + value + "' (CurrencyType)"); + } + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.CurrencyType.protocol2TimApiIfValid = function (value) { + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.CurrencyType._timApi2Protocol = + new Map([[timapi.constants.CurrencyType.local, "Local"], + [timapi.constants.CurrencyType.foreign, "Foreign"], + [timapi.constants.CurrencyType.dcc, "Dcc"]]); +timapi.protocol.constants.CurrencyType._protocol2TimApi = + new Map([["Local", timapi.constants.CurrencyType.local], + ["Foreign", timapi.constants.CurrencyType.foreign], + ["Dcc", timapi.constants.CurrencyType.dcc]]); +timapi.protocol.constants.Cvm = {}; +timapi.protocol.constants.Cvm.timApi2Protocol = function (value) { + if (!this._timApi2Protocol.has(value)) { + throw new Error("Invalid argument '" + value + "' (Cvm)"); + } + return this._timApi2Protocol.get(value); +}; +timapi.protocol.constants.Cvm.protocol2TimApi = function (value) { + if (!this._protocol2TimApi.has(value)) { + throw new Error("Invalid argument '" + value + "' (Cvm)"); + } + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.Cvm.protocol2TimApiIfValid = function (value) { + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.Cvm._timApi2Protocol = + new Map([[timapi.constants.Cvm.pin, "Pin"], + [timapi.constants.Cvm.pinSignature, "PinSignature"], + [timapi.constants.Cvm.signature, "Signature"], + [timapi.constants.Cvm.onDevice, "OnDevice"], + [timapi.constants.Cvm.noCvm, "NoCvm"]]); +timapi.protocol.constants.Cvm._protocol2TimApi = + new Map([["Pin", timapi.constants.Cvm.pin], + ["PinSignature", timapi.constants.Cvm.pinSignature], + ["Signature", timapi.constants.Cvm.signature], + ["OnDevice", timapi.constants.Cvm.onDevice], + ["NoCvm", timapi.constants.Cvm.noCvm]]); +timapi.protocol.constants.DialogFunctions = {}; +timapi.protocol.constants.DialogFunctions.timApi2Protocol = function (value) { + var flags = 0; + for (var each of value) { + if (!this._timApi2Protocol.has(each)) { + throw new Error("Invalid argument '" + value + "' (DialogFunctions)"); + } + flags |= this._timApi2Protocol.get(each); + } + return flags; +}; +timapi.protocol.constants.DialogFunctions.protocol2TimApi = function (value) { + var set = new Set(); + for (var [k, v] of this._protocol2TimApi.entries()) { + if ((value & k) != 0) { + set.add(v); + } + } + return set; +}; +timapi.protocol.constants.DialogFunctions._timApi2Protocol = + new Map([[timapi.constants.DialogFunctions.showSignatureCapture, 0x1], + [timapi.constants.DialogFunctions.showDialog, 0x2], + [timapi.constants.DialogFunctions.sendCardCommand, 0x4]]); +timapi.protocol.constants.DialogFunctions._protocol2TimApi = + new Map([[0x1, timapi.constants.DialogFunctions.showSignatureCapture], + [0x2, timapi.constants.DialogFunctions.showDialog], + [0x4, timapi.constants.DialogFunctions.sendCardCommand]]); +timapi.protocol.constants.EcrInfoType = {}; +timapi.protocol.constants.EcrInfoType.timApi2Protocol = function (value) { + if (!this._timApi2Protocol.has(value)) { + throw new Error("Invalid argument '" + value + "' (EcrInfoType)"); + } + return this._timApi2Protocol.get(value); +}; +timapi.protocol.constants.EcrInfoType.protocol2TimApi = function (value) { + if (!this._protocol2TimApi.has(value)) { + throw new Error("Invalid argument '" + value + "' (EcrInfoType)"); + } + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.EcrInfoType.protocol2TimApiIfValid = function (value) { + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.EcrInfoType._timApi2Protocol = + new Map([[timapi.constants.EcrInfoType.os, "Os"], + [timapi.constants.EcrInfoType.ecrApplication, "EcrApplication"], + [timapi.constants.EcrInfoType.eftApi, "EftAPI"], + [timapi.constants.EcrInfoType.eftModule, "EftModule"]]); +timapi.protocol.constants.EcrInfoType._protocol2TimApi = + new Map([["Os", timapi.constants.EcrInfoType.os], + ["EcrApplication", timapi.constants.EcrInfoType.ecrApplication], + ["EftAPI", timapi.constants.EcrInfoType.eftApi], + ["EftModule", timapi.constants.EcrInfoType.eftModule]]); +timapi.protocol.constants.FeatureType = { + sixmlGuides: "sixml:Guides", + sixmlProtocolLevel: "sixml:ProtocolLevel", + sixmlStatusFunctions: "sixml:StatusFunctions", + sixmlAdminFunctions: "sixml:AdminFunctions", + sixmlFinancialTransactions: "sixml:FinancialTransactions", + sixmlNonFinancialTransactions: "sixml:NonFinancialTransactions", + sixmlRemoteFunctions: "sixml:RemoteFunctions", + sixmlDialogFunctions: "sixml:DialogFunctions", + sixmlAutoCommit: "sixml:AutoCommit", + sixmlAutoShiftManagement: "sixml:AutoShiftManagement", + sixmlAutoShutterManagement: "sixml:AutoShutterManagement", + sixmlSleepTimer: "sixml:SleepTimer", + sixmlSwUpdateInformation: "sixml:SwUpdateInformation", + sixmlRequestRepetition: "sixml:RequestRepetition", + sixmlAllowClosedCardInsertion: "sixml:AllowClosedCardInsert", + paymentDcc: "pay:Dcc", + paymentDeclinedReceipts: "pay:DeclinedReceipts", + paymentPartialApproval: "pay:PartialApproval", + paymentPartialCommit: "pay:PartialCommit", + ep2Available: "pp:ep2:Available", + ep2Dcc: "pp:ep2:Dcc", + ep2DeclinedReceipts: "pp:ep2:DeclinedReceipts", + ep2MultiAccountSelection: "pp:ep2:MultiAccountSelection", + ep2MultiContractSelection: "pp:ep2:MultiContractSelection", + hardwarePrinterInstalled: "hw:Printer:Installed", + hardwareDisplayCardholderInstalled: "hw:Display:Cardholder:Installed", + hardwareDisplayMerchantInstalled: "hw:Display:Merchant:Installed", + hardwareSettingDisplayBrightness: "hw:Setting:Display:Brightness", + hardwareSettingDisplayContrast: "hw:Setting:Display:Contrast", + hardwareSettingTonesAlert: "hw:Setting:Tones:Alert", + hardwareSettingTonesKeypad: "hw:Setting:Tones:Keypad" +}; +timapi.protocol.constants.FinancialTransactions = {}; +timapi.protocol.constants.FinancialTransactions.timApi2Protocol = function (value) { + var flags = 0; + for (var each of value) { + if (!this._timApi2Protocol.has(each)) { + throw new Error("Invalid argument '" + value + "' (FinancialTransactions)"); + } + flags |= this._timApi2Protocol.get(each); + } + return flags; +}; +timapi.protocol.constants.FinancialTransactions.protocol2TimApi = function (value) { + var set = new Set(); + for (var [k, v] of this._protocol2TimApi.entries()) { + if ((value & k) != 0) { + set.add(v); + } + } + return set; +}; +timapi.protocol.constants.FinancialTransactions._timApi2Protocol = + new Map([[timapi.constants.FinancialTransactions.purchase, 0x1], + [timapi.constants.FinancialTransactions.credit, 0x2], + [timapi.constants.FinancialTransactions.reversal, 0x4], + [timapi.constants.FinancialTransactions.preAuthorization, 0x8], + [timapi.constants.FinancialTransactions.cashAdvance, 0x10], + [timapi.constants.FinancialTransactions.commit, 0x20], + [timapi.constants.FinancialTransactions.rollback, 0x40], + [timapi.constants.FinancialTransactions.giro, 0x80], + [timapi.constants.FinancialTransactions.combined, 0x100], + [timapi.constants.FinancialTransactions.authorizeCredit, 0x200], + [timapi.constants.FinancialTransactions.authorizeDeposit, 0x400], + [timapi.constants.FinancialTransactions.finalizePurchase, 0x800], + [timapi.constants.FinancialTransactions.proceed, 0x1000], + [timapi.constants.FinancialTransactions.purchaseForcedAcceptance, 0x2000], + [timapi.constants.FinancialTransactions.purchaseWithCashback, 0x4000], + [timapi.constants.FinancialTransactions.purchasePhoneAuthorized, 0x8000], + [timapi.constants.FinancialTransactions.loadVoucher, 0x10000], + [timapi.constants.FinancialTransactions.collectPoints, 0x20000], + [timapi.constants.FinancialTransactions.purchaseReservation, 0x40000], + [timapi.constants.FinancialTransactions.purchaseReservationPhoneAuthorized, 0x80000], + [timapi.constants.FinancialTransactions.amtAdjustment, 0x100000], + [timapi.constants.FinancialTransactions.purchasePhoneOrdered, 0x200000], + [timapi.constants.FinancialTransactions.purchaseMailOrdered, 0x400000]]); +timapi.protocol.constants.FinancialTransactions._protocol2TimApi = + new Map([[0x1, timapi.constants.FinancialTransactions.purchase], + [0x2, timapi.constants.FinancialTransactions.credit], + [0x4, timapi.constants.FinancialTransactions.reversal], + [0x8, timapi.constants.FinancialTransactions.preAuthorization], + [0x10, timapi.constants.FinancialTransactions.cashAdvance], + [0x20, timapi.constants.FinancialTransactions.commit], + [0x40, timapi.constants.FinancialTransactions.rollback], + [0x80, timapi.constants.FinancialTransactions.giro], + [0x100, timapi.constants.FinancialTransactions.combined], + [0x200, timapi.constants.FinancialTransactions.authorizeCredit], + [0x400, timapi.constants.FinancialTransactions.authorizeDeposit], + [0x800, timapi.constants.FinancialTransactions.finalizePurchase], + [0x1000, timapi.constants.FinancialTransactions.proceed], + [0x2000, timapi.constants.FinancialTransactions.purchaseForcedAcceptance], + [0x4000, timapi.constants.FinancialTransactions.purchaseWithCashback], + [0x8000, timapi.constants.FinancialTransactions.purchasePhoneAuthorized], + [0x10000, timapi.constants.FinancialTransactions.loadVoucher], + [0x20000, timapi.constants.FinancialTransactions.collectPoints], + [0x40000, timapi.constants.FinancialTransactions.purchaseReservation], + [0x80000, timapi.constants.FinancialTransactions.purchaseReservationPhoneAuthorized], + [0x100000, timapi.constants.FinancialTransactions.amtAdjustment], + [0x200000, timapi.constants.FinancialTransactions.purchasePhoneOrdered], + [0x400000, timapi.constants.FinancialTransactions.purchaseMailOrdered]]); +timapi.protocol.constants.Function = { + terminalStatus: "TerminalStatus", + featureRequest: "FeatureRequest", + systemInformation: "SystemInformation", + applicationInformation: "ApplicationInformation", + hardwareInformation: "HardwareInformation", + keepAlive: "KeepAlive", + licenseChanged: "LicenseChanged", + login: "Login", + logout: "Logout", + reconfig: "Reconfig", + reboot: "Reboot", + softwareUpdate: "SoftwareUpdate", + changeSettings: "ChangeSettings", + activate: "Activate", + deactivate: "Deactivate", + counterRequest: "CounterRequest", + reconciliation: "Reconciliation", + balance: "Balance", + dccRates: "DccRates", + cancel: "Cancel", + purchase: "Purchase", + credit: "Credit", + reversal: "Reversal", + commit: "Commit", + rollback: "Rollback", + receiptRequest: "ReceiptRequest", + preAuthorization: "PreAuthorization", + finalizePurchase: "FinalizePurchase", + initTransaction: "InitTransaction", + closeReader: "CloseReader", + openReader: "OpenReader", + ejectCard: "EjectCard", + openMaintenanceWindow: "OpenMaintenanceWindow", + holdCommit: "HoldCommit", + closeMaintenanceWindow: "CloseMaintenanceWindow", + activateServiceMenu: "ActivateServiceMenu", + amtAdjustment: "AmtAdjustment", + balanceInquiry: "BalanceInquiry", + cashAdvance: "CashAdvance", + purchaseForcedAcceptance: "PurchaseForcedAcceptance", + purchaseWithCashback: "PurchaseWithCashback", + purchasePhoneAuthorized: "PurchasePhoneAuthorized", + purchasePhoneOrdered: "PurchasePhoneOrdered", + purchaseMailOrdered: "PurchaseMailOrdered", + giro: "Giro", + combined: "Combined", + authorizeCredit: "AuthorizeCredit", + authorizeDeposit: "AuthorizeDeposit", + openDialogMode: "OpenDialogMode", + closeDialogMode: "CloseDialogMode", + showSignatureCapture: "ShowSignatureCapture", + showDialog: "ShowDialog", + sendCardCommand: "SendCardCommand", + transmitLog: "TransmitLog", + screenshot: "Screenshot", + reservation: "Reservation", + adjustReservation: "AdjustReservation", + cancelReservation: "CancelReservation", + purchaseReservation: "PurchaseReservation", + purchaseReservationPhoneAuthorized: "PurchaseReservationPhoneAuthorized", + loadVoucher: "LoadVoucher", + collectPoints: "CollectPoints", + loyaltyData: "LoyaltyData", + startCheckout: "StartCheckout", + finishCheckout: "FinishCheckout", + provideLoyaltyBasket: "ProvideLoyaltyBasket", + loyaltyInfo: "LoyaltyInfo" +}; +timapi.protocol.constants.FunctionGroup = { + status: "Status", + admin: "Admin", + finTransaction: "FinTransaction", + nonFinTransaction: "NonFinTransaction", + dialog: "Dialog", + remote: "Remote" +}; +timapi.protocol.constants.Guides = {}; +timapi.protocol.constants.Guides.timApi2Protocol = function (value) { + var flags = 0; + for (var each of value) { + if (!this._timApi2Protocol.has(each)) { + throw new Error("Invalid argument '" + value + "' (Guides)"); + } + flags |= this._timApi2Protocol.get(each); + } + return flags; +}; +timapi.protocol.constants.Guides.protocol2TimApi = function (value) { + var set = new Set(); + for (var [k, v] of this._protocol2TimApi.entries()) { + if ((value & k) != 0) { + set.add(v); + } + } + return set; +}; +timapi.protocol.constants.Guides._timApi2Protocol = + new Map([[timapi.constants.Guides.retail, 0x1], + [timapi.constants.Guides.unattended, 0x2], + [timapi.constants.Guides.advancedRetail, 0x4], + [timapi.constants.Guides.banking, 0x8], + [timapi.constants.Guides.petrol, 0x10], + [timapi.constants.Guides.dialog, 0x20], + [timapi.constants.Guides.remote, 0x40], + [timapi.constants.Guides.gastro, 0x80], + [timapi.constants.Guides.hospitality, 0x100], + [timapi.constants.Guides.valueAddedServices, 0x200], + [timapi.constants.Guides.austrianUseCases, 0x400]]); +timapi.protocol.constants.Guides._protocol2TimApi = + new Map([[0x1, timapi.constants.Guides.retail], + [0x2, timapi.constants.Guides.unattended], + [0x4, timapi.constants.Guides.advancedRetail], + [0x8, timapi.constants.Guides.banking], + [0x10, timapi.constants.Guides.petrol], + [0x20, timapi.constants.Guides.dialog], + [0x40, timapi.constants.Guides.remote], + [0x80, timapi.constants.Guides.gastro], + [0x100, timapi.constants.Guides.hospitality], + [0x200, timapi.constants.Guides.valueAddedServices], + [0x400, timapi.constants.Guides.austrianUseCases]]); +timapi.protocol.constants.HardwareType = {}; +timapi.protocol.constants.HardwareType.timApi2Protocol = function (value) { + if (!this._timApi2Protocol.has(value)) { + throw new Error("Invalid argument '" + value + "' (HardwareType)"); + } + return this._timApi2Protocol.get(value); +}; +timapi.protocol.constants.HardwareType.protocol2TimApi = function (value) { + if (!this._protocol2TimApi.has(value)) { + throw new Error("Invalid argument '" + value + "' (HardwareType)"); + } + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.HardwareType.protocol2TimApiIfValid = function (value) { + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.HardwareType._timApi2Protocol = + new Map([[timapi.constants.HardwareType.terminal, "Terminal"], + [timapi.constants.HardwareType.eftApplication, "EftApplication"], + [timapi.constants.HardwareType.pinPad, "PinPad"], + [timapi.constants.HardwareType.contactReader, "ContactReader"], + [timapi.constants.HardwareType.contactlessReader, "ContactlessReader"], + [timapi.constants.HardwareType.magStripeReader, "MagStripeReader"]]); +timapi.protocol.constants.HardwareType._protocol2TimApi = + new Map([["Terminal", timapi.constants.HardwareType.terminal], + ["EftApplication", timapi.constants.HardwareType.eftApplication], + ["PinPad", timapi.constants.HardwareType.pinPad], + ["ContactReader", timapi.constants.HardwareType.contactReader], + ["ContactlessReader", timapi.constants.HardwareType.contactlessReader], + ["MagStripeReader", timapi.constants.HardwareType.magStripeReader]]); +timapi.protocol.constants.ImageFileFormat = {}; +timapi.protocol.constants.ImageFileFormat.timApi2Protocol = function (value) { + if (!this._timApi2Protocol.has(value)) { + throw new Error("Invalid argument '" + value + "' (ImageFileFormat)"); + } + return this._timApi2Protocol.get(value); +}; +timapi.protocol.constants.ImageFileFormat.protocol2TimApi = function (value) { + if (!this._protocol2TimApi.has(value)) { + throw new Error("Invalid argument '" + value + "' (ImageFileFormat)"); + } + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.ImageFileFormat.protocol2TimApiIfValid = function (value) { + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.ImageFileFormat._timApi2Protocol = + new Map([[timapi.constants.ImageFileFormat.jpeg, "Jpeg"], + [timapi.constants.ImageFileFormat.png, "Png"]]); +timapi.protocol.constants.ImageFileFormat._protocol2TimApi = + new Map([["Jpeg", timapi.constants.ImageFileFormat.jpeg], + ["Png", timapi.constants.ImageFileFormat.png]]); +timapi.protocol.constants.KernelType = {}; +timapi.protocol.constants.KernelType.timApi2Protocol = function (value) { + if (!this._timApi2Protocol.has(value)) { + throw new Error("Invalid argument '" + value + "' (KernelType)"); + } + return this._timApi2Protocol.get(value); +}; +timapi.protocol.constants.KernelType.protocol2TimApi = function (value) { + if (!this._protocol2TimApi.has(value)) { + throw new Error("Invalid argument '" + value + "' (KernelType)"); + } + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.KernelType.protocol2TimApiIfValid = function (value) { + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.KernelType._timApi2Protocol = + new Map([[timapi.constants.KernelType.emvContact, -1], + [timapi.constants.KernelType.entryPoint, 0], + [timapi.constants.KernelType.kernel1, 1], + [timapi.constants.KernelType.kernel2, 2], + [timapi.constants.KernelType.kernel3, 3], + [timapi.constants.KernelType.kernel4, 4], + [timapi.constants.KernelType.kernel5, 5], + [timapi.constants.KernelType.kernel6, 6], + [timapi.constants.KernelType.kernel7, 7]]); +timapi.protocol.constants.KernelType._protocol2TimApi = + new Map([[-1, timapi.constants.KernelType.emvContact], + [0, timapi.constants.KernelType.entryPoint], + [1, timapi.constants.KernelType.kernel1], + [2, timapi.constants.KernelType.kernel2], + [3, timapi.constants.KernelType.kernel3], + [4, timapi.constants.KernelType.kernel4], + [5, timapi.constants.KernelType.kernel5], + [6, timapi.constants.KernelType.kernel6], + [7, timapi.constants.KernelType.kernel7]]); +timapi.protocol.constants.ManagementStatus = {}; +timapi.protocol.constants.ManagementStatus.timApi2Protocol = function (value) { + if (!this._timApi2Protocol.has(value)) { + throw new Error("Invalid argument '" + value + "' (ManagementStatus)"); + } + return this._timApi2Protocol.get(value); +}; +timapi.protocol.constants.ManagementStatus.protocol2TimApi = function (value) { + if (!this._protocol2TimApi.has(value)) { + throw new Error("Invalid argument '" + value + "' (ManagementStatus)"); + } + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.ManagementStatus.protocol2TimApiIfValid = function (value) { + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.ManagementStatus._timApi2Protocol = + new Map([[timapi.constants.ManagementStatus.closed, "Closed"], + [timapi.constants.ManagementStatus.open, "Open"], + [timapi.constants.ManagementStatus.dialog, "Dialog"]]); +timapi.protocol.constants.ManagementStatus._protocol2TimApi = + new Map([["Closed", timapi.constants.ManagementStatus.closed], + ["Open", timapi.constants.ManagementStatus.open], + ["Dialog", timapi.constants.ManagementStatus.dialog]]); +timapi.protocol.constants.MerchantAction = {}; +timapi.protocol.constants.MerchantAction.timApi2Protocol = function (value) { + if (!this._timApi2Protocol.has(value)) { + throw new Error("Invalid argument '" + value + "' (MerchantAction)"); + } + return this._timApi2Protocol.get(value); +}; +timapi.protocol.constants.MerchantAction.protocol2TimApi = function (value) { + if (!this._protocol2TimApi.has(value)) { + throw new Error("Invalid argument '" + value + "' (MerchantAction)"); + } + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.MerchantAction.protocol2TimApiIfValid = function (value) { + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.MerchantAction._timApi2Protocol = + new Map([[timapi.constants.MerchantAction.signature, "Signature"], + [timapi.constants.MerchantAction.none, "None"]]); +timapi.protocol.constants.MerchantAction._protocol2TimApi = + new Map([["Signature", timapi.constants.MerchantAction.signature], + ["None", timapi.constants.MerchantAction.none]]); +timapi.protocol.constants.MerchantOptionType = {}; +timapi.protocol.constants.MerchantOptionType.timApi2Protocol = function (value) { + if (!this._timApi2Protocol.has(value)) { + throw new Error("Invalid argument '" + value + "' (MerchantOptionType)"); + } + return this._timApi2Protocol.get(value); +}; +timapi.protocol.constants.MerchantOptionType.protocol2TimApi = function (value) { + if (!this._protocol2TimApi.has(value)) { + throw new Error("Invalid argument '" + value + "' (MerchantOptionType)"); + } + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.MerchantOptionType.protocol2TimApiIfValid = function (value) { + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.MerchantOptionType._timApi2Protocol = + new Map([[timapi.constants.MerchantOptionType.additionalMerchantData, "AdditionalMerchantData"], + [timapi.constants.MerchantOptionType.multiAccountIndex, "MultiAccountIndex"], + [timapi.constants.MerchantOptionType.multiContractIndex, "MultiContractIndex"], + [timapi.constants.MerchantOptionType.merchantTid, "MerchantTid"], + [timapi.constants.MerchantOptionType.clerkIdentifier, "ClerkIdentifier"], + [timapi.constants.MerchantOptionType.fuelDispenserNumber, "FuelDispenserNumber"], + [timapi.constants.MerchantOptionType.posdnumber, "POSDNumber"], + [timapi.constants.MerchantOptionType.receiptNumber, "ReceiptNumber"], + [timapi.constants.MerchantOptionType.shiftNumber, "ShiftNumber"]]); +timapi.protocol.constants.MerchantOptionType._protocol2TimApi = + new Map([["AdditionalMerchantData", timapi.constants.MerchantOptionType.additionalMerchantData], + ["MultiAccountIndex", timapi.constants.MerchantOptionType.multiAccountIndex], + ["MultiContractIndex", timapi.constants.MerchantOptionType.multiContractIndex], + ["MerchantTid", timapi.constants.MerchantOptionType.merchantTid], + ["ClerkIdentifier", timapi.constants.MerchantOptionType.clerkIdentifier], + ["FuelDispenserNumber", timapi.constants.MerchantOptionType.fuelDispenserNumber], + ["POSDNumber", timapi.constants.MerchantOptionType.posdnumber], + ["ReceiptNumber", timapi.constants.MerchantOptionType.receiptNumber], + ["ShiftNumber", timapi.constants.MerchantOptionType.shiftNumber]]); +timapi.protocol.constants.NonFinancialTransactions = {}; +timapi.protocol.constants.NonFinancialTransactions.timApi2Protocol = function (value) { + var flags = 0; + for (var each of value) { + if (!this._timApi2Protocol.has(each)) { + throw new Error("Invalid argument '" + value + "' (NonFinancialTransactions)"); + } + flags |= this._timApi2Protocol.get(each); + } + return flags; +}; +timapi.protocol.constants.NonFinancialTransactions.protocol2TimApi = function (value) { + var set = new Set(); + for (var [k, v] of this._protocol2TimApi.entries()) { + if ((value & k) != 0) { + set.add(v); + } + } + return set; +}; +timapi.protocol.constants.NonFinancialTransactions._timApi2Protocol = + new Map([[timapi.constants.NonFinancialTransactions.cancel, 0x1], + [timapi.constants.NonFinancialTransactions.balanceInquiry, 0x2], + [timapi.constants.NonFinancialTransactions.clientIdentification, 0x4], + [timapi.constants.NonFinancialTransactions.initTransaction, 0x8], + [timapi.constants.NonFinancialTransactions.holdCommit, 0x10], + [timapi.constants.NonFinancialTransactions.reservation, 0x20], + [timapi.constants.NonFinancialTransactions.adjustReservation, 0x40], + [timapi.constants.NonFinancialTransactions.cancelReservation, 0x80], + [timapi.constants.NonFinancialTransactions.loyaltyData, 0x200], + [timapi.constants.NonFinancialTransactions.startCheckout, 0x400], + [timapi.constants.NonFinancialTransactions.finishCheckout, 0x800], + [timapi.constants.NonFinancialTransactions.provideLoyaltyBasket, 0x1000]]); +timapi.protocol.constants.NonFinancialTransactions._protocol2TimApi = + new Map([[0x1, timapi.constants.NonFinancialTransactions.cancel], + [0x2, timapi.constants.NonFinancialTransactions.balanceInquiry], + [0x4, timapi.constants.NonFinancialTransactions.clientIdentification], + [0x8, timapi.constants.NonFinancialTransactions.initTransaction], + [0x10, timapi.constants.NonFinancialTransactions.holdCommit], + [0x20, timapi.constants.NonFinancialTransactions.reservation], + [0x40, timapi.constants.NonFinancialTransactions.adjustReservation], + [0x80, timapi.constants.NonFinancialTransactions.cancelReservation], + [0x200, timapi.constants.NonFinancialTransactions.loyaltyData], + [0x400, timapi.constants.NonFinancialTransactions.startCheckout], + [0x800, timapi.constants.NonFinancialTransactions.finishCheckout], + [0x1000, timapi.constants.NonFinancialTransactions.provideLoyaltyBasket]]); +timapi.protocol.constants.OptionType = { + sixmlAutoCommit: "sixml:AutoCommit", + sixmlProtocolLevel: "sixml:ProtocolLevel", + sixmlCommitTimeout: "sixml:CommitTimeout", + sixmlProceedTimeout: "sixml:ProceedTimeout", + sixmlGuides: "sixml:Guides", + sixmlCardInsertionTimeout: "sixml:CardInsertionTimeout", + sixmlCardRemovalTimeout: "sixml:CardRemovalTimeout", + sixmlAutoShiftManagement: "sixml:AutoShiftManagement", + sixmlAutoShutterManagement: "sixml:AutoShutterManagement", + sixmlPartialApproval: "sixml:PartialApproval", + sixmlDcc: "sixml:Dcc", + sixmlTip: "sixml:Tip", + sixmlPartialCommit: "sixml:PartialCommit", + sixmlProceedRequired: "sixml:ProceedRequired", + sixmlAllowClosedCardInsert: "sixml:AllowClosedCardInsert", + sixmlQrctimeout: "sixml:QRCTimeout", + sixmlLateCheckinTimeout: "sixml:LateCheckinTimeout" +}; +timapi.protocol.constants.PaymentProtocol = {}; +timapi.protocol.constants.PaymentProtocol.timApi2Protocol = function (value) { + if (!this._timApi2Protocol.has(value)) { + throw new Error("Invalid argument '" + value + "' (PaymentProtocol)"); + } + return this._timApi2Protocol.get(value); +}; +timapi.protocol.constants.PaymentProtocol.protocol2TimApi = function (value) { + if (!this._protocol2TimApi.has(value)) { + throw new Error("Invalid argument '" + value + "' (PaymentProtocol)"); + } + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.PaymentProtocol.protocol2TimApiIfValid = function (value) { + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.PaymentProtocol._timApi2Protocol = + new Map([[timapi.constants.PaymentProtocol.ep2, "ep2"], + [timapi.constants.PaymentProtocol.ev, "ev"], + [timapi.constants.PaymentProtocol.valueMaster, "vm"], + [timapi.constants.PaymentProtocol.v3cxml, "3CXml"]]); +timapi.protocol.constants.PaymentProtocol._protocol2TimApi = + new Map([["ep2", timapi.constants.PaymentProtocol.ep2], + ["ev", timapi.constants.PaymentProtocol.ev], + ["vm", timapi.constants.PaymentProtocol.valueMaster], + ["3CXml", timapi.constants.PaymentProtocol.v3cxml]]); +timapi.protocol.constants.PosEntryMode = {}; +timapi.protocol.constants.PosEntryMode.timApi2Protocol = function (value) { + if (!this._timApi2Protocol.has(value)) { + throw new Error("Invalid argument '" + value + "' (PosEntryMode)"); + } + return this._timApi2Protocol.get(value); +}; +timapi.protocol.constants.PosEntryMode.protocol2TimApi = function (value) { + if (!this._protocol2TimApi.has(value)) { + throw new Error("Invalid argument '" + value + "' (PosEntryMode)"); + } + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.PosEntryMode.protocol2TimApiIfValid = function (value) { + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.PosEntryMode._timApi2Protocol = + new Map([[timapi.constants.PosEntryMode.unspecified, 0], + [timapi.constants.PosEntryMode.manual, 1], + [timapi.constants.PosEntryMode.magStripeIncomplete, 2], + [timapi.constants.PosEntryMode.barCode, 3], + [timapi.constants.PosEntryMode.ocr, 4], + [timapi.constants.PosEntryMode.icc, 5], + [timapi.constants.PosEntryMode.magStripe, 90], + [timapi.constants.PosEntryMode.magStripeFallback, 91], + [timapi.constants.PosEntryMode.magStripeFallbackAgain, 92], + [timapi.constants.PosEntryMode.magStripeFallbackIccFail, 93], + [timapi.constants.PosEntryMode.emergencyDataEntry, 94], + [timapi.constants.PosEntryMode.ecommerce, 95], + [timapi.constants.PosEntryMode.ctlessIcc, 97], + [timapi.constants.PosEntryMode.ctlessMagStrige, 98]]); +timapi.protocol.constants.PosEntryMode._protocol2TimApi = + new Map([[0, timapi.constants.PosEntryMode.unspecified], + [1, timapi.constants.PosEntryMode.manual], + [2, timapi.constants.PosEntryMode.magStripeIncomplete], + [3, timapi.constants.PosEntryMode.barCode], + [4, timapi.constants.PosEntryMode.ocr], + [5, timapi.constants.PosEntryMode.icc], + [90, timapi.constants.PosEntryMode.magStripe], + [91, timapi.constants.PosEntryMode.magStripeFallback], + [92, timapi.constants.PosEntryMode.magStripeFallbackAgain], + [93, timapi.constants.PosEntryMode.magStripeFallbackIccFail], + [94, timapi.constants.PosEntryMode.emergencyDataEntry], + [95, timapi.constants.PosEntryMode.ecommerce], + [97, timapi.constants.PosEntryMode.ctlessIcc], + [98, timapi.constants.PosEntryMode.ctlessMagStrige]]); +timapi.protocol.constants.PrintFlag = {}; +timapi.protocol.constants.PrintFlag.timApi2Protocol = function (value) { + var flags = 0; + for (var each of value) { + if (!this._timApi2Protocol.has(each)) { + throw new Error("Invalid argument '" + value + "' (PrintFlag)"); + } + flags |= this._timApi2Protocol.get(each); + } + return flags; +}; +timapi.protocol.constants.PrintFlag.protocol2TimApi = function (value) { + var set = new Set(); + for (var [k, v] of this._protocol2TimApi.entries()) { + if ((value & k) != 0) { + set.add(v); + } + } + return set; +}; +timapi.protocol.constants.PrintFlag._timApi2Protocol = + new Map([[timapi.constants.PrintFlag.suppressHeader, 0x1], + [timapi.constants.PrintFlag.suppressSignature, 0x2], + [timapi.constants.PrintFlag.suppressEcrInfo, 0x4], + [timapi.constants.PrintFlag.suppressEftInfo, 0x8]]); +timapi.protocol.constants.PrintFlag._protocol2TimApi = + new Map([[0x1, timapi.constants.PrintFlag.suppressHeader], + [0x2, timapi.constants.PrintFlag.suppressSignature], + [0x4, timapi.constants.PrintFlag.suppressEcrInfo], + [0x8, timapi.constants.PrintFlag.suppressEftInfo]]); +timapi.protocol.constants.PrintFormat = {}; +timapi.protocol.constants.PrintFormat.timApi2Protocol = function (value) { + if (!this._timApi2Protocol.has(value)) { + throw new Error("Invalid argument '" + value + "' (PrintFormat)"); + } + return this._timApi2Protocol.get(value); +}; +timapi.protocol.constants.PrintFormat.protocol2TimApi = function (value) { + if (!this._protocol2TimApi.has(value)) { + throw new Error("Invalid argument '" + value + "' (PrintFormat)"); + } + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.PrintFormat.protocol2TimApiIfValid = function (value) { + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.PrintFormat._timApi2Protocol = + new Map([[timapi.constants.PrintFormat.noPrint, "NoPrint"], + [timapi.constants.PrintFormat.normal, "Normal"], + [timapi.constants.PrintFormat.onDevice, "OnDevice"], + [timapi.constants.PrintFormat.fieldsOnly, "FieldsOnly"]]); +timapi.protocol.constants.PrintFormat._protocol2TimApi = + new Map([["NoPrint", timapi.constants.PrintFormat.noPrint], + ["Normal", timapi.constants.PrintFormat.normal], + ["OnDevice", timapi.constants.PrintFormat.onDevice], + ["FieldsOnly", timapi.constants.PrintFormat.fieldsOnly]]); +timapi.protocol.constants.ProcessingDisposition = {}; +timapi.protocol.constants.ProcessingDisposition.timApi2Protocol = function (value) { + if (!this._timApi2Protocol.has(value)) { + throw new Error("Invalid argument '" + value + "' (ProcessingDisposition)"); + } + return this._timApi2Protocol.get(value); +}; +timapi.protocol.constants.ProcessingDisposition.protocol2TimApi = function (value) { + if (!this._protocol2TimApi.has(value)) { + throw new Error("Invalid argument '" + value + "' (ProcessingDisposition)"); + } + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.ProcessingDisposition.protocol2TimApiIfValid = function (value) { + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.ProcessingDisposition._timApi2Protocol = + new Map([[timapi.constants.ProcessingDisposition.onEcr, "OnECR"], + [timapi.constants.ProcessingDisposition.onEft, "OnEFT"]]); +timapi.protocol.constants.ProcessingDisposition._protocol2TimApi = + new Map([["OnECR", timapi.constants.ProcessingDisposition.onEcr], + ["OnEFT", timapi.constants.ProcessingDisposition.onEft]]); +timapi.protocol.constants.ProtocolLevel = {}; +timapi.protocol.constants.ProtocolLevel.timApi2Protocol = function (value) { + if (!this._timApi2Protocol.has(value)) { + throw new Error("Invalid argument '" + value + "' (ProtocolLevel)"); + } + return this._timApi2Protocol.get(value); +}; +timapi.protocol.constants.ProtocolLevel.protocol2TimApi = function (value) { + if (!this._protocol2TimApi.has(value)) { + throw new Error("Invalid argument '" + value + "' (ProtocolLevel)"); + } + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.ProtocolLevel.protocol2TimApiIfValid = function (value) { + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.ProtocolLevel._timApi2Protocol = + new Map([[timapi.constants.ProtocolLevel.sixml2_2, 3]]); +timapi.protocol.constants.ProtocolLevel._protocol2TimApi = + new Map([[3, timapi.constants.ProtocolLevel.sixml2_2]]); +timapi.protocol.constants.ProtocolType = {}; +timapi.protocol.constants.ProtocolType.timApi2Protocol = function (value) { + if (!this._timApi2Protocol.has(value)) { + throw new Error("Invalid argument '" + value + "' (ProtocolType)"); + } + return this._timApi2Protocol.get(value); +}; +timapi.protocol.constants.ProtocolType.protocol2TimApi = function (value) { + if (!this._protocol2TimApi.has(value)) { + throw new Error("Invalid argument '" + value + "' (ProtocolType)"); + } + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.ProtocolType.protocol2TimApiIfValid = function (value) { + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.ProtocolType._timApi2Protocol = + new Map([[timapi.constants.ProtocolType.sixml, 1]]); +timapi.protocol.constants.ProtocolType._protocol2TimApi = + new Map([[1, timapi.constants.ProtocolType.sixml]]); +timapi.protocol.constants.Reason = {}; +timapi.protocol.constants.Reason.timApi2Protocol = function (value) { + if (!this._timApi2Protocol.has(value)) { + throw new Error("Invalid argument '" + value + "' (Reason)"); + } + return this._timApi2Protocol.get(value); +}; +timapi.protocol.constants.Reason.protocol2TimApi = function (value) { + if (!this._protocol2TimApi.has(value)) { + throw new Error("Invalid argument '" + value + "' (Reason)"); + } + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.Reason.protocol2TimApiIfValid = function (value) { + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.Reason._timApi2Protocol = + new Map([[timapi.constants.Reason.ok, "Ok"], + [timapi.constants.Reason.corr, "Corr"], + [timapi.constants.Reason.stop, "Stop"], + [timapi.constants.Reason.cardReader, "CardReader"], + [timapi.constants.Reason.autoConfirm, "AutoConfirm"], + [timapi.constants.Reason.timeout, "Timeout"], + [timapi.constants.Reason.codeOk, "CodeOk"], + [timapi.constants.Reason.codeNok, "CodeNok"], + [timapi.constants.Reason.pinOk, "PinOk"], + [timapi.constants.Reason.pinNok, "PinNok"]]); +timapi.protocol.constants.Reason._protocol2TimApi = + new Map([["Ok", timapi.constants.Reason.ok], + ["Corr", timapi.constants.Reason.corr], + ["Stop", timapi.constants.Reason.stop], + ["CardReader", timapi.constants.Reason.cardReader], + ["AutoConfirm", timapi.constants.Reason.autoConfirm], + ["Timeout", timapi.constants.Reason.timeout], + ["CodeOk", timapi.constants.Reason.codeOk], + ["CodeNok", timapi.constants.Reason.codeNok], + ["PinOk", timapi.constants.Reason.pinOk], + ["PinNok", timapi.constants.Reason.pinNok]]); +timapi.protocol.constants.ReceiptItemType = {}; +timapi.protocol.constants.ReceiptItemType.timApi2Protocol = function (value) { + if (!this._timApi2Protocol.has(value)) { + throw new Error("Invalid argument '" + value + "' (ReceiptItemType)"); + } + return this._timApi2Protocol.get(value); +}; +timapi.protocol.constants.ReceiptItemType.protocol2TimApi = function (value) { + if (!this._protocol2TimApi.has(value)) { + throw new Error("Invalid argument '" + value + "' (ReceiptItemType)"); + } + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.ReceiptItemType.protocol2TimApiIfValid = function (value) { + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.ReceiptItemType._timApi2Protocol = + new Map([[timapi.constants.ReceiptItemType.actId, "ActId"], + [timapi.constants.ReceiptItemType.accPer, "AccPer"], + [timapi.constants.ReceiptItemType.acqId, "AcqId"], + [timapi.constants.ReceiptItemType.aid, "Aid"], + [timapi.constants.ReceiptItemType.amount, "Amount"], + [timapi.constants.ReceiptItemType.amountDcc, "AmountDcc"], + [timapi.constants.ReceiptItemType.amountOther, "AmountOther"], + [timapi.constants.ReceiptItemType.authCode, "AuthCode"], + [timapi.constants.ReceiptItemType.authReslt, "AuthReslt"], + [timapi.constants.ReceiptItemType.authRespC, "AuthRespC"], + [timapi.constants.ReceiptItemType.authRespTextC, "AuthRespTextC"], + [timapi.constants.ReceiptItemType.brandName, "BrandName"], + [timapi.constants.ReceiptItemType.currency, "Currency"], + [timapi.constants.ReceiptItemType.currencyDcc, "CurrencyDcc"], + [timapi.constants.ReceiptItemType.dccDisclaimer, "DccDisclaimer"], + [timapi.constants.ReceiptItemType.disclaimer, "Disclaimer"], + [timapi.constants.ReceiptItemType.exponent, "Exponent"], + [timapi.constants.ReceiptItemType.exponentDcc, "ExponentDcc"], + [timapi.constants.ReceiptItemType.markupDcc, "MarkupDcc"], + [timapi.constants.ReceiptItemType.markupExponentDcc, "MarkupExponentDcc"], + [timapi.constants.ReceiptItemType.cardNumberPrintableMerchant, "CardNumberPrintableMerchant"], + [timapi.constants.ReceiptItemType.cardNumberPrintableCardholder, "CardNumberPrintableCardholder"], + [timapi.constants.ReceiptItemType.rateDcc, "RateDcc"], + [timapi.constants.ReceiptItemType.rateExponentDcc, "RateExponentDcc"], + [timapi.constants.ReceiptItemType.timeStampDate, "TimeStampDate"], + [timapi.constants.ReceiptItemType.timeStampTime, "TimeStampTime"], + [timapi.constants.ReceiptItemType.trmId, "TrmId"], + [timapi.constants.ReceiptItemType.trxRefNum, "TrxRefNum"], + [timapi.constants.ReceiptItemType.trxSeqCnt, "TrxSeqCnt"], + [timapi.constants.ReceiptItemType.posEntryMode, "PosEntryMode"], + [timapi.constants.ReceiptItemType.cardExpiryDate, "CardExpiryDate"], + [timapi.constants.ReceiptItemType.cardNumberEnc, "CardNumberEnc"], + [timapi.constants.ReceiptItemType.amountSaldo, "AmountSaldo"], + [timapi.constants.ReceiptItemType.ecrSeqCounter, "EcrSeqCounter"], + [timapi.constants.ReceiptItemType.panReceiptDol, "PanReceiptDol"], + [timapi.constants.ReceiptItemType.panReceiptDolIndex, "PanReceiptDolIndex"]]); +timapi.protocol.constants.ReceiptItemType._protocol2TimApi = + new Map([["ActId", timapi.constants.ReceiptItemType.actId], + ["AccPer", timapi.constants.ReceiptItemType.accPer], + ["AcqId", timapi.constants.ReceiptItemType.acqId], + ["Aid", timapi.constants.ReceiptItemType.aid], + ["Amount", timapi.constants.ReceiptItemType.amount], + ["AmountDcc", timapi.constants.ReceiptItemType.amountDcc], + ["AmountOther", timapi.constants.ReceiptItemType.amountOther], + ["AuthCode", timapi.constants.ReceiptItemType.authCode], + ["AuthReslt", timapi.constants.ReceiptItemType.authReslt], + ["AuthRespC", timapi.constants.ReceiptItemType.authRespC], + ["AuthRespTextC", timapi.constants.ReceiptItemType.authRespTextC], + ["BrandName", timapi.constants.ReceiptItemType.brandName], + ["Currency", timapi.constants.ReceiptItemType.currency], + ["CurrencyDcc", timapi.constants.ReceiptItemType.currencyDcc], + ["DccDisclaimer", timapi.constants.ReceiptItemType.dccDisclaimer], + ["Disclaimer", timapi.constants.ReceiptItemType.disclaimer], + ["Exponent", timapi.constants.ReceiptItemType.exponent], + ["ExponentDcc", timapi.constants.ReceiptItemType.exponentDcc], + ["MarkupDcc", timapi.constants.ReceiptItemType.markupDcc], + ["MarkupExponentDcc", timapi.constants.ReceiptItemType.markupExponentDcc], + ["CardNumberPrintableMerchant", timapi.constants.ReceiptItemType.cardNumberPrintableMerchant], + ["CardNumberPrintableCardholder", timapi.constants.ReceiptItemType.cardNumberPrintableCardholder], + ["RateDcc", timapi.constants.ReceiptItemType.rateDcc], + ["RateExponentDcc", timapi.constants.ReceiptItemType.rateExponentDcc], + ["TimeStampDate", timapi.constants.ReceiptItemType.timeStampDate], + ["TimeStampTime", timapi.constants.ReceiptItemType.timeStampTime], + ["TrmId", timapi.constants.ReceiptItemType.trmId], + ["TrxRefNum", timapi.constants.ReceiptItemType.trxRefNum], + ["TrxSeqCnt", timapi.constants.ReceiptItemType.trxSeqCnt], + ["PosEntryMode", timapi.constants.ReceiptItemType.posEntryMode], + ["CardExpiryDate", timapi.constants.ReceiptItemType.cardExpiryDate], + ["CardNumberEnc", timapi.constants.ReceiptItemType.cardNumberEnc], + ["AmountSaldo", timapi.constants.ReceiptItemType.amountSaldo], + ["EcrSeqCounter", timapi.constants.ReceiptItemType.ecrSeqCounter], + ["PanReceiptDol", timapi.constants.ReceiptItemType.panReceiptDol], + ["PanReceiptDolIndex", timapi.constants.ReceiptItemType.panReceiptDolIndex]]); +timapi.protocol.constants.ReceiptRequestType = {}; +timapi.protocol.constants.ReceiptRequestType.timApi2Protocol = function (value) { + if (!this._timApi2Protocol.has(value)) { + throw new Error("Invalid argument '" + value + "' (ReceiptRequestType)"); + } + return this._timApi2Protocol.get(value); +}; +timapi.protocol.constants.ReceiptRequestType.protocol2TimApi = function (value) { + if (!this._protocol2TimApi.has(value)) { + throw new Error("Invalid argument '" + value + "' (ReceiptRequestType)"); + } + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.ReceiptRequestType.protocol2TimApiIfValid = function (value) { + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.ReceiptRequestType._timApi2Protocol = + new Map([[timapi.constants.ReceiptRequestType.reprint, "Reprint"], + [timapi.constants.ReceiptRequestType.list, "List"]]); +timapi.protocol.constants.ReceiptRequestType._protocol2TimApi = + new Map([["Reprint", timapi.constants.ReceiptRequestType.reprint], + ["List", timapi.constants.ReceiptRequestType.list]]); +timapi.protocol.constants.ReceiptType = {}; +timapi.protocol.constants.ReceiptType.timApi2Protocol = function (value) { + if (!this._timApi2Protocol.has(value)) { + throw new Error("Invalid argument '" + value + "' (ReceiptType)"); + } + return this._timApi2Protocol.get(value); +}; +timapi.protocol.constants.ReceiptType.protocol2TimApi = function (value) { + if (!this._protocol2TimApi.has(value)) { + throw new Error("Invalid argument '" + value + "' (ReceiptType)"); + } + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.ReceiptType.protocol2TimApiIfValid = function (value) { + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.ReceiptType._timApi2Protocol = + new Map([[timapi.constants.ReceiptType.purchase, "Purchase"], + [timapi.constants.ReceiptType.credit, "Credit"], + [timapi.constants.ReceiptType.reversal, "Reversal"]]); +timapi.protocol.constants.ReceiptType._protocol2TimApi = + new Map([["Purchase", timapi.constants.ReceiptType.purchase], + ["Credit", timapi.constants.ReceiptType.credit], + ["Reversal", timapi.constants.ReceiptType.reversal]]); +timapi.protocol.constants.Recipient = {}; +timapi.protocol.constants.Recipient.timApi2Protocol = function (value) { + if (!this._timApi2Protocol.has(value)) { + throw new Error("Invalid argument '" + value + "' (Recipient)"); + } + return this._timApi2Protocol.get(value); +}; +timapi.protocol.constants.Recipient.protocol2TimApi = function (value) { + if (!this._protocol2TimApi.has(value)) { + throw new Error("Invalid argument '" + value + "' (Recipient)"); + } + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.Recipient.protocol2TimApiIfValid = function (value) { + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.Recipient._timApi2Protocol = + new Map([[timapi.constants.Recipient.merchant, "Merchant"], + [timapi.constants.Recipient.cardholder, "Cardholder"], + [timapi.constants.Recipient.both, "Both"]]); +timapi.protocol.constants.Recipient._protocol2TimApi = + new Map([["Merchant", timapi.constants.Recipient.merchant], + ["Cardholder", timapi.constants.Recipient.cardholder], + ["Both", timapi.constants.Recipient.both]]); +timapi.protocol.constants.ResourceId = {}; +timapi.protocol.constants.ResourceId.timApi2Protocol = function (value) { + if (!this._timApi2Protocol.has(value)) { + throw new Error("Invalid argument '" + value + "' (ResourceId)"); + } + return this._timApi2Protocol.get(value); +}; +timapi.protocol.constants.ResourceId.protocol2TimApi = function (value) { + if (!this._protocol2TimApi.has(value)) { + throw new Error("Invalid argument '" + value + "' (ResourceId)"); + } + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.ResourceId.protocol2TimApiIfValid = function (value) { + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.ResourceId._timApi2Protocol = + new Map([[timapi.constants.ResourceId.enterMileage, 100], + [timapi.constants.ResourceId.enterCarNumber, 101], + [timapi.constants.ResourceId.enterDriverCode, 102], + [timapi.constants.ResourceId.enterFleetId, 103], + [timapi.constants.ResourceId.selectPump, 104], + [timapi.constants.ResourceId.selectWashingStation, 105], + [timapi.constants.ResourceId.selectProgram, 106], + [timapi.constants.ResourceId.selectProduct, 107], + [timapi.constants.ResourceId.loadCard, 108], + [timapi.constants.ResourceId.readCode, 109], + [timapi.constants.ResourceId.checkCode, 110], + [timapi.constants.ResourceId.enterAdditionalInformation, 111], + [timapi.constants.ResourceId.enterCostCenter, 112], + [timapi.constants.ResourceId.enterEmployeeNumber, 113], + [timapi.constants.ResourceId.enterLicensePlate, 114], + [timapi.constants.ResourceId.enterProjectNumber, 115], + [timapi.constants.ResourceId.petrolPrintReceipt, 116], + [timapi.constants.ResourceId.petrolRemoveCard, 117], + [timapi.constants.ResourceId.petrolOutOfOrder, 118], + [timapi.constants.ResourceId.petrolInvalidEntry, 119], + [timapi.constants.ResourceId.petrolRefuelAtPump, 120], + [timapi.constants.ResourceId.petrolSeeOtherScreen, 121], + [timapi.constants.ResourceId.petrolPleaseRefuel, 122], + [timapi.constants.ResourceId.noRechargeCard, 1000], + [timapi.constants.ResourceId.showPhoneNumberWithAmount, 1001], + [timapi.constants.ResourceId.enterPhoneOrPrepaidNumber, 1002], + [timapi.constants.ResourceId.phoneNumberTooLong, 1003], + [timapi.constants.ResourceId.phoneNumberTooShort, 1004], + [timapi.constants.ResourceId.enterPhoneNumber, 1005], + [timapi.constants.ResourceId.pleaseWait, 1006], + [timapi.constants.ResourceId.processingDeclined, 1007], + [timapi.constants.ResourceId.processingOk, 1008], + [timapi.constants.ResourceId.registerCard, 1009], + [timapi.constants.ResourceId.welcomeCard, 1010], + [timapi.constants.ResourceId.showPhoneNumber, 1011], + [timapi.constants.ResourceId.interAccountTransfer, 1012], + [timapi.constants.ResourceId.interAccountTransferConfirmation, 1013], + [timapi.constants.ResourceId.disbursementFromAccount, 1014], + [timapi.constants.ResourceId.depositOwnAccount, 1015], + [timapi.constants.ResourceId.emptyDialog, 1016], + [timapi.constants.ResourceId.packetAcknowledgement, 1017], + [timapi.constants.ResourceId.pinEntry, 1018], + [timapi.constants.ResourceId.bankingInsertCard, 1100], + [timapi.constants.ResourceId.bankingPinCheck, 1101], + [timapi.constants.ResourceId.bankingShowSaldo, 1102], + [timapi.constants.ResourceId.bankingConfirmAmount, 1103], + [timapi.constants.ResourceId.bankingRemoveCard, 1104], + [timapi.constants.ResourceId.bankingWelcome, 1105], + [timapi.constants.ResourceId.commonRegular, 3000], + [timapi.constants.ResourceId.commonPleaseWait, 3001], + [timapi.constants.ResourceId.commonDataSaved, 3002], + [timapi.constants.ResourceId.commonCardInitialized, 3003], + [timapi.constants.ResourceId.commonCardDeinitialized, 3004], + [timapi.constants.ResourceId.commonRemoveCard, 3005]]); +timapi.protocol.constants.ResourceId._protocol2TimApi = + new Map([[100, timapi.constants.ResourceId.enterMileage], + [101, timapi.constants.ResourceId.enterCarNumber], + [102, timapi.constants.ResourceId.enterDriverCode], + [103, timapi.constants.ResourceId.enterFleetId], + [104, timapi.constants.ResourceId.selectPump], + [105, timapi.constants.ResourceId.selectWashingStation], + [106, timapi.constants.ResourceId.selectProgram], + [107, timapi.constants.ResourceId.selectProduct], + [108, timapi.constants.ResourceId.loadCard], + [109, timapi.constants.ResourceId.readCode], + [110, timapi.constants.ResourceId.checkCode], + [111, timapi.constants.ResourceId.enterAdditionalInformation], + [112, timapi.constants.ResourceId.enterCostCenter], + [113, timapi.constants.ResourceId.enterEmployeeNumber], + [114, timapi.constants.ResourceId.enterLicensePlate], + [115, timapi.constants.ResourceId.enterProjectNumber], + [116, timapi.constants.ResourceId.petrolPrintReceipt], + [117, timapi.constants.ResourceId.petrolRemoveCard], + [118, timapi.constants.ResourceId.petrolOutOfOrder], + [119, timapi.constants.ResourceId.petrolInvalidEntry], + [120, timapi.constants.ResourceId.petrolRefuelAtPump], + [121, timapi.constants.ResourceId.petrolSeeOtherScreen], + [122, timapi.constants.ResourceId.petrolPleaseRefuel], + [1000, timapi.constants.ResourceId.noRechargeCard], + [1001, timapi.constants.ResourceId.showPhoneNumberWithAmount], + [1002, timapi.constants.ResourceId.enterPhoneOrPrepaidNumber], + [1003, timapi.constants.ResourceId.phoneNumberTooLong], + [1004, timapi.constants.ResourceId.phoneNumberTooShort], + [1005, timapi.constants.ResourceId.enterPhoneNumber], + [1006, timapi.constants.ResourceId.pleaseWait], + [1007, timapi.constants.ResourceId.processingDeclined], + [1008, timapi.constants.ResourceId.processingOk], + [1009, timapi.constants.ResourceId.registerCard], + [1010, timapi.constants.ResourceId.welcomeCard], + [1011, timapi.constants.ResourceId.showPhoneNumber], + [1012, timapi.constants.ResourceId.interAccountTransfer], + [1013, timapi.constants.ResourceId.interAccountTransferConfirmation], + [1014, timapi.constants.ResourceId.disbursementFromAccount], + [1015, timapi.constants.ResourceId.depositOwnAccount], + [1016, timapi.constants.ResourceId.emptyDialog], + [1017, timapi.constants.ResourceId.packetAcknowledgement], + [1018, timapi.constants.ResourceId.pinEntry], + [1100, timapi.constants.ResourceId.bankingInsertCard], + [1101, timapi.constants.ResourceId.bankingPinCheck], + [1102, timapi.constants.ResourceId.bankingShowSaldo], + [1103, timapi.constants.ResourceId.bankingConfirmAmount], + [1104, timapi.constants.ResourceId.bankingRemoveCard], + [1105, timapi.constants.ResourceId.bankingWelcome], + [3000, timapi.constants.ResourceId.commonRegular], + [3001, timapi.constants.ResourceId.commonPleaseWait], + [3002, timapi.constants.ResourceId.commonDataSaved], + [3003, timapi.constants.ResourceId.commonCardInitialized], + [3004, timapi.constants.ResourceId.commonCardDeinitialized], + [3005, timapi.constants.ResourceId.commonRemoveCard]]); +timapi.protocol.constants.ResultCode = {}; +timapi.protocol.constants.ResultCode.timApi2Protocol = function (value) { + if (!this._timApi2Protocol.has(value)) { + throw new Error("Invalid argument '" + value + "' (ResultCode)"); + } + return this._timApi2Protocol.get(value); +}; +timapi.protocol.constants.ResultCode.protocol2TimApi = function (value) { + if (!this._protocol2TimApi.has(value)) { + throw new Error("Invalid argument '" + value + "' (ResultCode)"); + } + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.ResultCode.protocol2TimApiIfValid = function (value) { + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.ResultCode._timApi2Protocol = + new Map([[timapi.constants.ResultCode.ok, 0], + [timapi.constants.ResultCode.apiCancelEcr, 50], + [timapi.constants.ResultCode.apiInvalidAnswer, 51], + [timapi.constants.ResultCode.apiDisabledFeature, 52], + [timapi.constants.ResultCode.apiFunctionDisallowed, 53], + [timapi.constants.ResultCode.apiPersistencyProblem, 54], + [timapi.constants.ResultCode.apiConnectFailServer, 100], + [timapi.constants.ResultCode.apiConnectFailTerminal, 101], + [timapi.constants.ResultCode.apiConnectionLostServer, 102], + [timapi.constants.ResultCode.apiConnectionLostTerminal, 103], + [timapi.constants.ResultCode.ethernetDisconnected, 104], + [timapi.constants.ResultCode.rs232Disconnected, 105], + [timapi.constants.ResultCode.apiTimeoutServer, 106], + [timapi.constants.ResultCode.apiTimeoutTerminal, 107], + [timapi.constants.ResultCode.serverInvalidAnswer, 200], + [timapi.constants.ResultCode.serverInvalidRequest, 201], + [timapi.constants.ResultCode.serverDisabledFeature, 202], + [timapi.constants.ResultCode.serverPersistencyProblem, 203], + [timapi.constants.ResultCode.serverConnectFailTerminal, 250], + [timapi.constants.ResultCode.serverConnectionLostTerminal, 251], + [timapi.constants.ResultCode.serverTimeoutTerminal, 252], + [timapi.constants.ResultCode.ccrUnavailable, 300], + [timapi.constants.ResultCode.mcrUnavailable, 301], + [timapi.constants.ResultCode.nfcUnavailable, 302], + [timapi.constants.ResultCode.displayUnavailable, 303], + [timapi.constants.ResultCode.pinPadUnavailable, 304], + [timapi.constants.ResultCode.rs232Unavailable, 305], + [timapi.constants.ResultCode.rs232NotConfigured, 306], + [timapi.constants.ResultCode.cardReaderErrorCcr, 400], + [timapi.constants.ResultCode.cardReaderErrorMcr, 401], + [timapi.constants.ResultCode.cardReaderErrorNfc, 402], + [timapi.constants.ResultCode.cardErrorCcr, 403], + [timapi.constants.ResultCode.cardErrorMcr, 404], + [timapi.constants.ResultCode.cardErrorNfc, 405], + [timapi.constants.ResultCode.cardReadError, 406], + [timapi.constants.ResultCode.cardReadTimeout, 407], + [timapi.constants.ResultCode.cardInsertionTimeout, 408], + [timapi.constants.ResultCode.cardReaderKeysLost, 409], + [timapi.constants.ResultCode.cardReaderSecurityError, 410], + [timapi.constants.ResultCode.cardTimeout, 411], + [timapi.constants.ResultCode.cardNotReadable, 412], + [timapi.constants.ResultCode.cardInvalidData, 413], + [timapi.constants.ResultCode.cardFunctionNotFound, 414], + [timapi.constants.ResultCode.cardFunctionNotAllowed, 415], + [timapi.constants.ResultCode.pinPadSecurityError, 500], + [timapi.constants.ResultCode.pinPadTampered, 501], + [timapi.constants.ResultCode.pinPadKeysLost, 502], + [timapi.constants.ResultCode.cardholderStop, 550], + [timapi.constants.ResultCode.cardholderTimeout, 551], + [timapi.constants.ResultCode.cardRemoved, 552], + [timapi.constants.ResultCode.timTimeoutEcr, 600], + [timapi.constants.ResultCode.timConnectFailPaymentHost, 601], + [timapi.constants.ResultCode.timConnectionLostPaymentHost, 602], + [timapi.constants.ResultCode.timTimeoutAnswerRs232, 603], + [timapi.constants.ResultCode.timCommunicationFailure, 604], + [timapi.constants.ResultCode.timConfigFailure, 605], + [timapi.constants.ResultCode.timInitFailure, 606], + [timapi.constants.ResultCode.sixmlGeneralError, 700], + [timapi.constants.ResultCode.sixmlInvalidRequest, 701], + [timapi.constants.ResultCode.sixmlWrongCashier, 702], + [timapi.constants.ResultCode.sixmlWrongEcrId, 703], + [timapi.constants.ResultCode.sixmlUnknownReferenceNumber, 704], + [timapi.constants.ResultCode.sixmlWrongState, 705], + [timapi.constants.ResultCode.busyOtherController, 706], + [timapi.constants.ResultCode.busyMaintenance, 707], + [timapi.constants.ResultCode.requestPending, 708], + [timapi.constants.ResultCode.sixmlUnsupportedRequest, 709], + [timapi.constants.ResultCode.trxNoCommonApplications, 800], + [timapi.constants.ResultCode.trxLimitExceeded, 801], + [timapi.constants.ResultCode.trxNoCommonCvm, 802], + [timapi.constants.ResultCode.declinedCvmFailed, 803], + [timapi.constants.ResultCode.trxReferral, 804], + [timapi.constants.ResultCode.trxInvalidAuthResponse, 805], + [timapi.constants.ResultCode.declinedGeneric, 806], + [timapi.constants.ResultCode.declinedSaldoTooLow, 807], + [timapi.constants.ResultCode.declinedWrongPin, 808], + [timapi.constants.ResultCode.declinedCardBlocked, 809], + [timapi.constants.ResultCode.declinedSecurityIssue, 810], + [timapi.constants.ResultCode.declinedUsageControl, 811], + [timapi.constants.ResultCode.declinedDoubleTransaction, 812], + [timapi.constants.ResultCode.declinedGenericFirstAc, 813], + [timapi.constants.ResultCode.declinedGenericSecondAc, 814], + [timapi.constants.ResultCode.trxCommitTimeout, 815], + [timapi.constants.ResultCode.trxRollbackImpossible, 816], + [timapi.constants.ResultCode.cashbackAmountTooLow, 817], + [timapi.constants.ResultCode.cashbackAmountTooHigh, 818], + [timapi.constants.ResultCode.basketDeclined, 819], + [timapi.constants.ResultCode.noTrxInGroupExceeded, 820], + [timapi.constants.ResultCode.unsupportedCharactersInMessage, 821], + [timapi.constants.ResultCode.loyaltyCheckInPending, 822], + [timapi.constants.ResultCode.declinedCardError, 823], + [timapi.constants.ResultCode.declinedCardExpired, 824], + [timapi.constants.ResultCode.declinedTrxInvalid, 825], + [timapi.constants.ResultCode.declinedTryLater, 826], + [timapi.constants.ResultCode.declinedTryAnotherInterface, 827], + [timapi.constants.ResultCode.declinedInvalidMerchant, 828], + [timapi.constants.ResultCode.declinedRestrictionDeclined, 829], + [timapi.constants.ResultCode.declinedWrongCurrency, 830], + [timapi.constants.ResultCode.declinedAutoreversalPending, 831], + [timapi.constants.ResultCode.declinedWrongCardNumber, 832], + [timapi.constants.ResultCode.declinedWrongCardExpiryDate, 833], + [timapi.constants.ResultCode.declinedRetryTemporaryUnavailable, 834], + [timapi.constants.ResultCode.declinedServiceNotAllowed, 835], + [timapi.constants.ResultCode.declinedCardholderInformationIssue, 836], + [timapi.constants.ResultCode.declinedReferralWrongAuthCode, 837], + [timapi.constants.ResultCode.declinedReferralWrongAmount, 838], + [timapi.constants.ResultCode.declinedReferralOtherReason, 839], + [timapi.constants.ResultCode.declinedCaptureCardGeneric, 840], + [timapi.constants.ResultCode.declinedCaptureCardInfoToClient, 841], + [timapi.constants.ResultCode.declinedCaptureCardOrderToClient, 842], + [timapi.constants.ResultCode.declinedCaptureCardTimeoutRemovingCard, 843], + [timapi.constants.ResultCode.declinedNotSupported, 844]]); +timapi.protocol.constants.ResultCode._protocol2TimApi = + new Map([[0, timapi.constants.ResultCode.ok], + [50, timapi.constants.ResultCode.apiCancelEcr], + [51, timapi.constants.ResultCode.apiInvalidAnswer], + [52, timapi.constants.ResultCode.apiDisabledFeature], + [53, timapi.constants.ResultCode.apiFunctionDisallowed], + [54, timapi.constants.ResultCode.apiPersistencyProblem], + [100, timapi.constants.ResultCode.apiConnectFailServer], + [101, timapi.constants.ResultCode.apiConnectFailTerminal], + [102, timapi.constants.ResultCode.apiConnectionLostServer], + [103, timapi.constants.ResultCode.apiConnectionLostTerminal], + [104, timapi.constants.ResultCode.ethernetDisconnected], + [105, timapi.constants.ResultCode.rs232Disconnected], + [106, timapi.constants.ResultCode.apiTimeoutServer], + [107, timapi.constants.ResultCode.apiTimeoutTerminal], + [200, timapi.constants.ResultCode.serverInvalidAnswer], + [201, timapi.constants.ResultCode.serverInvalidRequest], + [202, timapi.constants.ResultCode.serverDisabledFeature], + [203, timapi.constants.ResultCode.serverPersistencyProblem], + [250, timapi.constants.ResultCode.serverConnectFailTerminal], + [251, timapi.constants.ResultCode.serverConnectionLostTerminal], + [252, timapi.constants.ResultCode.serverTimeoutTerminal], + [300, timapi.constants.ResultCode.ccrUnavailable], + [301, timapi.constants.ResultCode.mcrUnavailable], + [302, timapi.constants.ResultCode.nfcUnavailable], + [303, timapi.constants.ResultCode.displayUnavailable], + [304, timapi.constants.ResultCode.pinPadUnavailable], + [305, timapi.constants.ResultCode.rs232Unavailable], + [306, timapi.constants.ResultCode.rs232NotConfigured], + [400, timapi.constants.ResultCode.cardReaderErrorCcr], + [401, timapi.constants.ResultCode.cardReaderErrorMcr], + [402, timapi.constants.ResultCode.cardReaderErrorNfc], + [403, timapi.constants.ResultCode.cardErrorCcr], + [404, timapi.constants.ResultCode.cardErrorMcr], + [405, timapi.constants.ResultCode.cardErrorNfc], + [406, timapi.constants.ResultCode.cardReadError], + [407, timapi.constants.ResultCode.cardReadTimeout], + [408, timapi.constants.ResultCode.cardInsertionTimeout], + [409, timapi.constants.ResultCode.cardReaderKeysLost], + [410, timapi.constants.ResultCode.cardReaderSecurityError], + [411, timapi.constants.ResultCode.cardTimeout], + [412, timapi.constants.ResultCode.cardNotReadable], + [413, timapi.constants.ResultCode.cardInvalidData], + [414, timapi.constants.ResultCode.cardFunctionNotFound], + [415, timapi.constants.ResultCode.cardFunctionNotAllowed], + [500, timapi.constants.ResultCode.pinPadSecurityError], + [501, timapi.constants.ResultCode.pinPadTampered], + [502, timapi.constants.ResultCode.pinPadKeysLost], + [550, timapi.constants.ResultCode.cardholderStop], + [551, timapi.constants.ResultCode.cardholderTimeout], + [552, timapi.constants.ResultCode.cardRemoved], + [600, timapi.constants.ResultCode.timTimeoutEcr], + [601, timapi.constants.ResultCode.timConnectFailPaymentHost], + [602, timapi.constants.ResultCode.timConnectionLostPaymentHost], + [603, timapi.constants.ResultCode.timTimeoutAnswerRs232], + [604, timapi.constants.ResultCode.timCommunicationFailure], + [605, timapi.constants.ResultCode.timConfigFailure], + [606, timapi.constants.ResultCode.timInitFailure], + [700, timapi.constants.ResultCode.sixmlGeneralError], + [701, timapi.constants.ResultCode.sixmlInvalidRequest], + [702, timapi.constants.ResultCode.sixmlWrongCashier], + [703, timapi.constants.ResultCode.sixmlWrongEcrId], + [704, timapi.constants.ResultCode.sixmlUnknownReferenceNumber], + [705, timapi.constants.ResultCode.sixmlWrongState], + [706, timapi.constants.ResultCode.busyOtherController], + [707, timapi.constants.ResultCode.busyMaintenance], + [708, timapi.constants.ResultCode.requestPending], + [709, timapi.constants.ResultCode.sixmlUnsupportedRequest], + [800, timapi.constants.ResultCode.trxNoCommonApplications], + [801, timapi.constants.ResultCode.trxLimitExceeded], + [802, timapi.constants.ResultCode.trxNoCommonCvm], + [803, timapi.constants.ResultCode.declinedCvmFailed], + [804, timapi.constants.ResultCode.trxReferral], + [805, timapi.constants.ResultCode.trxInvalidAuthResponse], + [806, timapi.constants.ResultCode.declinedGeneric], + [807, timapi.constants.ResultCode.declinedSaldoTooLow], + [808, timapi.constants.ResultCode.declinedWrongPin], + [809, timapi.constants.ResultCode.declinedCardBlocked], + [810, timapi.constants.ResultCode.declinedSecurityIssue], + [811, timapi.constants.ResultCode.declinedUsageControl], + [812, timapi.constants.ResultCode.declinedDoubleTransaction], + [813, timapi.constants.ResultCode.declinedGenericFirstAc], + [814, timapi.constants.ResultCode.declinedGenericSecondAc], + [815, timapi.constants.ResultCode.trxCommitTimeout], + [816, timapi.constants.ResultCode.trxRollbackImpossible], + [817, timapi.constants.ResultCode.cashbackAmountTooLow], + [818, timapi.constants.ResultCode.cashbackAmountTooHigh], + [819, timapi.constants.ResultCode.basketDeclined], + [820, timapi.constants.ResultCode.noTrxInGroupExceeded], + [821, timapi.constants.ResultCode.unsupportedCharactersInMessage], + [822, timapi.constants.ResultCode.loyaltyCheckInPending], + [823, timapi.constants.ResultCode.declinedCardError], + [824, timapi.constants.ResultCode.declinedCardExpired], + [825, timapi.constants.ResultCode.declinedTrxInvalid], + [826, timapi.constants.ResultCode.declinedTryLater], + [827, timapi.constants.ResultCode.declinedTryAnotherInterface], + [828, timapi.constants.ResultCode.declinedInvalidMerchant], + [829, timapi.constants.ResultCode.declinedRestrictionDeclined], + [830, timapi.constants.ResultCode.declinedWrongCurrency], + [831, timapi.constants.ResultCode.declinedAutoreversalPending], + [832, timapi.constants.ResultCode.declinedWrongCardNumber], + [833, timapi.constants.ResultCode.declinedWrongCardExpiryDate], + [834, timapi.constants.ResultCode.declinedRetryTemporaryUnavailable], + [835, timapi.constants.ResultCode.declinedServiceNotAllowed], + [836, timapi.constants.ResultCode.declinedCardholderInformationIssue], + [837, timapi.constants.ResultCode.declinedReferralWrongAuthCode], + [838, timapi.constants.ResultCode.declinedReferralWrongAmount], + [839, timapi.constants.ResultCode.declinedReferralOtherReason], + [840, timapi.constants.ResultCode.declinedCaptureCardGeneric], + [841, timapi.constants.ResultCode.declinedCaptureCardInfoToClient], + [842, timapi.constants.ResultCode.declinedCaptureCardOrderToClient], + [843, timapi.constants.ResultCode.declinedCaptureCardTimeoutRemovingCard], + [844, timapi.constants.ResultCode.declinedNotSupported]]); +timapi.protocol.constants.SecurityStatus = {}; +timapi.protocol.constants.SecurityStatus.timApi2Protocol = function (value) { + if (!this._timApi2Protocol.has(value)) { + throw new Error("Invalid argument '" + value + "' (SecurityStatus)"); + } + return this._timApi2Protocol.get(value); +}; +timapi.protocol.constants.SecurityStatus.protocol2TimApi = function (value) { + if (!this._protocol2TimApi.has(value)) { + throw new Error("Invalid argument '" + value + "' (SecurityStatus)"); + } + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.SecurityStatus.protocol2TimApiIfValid = function (value) { + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.SecurityStatus._timApi2Protocol = + new Map([[timapi.constants.SecurityStatus.disabled, "Disabled"], + [timapi.constants.SecurityStatus.active, "Active"], + [timapi.constants.SecurityStatus.tampered, "Tampered"]]); +timapi.protocol.constants.SecurityStatus._protocol2TimApi = + new Map([["Disabled", timapi.constants.SecurityStatus.disabled], + ["Active", timapi.constants.SecurityStatus.active], + ["Tampered", timapi.constants.SecurityStatus.tampered]]); +timapi.protocol.constants.SettingType = {}; +timapi.protocol.constants.SettingType.timApi2Protocol = function (value) { + if (!this._timApi2Protocol.has(value)) { + throw new Error("Invalid argument '" + value + "' (SettingType)"); + } + return this._timApi2Protocol.get(value); +}; +timapi.protocol.constants.SettingType.protocol2TimApi = function (value) { + if (!this._protocol2TimApi.has(value)) { + throw new Error("Invalid argument '" + value + "' (SettingType)"); + } + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.SettingType.protocol2TimApiIfValid = function (value) { + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.SettingType._timApi2Protocol = + new Map([[timapi.constants.SettingType.displayBrightness, "DisplayBrightness"], + [timapi.constants.SettingType.displayContrast, "DisplayContrast"], + [timapi.constants.SettingType.keypadTones, "KeypadTones"], + [timapi.constants.SettingType.alertTones, "AlertTones"], + [timapi.constants.SettingType.language, "Language"]]); +timapi.protocol.constants.SettingType._protocol2TimApi = + new Map([["DisplayBrightness", timapi.constants.SettingType.displayBrightness], + ["DisplayContrast", timapi.constants.SettingType.displayContrast], + ["KeypadTones", timapi.constants.SettingType.keypadTones], + ["AlertTones", timapi.constants.SettingType.alertTones], + ["Language", timapi.constants.SettingType.language]]); +timapi.protocol.constants.SleepModeStatus = {}; +timapi.protocol.constants.SleepModeStatus.timApi2Protocol = function (value) { + if (!this._timApi2Protocol.has(value)) { + throw new Error("Invalid argument '" + value + "' (SleepModeStatus)"); + } + return this._timApi2Protocol.get(value); +}; +timapi.protocol.constants.SleepModeStatus.protocol2TimApi = function (value) { + if (!this._protocol2TimApi.has(value)) { + throw new Error("Invalid argument '" + value + "' (SleepModeStatus)"); + } + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.SleepModeStatus.protocol2TimApiIfValid = function (value) { + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.SleepModeStatus._timApi2Protocol = + new Map([[timapi.constants.SleepModeStatus.enteringSleep, "EnteringSleep"], + [timapi.constants.SleepModeStatus.wakingUp, "WakingUp"]]); +timapi.protocol.constants.SleepModeStatus._protocol2TimApi = + new Map([["EnteringSleep", timapi.constants.SleepModeStatus.enteringSleep], + ["WakingUp", timapi.constants.SleepModeStatus.wakingUp]]); +timapi.protocol.constants.StatusFunctions = {}; +timapi.protocol.constants.StatusFunctions.timApi2Protocol = function (value) { + var flags = 0; + for (var each of value) { + if (!this._timApi2Protocol.has(each)) { + throw new Error("Invalid argument '" + value + "' (StatusFunctions)"); + } + flags |= this._timApi2Protocol.get(each); + } + return flags; +}; +timapi.protocol.constants.StatusFunctions.protocol2TimApi = function (value) { + var set = new Set(); + for (var [k, v] of this._protocol2TimApi.entries()) { + if ((value & k) != 0) { + set.add(v); + } + } + return set; +}; +timapi.protocol.constants.StatusFunctions._timApi2Protocol = + new Map([[timapi.constants.StatusFunctions.featureRequest, 0x1], + [timapi.constants.StatusFunctions.terminalStatus, 0x2], + [timapi.constants.StatusFunctions.systemInformation, 0x4], + [timapi.constants.StatusFunctions.applicationInformation, 0x8], + [timapi.constants.StatusFunctions.hardwareInformation, 0x10], + [timapi.constants.StatusFunctions.keepAlive, 0x20], + [timapi.constants.StatusFunctions.licenseChanged, 0x40]]); +timapi.protocol.constants.StatusFunctions._protocol2TimApi = + new Map([[0x1, timapi.constants.StatusFunctions.featureRequest], + [0x2, timapi.constants.StatusFunctions.terminalStatus], + [0x4, timapi.constants.StatusFunctions.systemInformation], + [0x8, timapi.constants.StatusFunctions.applicationInformation], + [0x10, timapi.constants.StatusFunctions.hardwareInformation], + [0x20, timapi.constants.StatusFunctions.keepAlive], + [0x40, timapi.constants.StatusFunctions.licenseChanged]]); +timapi.protocol.constants.Theme = {}; +timapi.protocol.constants.Theme.timApi2Protocol = function (value) { + if (!this._timApi2Protocol.has(value)) { + throw new Error("Invalid argument '" + value + "' (Theme)"); + } + return this._timApi2Protocol.get(value); +}; +timapi.protocol.constants.Theme.protocol2TimApi = function (value) { + if (!this._protocol2TimApi.has(value)) { + throw new Error("Invalid argument '" + value + "' (Theme)"); + } + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.Theme.protocol2TimApiIfValid = function (value) { + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.Theme._timApi2Protocol = + new Map([[timapi.constants.Theme.six, "Six"], + [timapi.constants.Theme.swissPost, "SwissPost"]]); +timapi.protocol.constants.Theme._protocol2TimApi = + new Map([["Six", timapi.constants.Theme.six], + ["SwissPost", timapi.constants.Theme.swissPost]]); +timapi.protocol.constants.TransactionStatus = {}; +timapi.protocol.constants.TransactionStatus.timApi2Protocol = function (value) { + if (!this._timApi2Protocol.has(value)) { + throw new Error("Invalid argument '" + value + "' (TransactionStatus)"); + } + return this._timApi2Protocol.get(value); +}; +timapi.protocol.constants.TransactionStatus.protocol2TimApi = function (value) { + if (!this._protocol2TimApi.has(value)) { + throw new Error("Invalid argument '" + value + "' (TransactionStatus)"); + } + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.TransactionStatus.protocol2TimApiIfValid = function (value) { + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.TransactionStatus._timApi2Protocol = + new Map([[timapi.constants.TransactionStatus.busy, "Busy"], + [timapi.constants.TransactionStatus.idle, "Idle"], + [timapi.constants.TransactionStatus.waitForCard, "WaitForCard"], + [timapi.constants.TransactionStatus.readingCard, "ReadingCard"], + [timapi.constants.TransactionStatus.applicationSelection, "ApplicationSelection"], + [timapi.constants.TransactionStatus.waitForProceed, "WaitForProceed"], + [timapi.constants.TransactionStatus.dccSelection, "DccSelection"], + [timapi.constants.TransactionStatus.enterTip, "EnterTip"], + [timapi.constants.TransactionStatus.pinEntry, "PinEntry"], + [timapi.constants.TransactionStatus.signatureCapture, "SignatureCapture"], + [timapi.constants.TransactionStatus.processing, "Processing"], + [timapi.constants.TransactionStatus.waitForCommit, "WaitForCommit"]]); +timapi.protocol.constants.TransactionStatus._protocol2TimApi = + new Map([["Busy", timapi.constants.TransactionStatus.busy], + ["Idle", timapi.constants.TransactionStatus.idle], + ["WaitForCard", timapi.constants.TransactionStatus.waitForCard], + ["ReadingCard", timapi.constants.TransactionStatus.readingCard], + ["ApplicationSelection", timapi.constants.TransactionStatus.applicationSelection], + ["WaitForProceed", timapi.constants.TransactionStatus.waitForProceed], + ["DccSelection", timapi.constants.TransactionStatus.dccSelection], + ["EnterTip", timapi.constants.TransactionStatus.enterTip], + ["PinEntry", timapi.constants.TransactionStatus.pinEntry], + ["SignatureCapture", timapi.constants.TransactionStatus.signatureCapture], + ["Processing", timapi.constants.TransactionStatus.processing], + ["WaitForCommit", timapi.constants.TransactionStatus.waitForCommit]]); +timapi.protocol.constants.TransactionType = {}; +timapi.protocol.constants.TransactionType.timApi2Protocol = function (value) { + if (!this._timApi2Protocol.has(value)) { + throw new Error("Invalid argument '" + value + "' (TransactionType)"); + } + return this._timApi2Protocol.get(value); +}; +timapi.protocol.constants.TransactionType.protocol2TimApi = function (value) { + if (!this._protocol2TimApi.has(value)) { + throw new Error("Invalid argument '" + value + "' (TransactionType)"); + } + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.TransactionType.protocol2TimApiIfValid = function (value) { + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.TransactionType._timApi2Protocol = + new Map([[timapi.constants.TransactionType.purchase, "Purchase"], + [timapi.constants.TransactionType.credit, "Credit"], + [timapi.constants.TransactionType.reversal, "Reversal"], + [timapi.constants.TransactionType.preAuthorization, "PreAuthorization"], + [timapi.constants.TransactionType.finalizePurchase, "FinalizePurchase"], + [timapi.constants.TransactionType.cashAdvance, "CashAdvance"], + [timapi.constants.TransactionType.purchaseForcedAcceptance, "PurchaseForcedAcceptance"], + [timapi.constants.TransactionType.purchaseWithCashback, "PurchaseWithCashback"], + [timapi.constants.TransactionType.purchasePhoneAuthorized, "PurchasePhoneAuthorized"], + [timapi.constants.TransactionType.purchasePhoneOrdered, "PurchasePhoneOrdered"], + [timapi.constants.TransactionType.purchaseMailOrdered, "PurchaseMailOrdered"], + [timapi.constants.TransactionType.giro, "Giro"], + [timapi.constants.TransactionType.combined, "Combined"], + [timapi.constants.TransactionType.authorizeCredit, "AuthorizeCredit"], + [timapi.constants.TransactionType.authorizeDeposit, "AuthorizeDeposit"], + [timapi.constants.TransactionType.reservation, "Reservation"], + [timapi.constants.TransactionType.adjustReservation, "AdjustReservation"], + [timapi.constants.TransactionType.cancelReservation, "CancelReservation"], + [timapi.constants.TransactionType.purchaseReservation, "PurchaseReservation"], + [timapi.constants.TransactionType.purchaseReservationPhoneAuthorized, "PurchaseReservationPhoneAuthorized"]]); +timapi.protocol.constants.TransactionType._protocol2TimApi = + new Map([["Purchase", timapi.constants.TransactionType.purchase], + ["Credit", timapi.constants.TransactionType.credit], + ["Reversal", timapi.constants.TransactionType.reversal], + ["PreAuthorization", timapi.constants.TransactionType.preAuthorization], + ["FinalizePurchase", timapi.constants.TransactionType.finalizePurchase], + ["CashAdvance", timapi.constants.TransactionType.cashAdvance], + ["PurchaseForcedAcceptance", timapi.constants.TransactionType.purchaseForcedAcceptance], + ["PurchaseWithCashback", timapi.constants.TransactionType.purchaseWithCashback], + ["PurchasePhoneAuthorized", timapi.constants.TransactionType.purchasePhoneAuthorized], + ["PurchasePhoneOrdered", timapi.constants.TransactionType.purchasePhoneOrdered], + ["PurchaseMailOrdered", timapi.constants.TransactionType.purchaseMailOrdered], + ["Giro", timapi.constants.TransactionType.giro], + ["Combined", timapi.constants.TransactionType.combined], + ["AuthorizeCredit", timapi.constants.TransactionType.authorizeCredit], + ["AuthorizeDeposit", timapi.constants.TransactionType.authorizeDeposit], + ["Reservation", timapi.constants.TransactionType.reservation], + ["AdjustReservation", timapi.constants.TransactionType.adjustReservation], + ["CancelReservation", timapi.constants.TransactionType.cancelReservation], + ["PurchaseReservation", timapi.constants.TransactionType.purchaseReservation], + ["PurchaseReservationPhoneAuthorized", timapi.constants.TransactionType.purchaseReservationPhoneAuthorized]]); +timapi.protocol.constants.UpdateStatus = {}; +timapi.protocol.constants.UpdateStatus.timApi2Protocol = function (value) { + if (!this._timApi2Protocol.has(value)) { + throw new Error("Invalid argument '" + value + "' (UpdateStatus)"); + } + return this._timApi2Protocol.get(value); +}; +timapi.protocol.constants.UpdateStatus.protocol2TimApi = function (value) { + if (!this._protocol2TimApi.has(value)) { + throw new Error("Invalid argument '" + value + "' (UpdateStatus)"); + } + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.UpdateStatus.protocol2TimApiIfValid = function (value) { + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.UpdateStatus._timApi2Protocol = + new Map([[timapi.constants.UpdateStatus.upToDate, "UpToDate"], + [timapi.constants.UpdateStatus.runningNoReboot, "RunningNoReboot"], + [timapi.constants.UpdateStatus.runningReboot, "RunningReboot"]]); +timapi.protocol.constants.UpdateStatus._protocol2TimApi = + new Map([["UpToDate", timapi.constants.UpdateStatus.upToDate], + ["RunningNoReboot", timapi.constants.UpdateStatus.runningNoReboot], + ["RunningReboot", timapi.constants.UpdateStatus.runningReboot]]); +timapi.protocol.sixml.AdditionalErrorInfo = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.AdditionalErrorInfo) { + var value = a; + this.value = value.value; + this.additionalErrorInfoType = value.additionalErrorInfoType; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + this.value = node.textContent; + if (this.xmlHasAttribute(node, "AdditionalErrorInfoType")) { + this.additionalErrorInfoType = this.xmlGetAttribute(node, "AdditionalErrorInfoType"); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.AdditionalErrorInfo.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.AdditionalErrorInfo.prototype.value = ""; +timapi.protocol.sixml.AdditionalErrorInfo.prototype.additionalErrorInfoType = undefined; +timapi.protocol.sixml.AdditionalErrorInfo.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:AdditionalErrorInfo"); + node.textContent = this.value; + if (this.additionalErrorInfoType != undefined) { + this.xmlSetAttribute(node, "AdditionalErrorInfoType", this.additionalErrorInfoType); + } + return node; +}; +timapi.protocol.sixml.AdditionalErrorInfoList = function (a) { + this.additionalErrorInfo = []; + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.AdditionalErrorInfoList) { + var value = a; + for (var each of value.additionalErrorInfo) { + this.additionalErrorInfo.push(each ? new timapi.protocol.sixml.AdditionalErrorInfo(each) : undefined); + } + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + for (var each of this.xmlGetChildren(node, "sixml:AdditionalErrorInfo")) { + this.additionalErrorInfo.push(new timapi.protocol.sixml.AdditionalErrorInfo(each)); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.AdditionalErrorInfoList.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.AdditionalErrorInfoList.prototype.additionalErrorInfo = undefined; +timapi.protocol.sixml.AdditionalErrorInfoList.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:AdditionalErrorInfoList"); + for (var each of this.additionalErrorInfo) { + this.xmlAddChild(node, "sixml:AdditionalErrorInfo", each); + } + return node; +}; +timapi.protocol.sixml.AdditionalInfoItem = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.AdditionalInfoItem) { + var value = a; + this.value = value.value; + this.itemTextcode = value.itemTextcode; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + this.value = node.textContent; + if (this.xmlHasAttribute(node, "ItemTextcode")) { + this.itemTextcode = (this.xmlGetAttribute(node, "ItemTextcode") ? parseInt(this.xmlGetAttribute(node, "ItemTextcode")) : 0); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.AdditionalInfoItem.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.AdditionalInfoItem.prototype.value = ""; +timapi.protocol.sixml.AdditionalInfoItem.prototype.itemTextcode = undefined; +timapi.protocol.sixml.AdditionalInfoItem.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:AdditionalInfoItem"); + node.textContent = this.value; + if (this.itemTextcode != undefined) { + this.xmlSetAttribute(node, "ItemTextcode", timapi.utils.StringHelper.makeString(this.itemTextcode)); + } + return node; +}; +timapi.protocol.sixml.AdditionalInfoList = function (a) { + this.additionalInfoItem = []; + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.AdditionalInfoList) { + var value = a; + for (var each of value.additionalInfoItem) { + this.additionalInfoItem.push(each ? new timapi.protocol.sixml.AdditionalInfoItem(each) : undefined); + } + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + for (var each of this.xmlGetChildren(node, "sixml:AdditionalInfoItem")) { + this.additionalInfoItem.push(new timapi.protocol.sixml.AdditionalInfoItem(each)); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.AdditionalInfoList.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.AdditionalInfoList.prototype.additionalInfoItem = undefined; +timapi.protocol.sixml.AdditionalInfoList.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:AdditionalInfoList"); + for (var each of this.additionalInfoItem) { + this.xmlAddChild(node, "sixml:AdditionalInfoItem", each); + } + return node; +}; +timapi.protocol.sixml.Amount = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Amount) { + var value = a; + this.value = value.value; + this.currency = value.currency; + this.exponent = value.exponent; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + this.value = (node.textContent ? parseInt(node.textContent) : 0); + if (this.xmlHasAttribute(node, "Currency")) { + this.currency = this.xmlGetAttribute(node, "Currency"); + } + if (this.xmlHasAttribute(node, "Exponent")) { + this.exponent = (this.xmlGetAttribute(node, "Exponent") ? parseInt(this.xmlGetAttribute(node, "Exponent")) : 0); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.Amount.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.Amount.prototype.value = 0; +timapi.protocol.sixml.Amount.prototype.currency = undefined; +timapi.protocol.sixml.Amount.prototype.exponent = undefined; +timapi.protocol.sixml.Amount.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Amount"); + node.textContent = timapi.utils.StringHelper.makeString(this.value); + if (this.currency != undefined) { + this.xmlSetAttribute(node, "Currency", this.currency); + } + if (this.exponent != undefined) { + this.xmlSetAttribute(node, "Exponent", timapi.utils.StringHelper.makeString(this.exponent)); + } + return node; +}; +timapi.protocol.sixml.AmountDcc = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.AmountDcc) { + var value = a; + this.value = value.value; + this.currency = value.currency; + this.exponent = value.exponent; + this.rate = value.rate; + this.rateExponent = value.rateExponent; + this.markup = value.markup; + this.markupExponent = value.markupExponent; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + this.value = (node.textContent ? parseInt(node.textContent) : 0); + if (this.xmlHasAttribute(node, "Currency")) { + this.currency = this.xmlGetAttribute(node, "Currency"); + } + if (this.xmlHasAttribute(node, "Exponent")) { + this.exponent = (this.xmlGetAttribute(node, "Exponent") ? parseInt(this.xmlGetAttribute(node, "Exponent")) : 0); + } + if (this.xmlHasAttribute(node, "Rate")) { + this.rate = (this.xmlGetAttribute(node, "Rate") ? parseInt(this.xmlGetAttribute(node, "Rate")) : 0); + } + if (this.xmlHasAttribute(node, "RateExponent")) { + this.rateExponent = (this.xmlGetAttribute(node, "RateExponent") ? parseInt(this.xmlGetAttribute(node, "RateExponent")) : 0); + } + if (this.xmlHasAttribute(node, "Markup")) { + this.markup = (this.xmlGetAttribute(node, "Markup") ? parseInt(this.xmlGetAttribute(node, "Markup")) : 0); + } + if (this.xmlHasAttribute(node, "MarkupExponent")) { + this.markupExponent = (this.xmlGetAttribute(node, "MarkupExponent") ? parseInt(this.xmlGetAttribute(node, "MarkupExponent")) : 0); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.AmountDcc.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.AmountDcc.prototype.value = 0; +timapi.protocol.sixml.AmountDcc.prototype.currency = undefined; +timapi.protocol.sixml.AmountDcc.prototype.exponent = undefined; +timapi.protocol.sixml.AmountDcc.prototype.rate = undefined; +timapi.protocol.sixml.AmountDcc.prototype.rateExponent = undefined; +timapi.protocol.sixml.AmountDcc.prototype.markup = undefined; +timapi.protocol.sixml.AmountDcc.prototype.markupExponent = undefined; +timapi.protocol.sixml.AmountDcc.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:AmountDcc"); + node.textContent = timapi.utils.StringHelper.makeString(this.value); + if (this.currency != undefined) { + this.xmlSetAttribute(node, "Currency", this.currency); + } + if (this.exponent != undefined) { + this.xmlSetAttribute(node, "Exponent", timapi.utils.StringHelper.makeString(this.exponent)); + } + if (this.rate != undefined) { + this.xmlSetAttribute(node, "Rate", timapi.utils.StringHelper.makeString(this.rate)); + } + if (this.rateExponent != undefined) { + this.xmlSetAttribute(node, "RateExponent", timapi.utils.StringHelper.makeString(this.rateExponent)); + } + if (this.markup != undefined) { + this.xmlSetAttribute(node, "Markup", timapi.utils.StringHelper.makeString(this.markup)); + } + if (this.markupExponent != undefined) { + this.xmlSetAttribute(node, "MarkupExponent", timapi.utils.StringHelper.makeString(this.markupExponent)); + } + return node; +}; +timapi.protocol.sixml.AmountDiscount = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.AmountDiscount) { + var value = a; + this.value = value.value; + this.currency = value.currency; + this.exponent = value.exponent; + this.discountId = value.discountId; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + this.value = (node.textContent ? parseInt(node.textContent) : 0); + if (this.xmlHasAttribute(node, "Currency")) { + this.currency = this.xmlGetAttribute(node, "Currency"); + } + if (this.xmlHasAttribute(node, "Exponent")) { + this.exponent = (this.xmlGetAttribute(node, "Exponent") ? parseInt(this.xmlGetAttribute(node, "Exponent")) : 0); + } + if (this.xmlHasAttribute(node, "DiscountId")) { + this.discountId = this.xmlGetAttribute(node, "DiscountId"); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.AmountDiscount.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.AmountDiscount.prototype.value = 0; +timapi.protocol.sixml.AmountDiscount.prototype.currency = undefined; +timapi.protocol.sixml.AmountDiscount.prototype.exponent = undefined; +timapi.protocol.sixml.AmountDiscount.prototype.discountId = undefined; +timapi.protocol.sixml.AmountDiscount.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:AmountDiscount"); + node.textContent = timapi.utils.StringHelper.makeString(this.value); + if (this.currency != undefined) { + this.xmlSetAttribute(node, "Currency", this.currency); + } + if (this.exponent != undefined) { + this.xmlSetAttribute(node, "Exponent", timapi.utils.StringHelper.makeString(this.exponent)); + } + if (this.discountId != undefined) { + this.xmlSetAttribute(node, "DiscountId", this.discountId); + } + return node; +}; +timapi.protocol.sixml.AmountDue = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.AmountDue) { + var value = a; + this.value = value.value; + this.currency = value.currency; + this.exponent = value.exponent; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + this.value = (node.textContent ? parseInt(node.textContent) : 0); + if (this.xmlHasAttribute(node, "Currency")) { + this.currency = this.xmlGetAttribute(node, "Currency"); + } + if (this.xmlHasAttribute(node, "Exponent")) { + this.exponent = (this.xmlGetAttribute(node, "Exponent") ? parseInt(this.xmlGetAttribute(node, "Exponent")) : 0); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.AmountDue.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.AmountDue.prototype.value = 0; +timapi.protocol.sixml.AmountDue.prototype.currency = undefined; +timapi.protocol.sixml.AmountDue.prototype.exponent = undefined; +timapi.protocol.sixml.AmountDue.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:AmountDue"); + node.textContent = timapi.utils.StringHelper.makeString(this.value); + if (this.currency != undefined) { + this.xmlSetAttribute(node, "Currency", this.currency); + } + if (this.exponent != undefined) { + this.xmlSetAttribute(node, "Exponent", timapi.utils.StringHelper.makeString(this.exponent)); + } + return node; +}; +timapi.protocol.sixml.AmountOther = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.AmountOther) { + var value = a; + this.value = value.value; + this.currency = value.currency; + this.exponent = value.exponent; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + this.value = (node.textContent ? parseInt(node.textContent) : 0); + if (this.xmlHasAttribute(node, "Currency")) { + this.currency = this.xmlGetAttribute(node, "Currency"); + } + if (this.xmlHasAttribute(node, "Exponent")) { + this.exponent = (this.xmlGetAttribute(node, "Exponent") ? parseInt(this.xmlGetAttribute(node, "Exponent")) : 0); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.AmountOther.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.AmountOther.prototype.value = 0; +timapi.protocol.sixml.AmountOther.prototype.currency = undefined; +timapi.protocol.sixml.AmountOther.prototype.exponent = undefined; +timapi.protocol.sixml.AmountOther.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:AmountOther"); + node.textContent = timapi.utils.StringHelper.makeString(this.value); + if (this.currency != undefined) { + this.xmlSetAttribute(node, "Currency", this.currency); + } + if (this.exponent != undefined) { + this.xmlSetAttribute(node, "Exponent", timapi.utils.StringHelper.makeString(this.exponent)); + } + return node; +}; +timapi.protocol.sixml.AmountSaldo = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.AmountSaldo) { + var value = a; + this.value = value.value; + this.currency = value.currency; + this.exponent = value.exponent; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + this.value = (node.textContent ? parseInt(node.textContent) : 0); + if (this.xmlHasAttribute(node, "Currency")) { + this.currency = this.xmlGetAttribute(node, "Currency"); + } + if (this.xmlHasAttribute(node, "Exponent")) { + this.exponent = (this.xmlGetAttribute(node, "Exponent") ? parseInt(this.xmlGetAttribute(node, "Exponent")) : 0); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.AmountSaldo.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.AmountSaldo.prototype.value = 0; +timapi.protocol.sixml.AmountSaldo.prototype.currency = undefined; +timapi.protocol.sixml.AmountSaldo.prototype.exponent = undefined; +timapi.protocol.sixml.AmountSaldo.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:AmountSaldo"); + node.textContent = timapi.utils.StringHelper.makeString(this.value); + if (this.currency != undefined) { + this.xmlSetAttribute(node, "Currency", this.currency); + } + if (this.exponent != undefined) { + this.xmlSetAttribute(node, "Exponent", timapi.utils.StringHelper.makeString(this.exponent)); + } + return node; +}; +timapi.protocol.sixml.AmountTax = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.AmountTax) { + var value = a; + this.value = value.value; + this.currency = value.currency; + this.exponent = value.exponent; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + this.value = (node.textContent ? parseInt(node.textContent) : 0); + if (this.xmlHasAttribute(node, "Currency")) { + this.currency = this.xmlGetAttribute(node, "Currency"); + } + if (this.xmlHasAttribute(node, "Exponent")) { + this.exponent = (this.xmlGetAttribute(node, "Exponent") ? parseInt(this.xmlGetAttribute(node, "Exponent")) : 0); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.AmountTax.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.AmountTax.prototype.value = 0; +timapi.protocol.sixml.AmountTax.prototype.currency = undefined; +timapi.protocol.sixml.AmountTax.prototype.exponent = undefined; +timapi.protocol.sixml.AmountTax.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:AmountTax"); + node.textContent = timapi.utils.StringHelper.makeString(this.value); + if (this.currency != undefined) { + this.xmlSetAttribute(node, "Currency", this.currency); + } + if (this.exponent != undefined) { + this.xmlSetAttribute(node, "Exponent", timapi.utils.StringHelper.makeString(this.exponent)); + } + return node; +}; +timapi.protocol.sixml.AmountTip = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.AmountTip) { + var value = a; + this.value = value.value; + this.currency = value.currency; + this.exponent = value.exponent; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + this.value = (node.textContent ? parseInt(node.textContent) : 0); + if (this.xmlHasAttribute(node, "Currency")) { + this.currency = this.xmlGetAttribute(node, "Currency"); + } + if (this.xmlHasAttribute(node, "Exponent")) { + this.exponent = (this.xmlGetAttribute(node, "Exponent") ? parseInt(this.xmlGetAttribute(node, "Exponent")) : 0); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.AmountTip.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.AmountTip.prototype.value = 0; +timapi.protocol.sixml.AmountTip.prototype.currency = undefined; +timapi.protocol.sixml.AmountTip.prototype.exponent = undefined; +timapi.protocol.sixml.AmountTip.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:AmountTip"); + node.textContent = timapi.utils.StringHelper.makeString(this.value); + if (this.currency != undefined) { + this.xmlSetAttribute(node, "Currency", this.currency); + } + if (this.exponent != undefined) { + this.xmlSetAttribute(node, "Exponent", timapi.utils.StringHelper.makeString(this.exponent)); + } + return node; +}; +timapi.protocol.sixml.AmountTotal = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.AmountTotal) { + var value = a; + this.value = value.value; + this.currency = value.currency; + this.exponent = value.exponent; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + this.value = (node.textContent ? parseInt(node.textContent) : 0); + if (this.xmlHasAttribute(node, "Currency")) { + this.currency = this.xmlGetAttribute(node, "Currency"); + } + if (this.xmlHasAttribute(node, "Exponent")) { + this.exponent = (this.xmlGetAttribute(node, "Exponent") ? parseInt(this.xmlGetAttribute(node, "Exponent")) : 0); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.AmountTotal.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.AmountTotal.prototype.value = 0; +timapi.protocol.sixml.AmountTotal.prototype.currency = undefined; +timapi.protocol.sixml.AmountTotal.prototype.exponent = undefined; +timapi.protocol.sixml.AmountTotal.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:AmountTotal"); + node.textContent = timapi.utils.StringHelper.makeString(this.value); + if (this.currency != undefined) { + this.xmlSetAttribute(node, "Currency", this.currency); + } + if (this.exponent != undefined) { + this.xmlSetAttribute(node, "Exponent", timapi.utils.StringHelper.makeString(this.exponent)); + } + return node; +}; +timapi.protocol.sixml.Application = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Application) { + var value = a; + this.aid = value.aid; + this.applicationLabel = value.applicationLabel; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "Aid")) { + this.aid = this.xmlGetAttribute(node, "Aid"); + } + if (this.xmlHasAttribute(node, "ApplicationLabel")) { + this.applicationLabel = this.xmlGetAttribute(node, "ApplicationLabel"); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.Application.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.Application.prototype.aid = undefined; +timapi.protocol.sixml.Application.prototype.applicationLabel = undefined; +timapi.protocol.sixml.Application.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Application"); + if (this.aid != undefined) { + this.xmlSetAttribute(node, "Aid", this.aid); + } + if (this.applicationLabel != undefined) { + this.xmlSetAttribute(node, "ApplicationLabel", this.applicationLabel); + } + return node; +}; +timapi.protocol.sixml.Basket = function (a) { + this.item = []; + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Basket) { + var value = a; + for (var each of value.item) { + this.item.push(each ? new timapi.protocol.sixml.Item(each) : undefined); + } + this.loyaltyAuthResult = value.loyaltyAuthResult; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + for (var each of this.xmlGetChildren(node, "sixml:Item")) { + this.item.push(new timapi.protocol.sixml.Item(each)); + } + if (this.xmlHasChild(node, "sixml:LoyaltyAuthResult")) { + this.loyaltyAuthResult = (this.xmlGetChild(node, "sixml:LoyaltyAuthResult").textContent ? parseInt(this.xmlGetChild(node, "sixml:LoyaltyAuthResult").textContent) : 0); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.Basket.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.Basket.prototype.item = undefined; +timapi.protocol.sixml.Basket.prototype.loyaltyAuthResult = undefined; +timapi.protocol.sixml.Basket.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Basket"); + for (var each of this.item) { + this.xmlAddChild(node, "sixml:Item", each); + } + if (this.loyaltyAuthResult != undefined) { + this.xmlAddChild(node, "sixml:LoyaltyAuthResult", timapi.utils.StringHelper.makeString(this.loyaltyAuthResult)); + } + return node; +}; +timapi.protocol.sixml.Brand = function (a) { + this.application = []; + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Brand) { + var value = a; + this.brandName = value.brandName; + this.dccAvailable = value.dccAvailable; + this.paymentProtocol = value.paymentProtocol; + this.acqId = value.acqId; + this.lastInitDate = value.lastInitDate; + for (var each of value.application) { + this.application.push(each ? new timapi.protocol.sixml.Application(each) : undefined); + } + this.currencyList = value.currencyList ? new timapi.protocol.sixml.CurrencyList(value.currencyList) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "BrandName")) { + this.brandName = this.xmlGetAttribute(node, "BrandName"); + } + if (this.xmlHasAttribute(node, "DccAvailable")) { + this.dccAvailable = this.xmlGetAttribute(node, "DccAvailable") == "1"; + } + if (this.xmlHasAttribute(node, "PaymentProtocol")) { + this.paymentProtocol = this.xmlGetAttribute(node, "PaymentProtocol"); + } + if (this.xmlHasAttribute(node, "AcqId")) { + this.acqId = (this.xmlGetAttribute(node, "AcqId") ? parseInt(this.xmlGetAttribute(node, "AcqId")) : 0); + } + if (this.xmlHasAttribute(node, "LastInitDate")) { + this.lastInitDate = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "LastInitDate")); + } + for (var each of this.xmlGetChildren(node, "sixml:Application")) { + this.application.push(new timapi.protocol.sixml.Application(each)); + } + if (this.xmlHasChild(node, "sixml:CurrencyList")) { + this.currencyList = new timapi.protocol.sixml.CurrencyList(this.xmlGetChild(node, "sixml:CurrencyList")); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.Brand.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.Brand.prototype.brandName = undefined; +timapi.protocol.sixml.Brand.prototype.dccAvailable = undefined; +timapi.protocol.sixml.Brand.prototype.paymentProtocol = undefined; +timapi.protocol.sixml.Brand.prototype.acqId = undefined; +timapi.protocol.sixml.Brand.prototype.lastInitDate = undefined; +timapi.protocol.sixml.Brand.prototype.application = undefined; +timapi.protocol.sixml.Brand.prototype.currencyList = undefined; +timapi.protocol.sixml.Brand.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Brand"); + if (this.brandName != undefined) { + this.xmlSetAttribute(node, "BrandName", this.brandName); + } + if (this.dccAvailable != undefined) { + this.xmlSetAttribute(node, "DccAvailable", (this.dccAvailable ? "1" : "0")); + } + if (this.paymentProtocol != undefined) { + this.xmlSetAttribute(node, "PaymentProtocol", this.paymentProtocol); + } + if (this.acqId != undefined) { + this.xmlSetAttribute(node, "AcqId", timapi.utils.StringHelper.makeString(this.acqId)); + } + if (this.lastInitDate != undefined) { + this.xmlSetAttribute(node, "LastInitDate", this.lastInitDate.format("yyyyMMdd'T'HHmmssZ")); + } + for (var each of this.application) { + this.xmlAddChild(node, "sixml:Application", each); + } + if (this.currencyList != undefined) { + this.xmlAddChild(node, "sixml:CurrencyList", this.currencyList); + } + return node; +}; +timapi.protocol.sixml.BrandBar = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.BrandBar) { + var value = a; + this.value = value.value; + this.brandMode = value.brandMode; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + this.value = node.textContent; + if (this.xmlHasAttribute(node, "BrandMode")) { + this.brandMode = this.xmlGetAttribute(node, "BrandMode"); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.BrandBar.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.BrandBar.prototype.value = ""; +timapi.protocol.sixml.BrandBar.prototype.brandMode = undefined; +timapi.protocol.sixml.BrandBar.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:BrandBar"); + node.textContent = this.value; + if (this.brandMode != undefined) { + this.xmlSetAttribute(node, "BrandMode", this.brandMode); + } + return node; +}; +timapi.protocol.sixml.BrandList = function (a) { + this.brand = []; + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.BrandList) { + var value = a; + for (var each of value.brand) { + this.brand.push(each ? new timapi.protocol.sixml.Brand(each) : undefined); + } + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + for (var each of this.xmlGetChildren(node, "sixml:Brand")) { + this.brand.push(new timapi.protocol.sixml.Brand(each)); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.BrandList.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.BrandList.prototype.brand = undefined; +timapi.protocol.sixml.BrandList.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:BrandList"); + for (var each of this.brand) { + this.xmlAddChild(node, "sixml:Brand", each); + } + return node; +}; +timapi.protocol.sixml.CardData = function (a) { + this.cardTrackData = []; + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.CardData) { + var value = a; + this.posEntryMode = value.posEntryMode; + this.aid = value.aid; + this.acc = value.acc; + this.cardNumber = value.cardNumber; + this.cardNumberPrintable = value.cardNumberPrintable; + this.cardNumberPrintableCardholder = value.cardNumberPrintableCardholder; + this.cardNumberEnc = value.cardNumberEnc; + this.cardNumberEncKeyIndex = value.cardNumberEncKeyIndex; + this.cardExpiryDate = value.cardExpiryDate; + this.brandName = value.brandName; + this.tenderName = value.tenderName; + this.cardRef = value.cardRef; + this.cardCountryCode = value.cardCountryCode; + this.terminalCountryCode = value.terminalCountryCode; + this.uid = value.uid; + for (var each of value.cardTrackData) { + this.cardTrackData.push(each ? new timapi.protocol.sixml.CardTrackData(each) : undefined); + } + this.loyaltyInformationList = value.loyaltyInformationList ? new timapi.protocol.sixml.LoyaltyInformationList(value.loyaltyInformationList) : undefined; + this.processingDisposition = value.processingDisposition; + this.cardType = value.cardType; + this.cardholder = value.cardholder; + this.language = value.language; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "PosEntryMode")) { + this.posEntryMode = (this.xmlGetAttribute(node, "PosEntryMode") ? parseInt(this.xmlGetAttribute(node, "PosEntryMode")) : 0); + } + if (this.xmlHasAttribute(node, "Aid")) { + this.aid = this.xmlGetAttribute(node, "Aid"); + } + if (this.xmlHasAttribute(node, "Acc")) { + this.acc = this.xmlGetAttribute(node, "Acc"); + } + if (this.xmlHasAttribute(node, "CardNumber")) { + this.cardNumber = this.xmlGetAttribute(node, "CardNumber"); + } + if (this.xmlHasAttribute(node, "CardNumberPrintable")) { + this.cardNumberPrintable = this.xmlGetAttribute(node, "CardNumberPrintable"); + } + if (this.xmlHasAttribute(node, "CardNumberPrintableCardholder")) { + this.cardNumberPrintableCardholder = this.xmlGetAttribute(node, "CardNumberPrintableCardholder"); + } + if (this.xmlHasAttribute(node, "CardNumberEnc")) { + this.cardNumberEnc = timapi.ConversionHelper.hexStringToByte(this.xmlGetAttribute(node, "CardNumberEnc")); + } + if (this.xmlHasAttribute(node, "CardNumberEncKeyIndex")) { + this.cardNumberEncKeyIndex = (this.xmlGetAttribute(node, "CardNumberEncKeyIndex") ? parseInt(this.xmlGetAttribute(node, "CardNumberEncKeyIndex")) : 0); + } + if (this.xmlHasAttribute(node, "CardExpiryDate")) { + this.cardExpiryDate = new timapi.protocol.TimeDate("MMyy", this.xmlGetAttribute(node, "CardExpiryDate")); + } + if (this.xmlHasAttribute(node, "BrandName")) { + this.brandName = this.xmlGetAttribute(node, "BrandName"); + } + if (this.xmlHasAttribute(node, "TenderName")) { + this.tenderName = this.xmlGetAttribute(node, "TenderName"); + } + if (this.xmlHasAttribute(node, "CardRef")) { + this.cardRef = this.xmlGetAttribute(node, "CardRef"); + } + if (this.xmlHasAttribute(node, "CardCountryCode")) { + this.cardCountryCode = (this.xmlGetAttribute(node, "CardCountryCode") ? parseInt(this.xmlGetAttribute(node, "CardCountryCode")) : 0); + } + if (this.xmlHasAttribute(node, "TerminalCountryCode")) { + this.terminalCountryCode = (this.xmlGetAttribute(node, "TerminalCountryCode") ? parseInt(this.xmlGetAttribute(node, "TerminalCountryCode")) : 0); + } + if (this.xmlHasAttribute(node, "Uid")) { + this.uid = this.xmlGetAttribute(node, "Uid"); + } + for (var each of this.xmlGetChildren(node, "sixml:CardTrackData")) { + this.cardTrackData.push(new timapi.protocol.sixml.CardTrackData(each)); + } + if (this.xmlHasChild(node, "sixml:LoyaltyInformationList")) { + this.loyaltyInformationList = new timapi.protocol.sixml.LoyaltyInformationList(this.xmlGetChild(node, "sixml:LoyaltyInformationList")); + } + if (this.xmlHasAttribute(node, "ProcessingDisposition")) { + this.processingDisposition = this.xmlGetAttribute(node, "ProcessingDisposition"); + } + if (this.xmlHasAttribute(node, "CardType")) { + this.cardType = (this.xmlGetAttribute(node, "CardType") ? parseInt(this.xmlGetAttribute(node, "CardType")) : 0); + } + if (this.xmlHasAttribute(node, "Cardholder")) { + this.cardholder = this.xmlGetAttribute(node, "Cardholder"); + } + if (this.xmlHasChild(node, "sixml:Language")) { + this.language = this.xmlGetChild(node, "sixml:Language").textContent; + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.CardData.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.CardData.prototype.posEntryMode = undefined; +timapi.protocol.sixml.CardData.prototype.aid = undefined; +timapi.protocol.sixml.CardData.prototype.acc = undefined; +timapi.protocol.sixml.CardData.prototype.cardNumber = undefined; +timapi.protocol.sixml.CardData.prototype.cardNumberPrintable = undefined; +timapi.protocol.sixml.CardData.prototype.cardNumberPrintableCardholder = undefined; +timapi.protocol.sixml.CardData.prototype.cardNumberEnc = undefined; +timapi.protocol.sixml.CardData.prototype.cardNumberEncKeyIndex = undefined; +timapi.protocol.sixml.CardData.prototype.cardExpiryDate = undefined; +timapi.protocol.sixml.CardData.prototype.brandName = undefined; +timapi.protocol.sixml.CardData.prototype.tenderName = undefined; +timapi.protocol.sixml.CardData.prototype.cardRef = undefined; +timapi.protocol.sixml.CardData.prototype.cardCountryCode = undefined; +timapi.protocol.sixml.CardData.prototype.terminalCountryCode = undefined; +timapi.protocol.sixml.CardData.prototype.uid = undefined; +timapi.protocol.sixml.CardData.prototype.cardTrackData = undefined; +timapi.protocol.sixml.CardData.prototype.loyaltyInformationList = undefined; +timapi.protocol.sixml.CardData.prototype.processingDisposition = undefined; +timapi.protocol.sixml.CardData.prototype.cardType = undefined; +timapi.protocol.sixml.CardData.prototype.cardholder = undefined; +timapi.protocol.sixml.CardData.prototype.language = undefined; +timapi.protocol.sixml.CardData.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:CardData"); + if (this.posEntryMode != undefined) { + this.xmlSetAttribute(node, "PosEntryMode", timapi.utils.StringHelper.makeString(this.posEntryMode)); + } + if (this.aid != undefined) { + this.xmlSetAttribute(node, "Aid", this.aid); + } + if (this.acc != undefined) { + this.xmlSetAttribute(node, "Acc", this.acc); + } + if (this.cardNumber != undefined) { + this.xmlSetAttribute(node, "CardNumber", this.cardNumber); + } + if (this.cardNumberPrintable != undefined) { + this.xmlSetAttribute(node, "CardNumberPrintable", this.cardNumberPrintable); + } + if (this.cardNumberPrintableCardholder != undefined) { + this.xmlSetAttribute(node, "CardNumberPrintableCardholder", this.cardNumberPrintableCardholder); + } + if (this.cardNumberEnc != undefined) { + this.xmlSetAttribute(node, "CardNumberEnc", timapi.protocol.ConversionHelper.byteToHexString(this.cardNumberEnc)); + } + if (this.cardNumberEncKeyIndex != undefined) { + this.xmlSetAttribute(node, "CardNumberEncKeyIndex", timapi.utils.StringHelper.makeString(this.cardNumberEncKeyIndex)); + } + if (this.cardExpiryDate != undefined) { + this.xmlSetAttribute(node, "CardExpiryDate", this.cardExpiryDate.format("MMyy")); + } + if (this.brandName != undefined) { + this.xmlSetAttribute(node, "BrandName", this.brandName); + } + if (this.tenderName != undefined) { + this.xmlSetAttribute(node, "TenderName", this.tenderName); + } + if (this.cardRef != undefined) { + this.xmlSetAttribute(node, "CardRef", this.cardRef); + } + if (this.cardCountryCode != undefined) { + this.xmlSetAttribute(node, "CardCountryCode", timapi.utils.StringHelper.makeString(this.cardCountryCode)); + } + if (this.terminalCountryCode != undefined) { + this.xmlSetAttribute(node, "TerminalCountryCode", timapi.utils.StringHelper.makeString(this.terminalCountryCode)); + } + if (this.uid != undefined) { + this.xmlSetAttribute(node, "Uid", this.uid); + } + for (var each of this.cardTrackData) { + this.xmlAddChild(node, "sixml:CardTrackData", each); + } + if (this.loyaltyInformationList != undefined) { + this.xmlAddChild(node, "sixml:LoyaltyInformationList", this.loyaltyInformationList); + } + if (this.processingDisposition != undefined) { + this.xmlSetAttribute(node, "ProcessingDisposition", this.processingDisposition); + } + if (this.cardType != undefined) { + this.xmlSetAttribute(node, "CardType", timapi.utils.StringHelper.makeString(this.cardType)); + } + if (this.cardholder != undefined) { + this.xmlSetAttribute(node, "Cardholder", this.cardholder); + } + if (this.language != undefined) { + this.xmlAddChild(node, "sixml:Language", this.language); + } + return node; +}; +timapi.protocol.sixml.CardTrackData = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.CardTrackData) { + var value = a; + this.value = value.value; + this.trackNum = value.trackNum; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + this.value = node.textContent; + if (this.xmlHasAttribute(node, "TrackNum")) { + this.trackNum = (this.xmlGetAttribute(node, "TrackNum") ? parseInt(this.xmlGetAttribute(node, "TrackNum")) : 0); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.CardTrackData.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.CardTrackData.prototype.value = ""; +timapi.protocol.sixml.CardTrackData.prototype.trackNum = undefined; +timapi.protocol.sixml.CardTrackData.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:CardTrackData"); + node.textContent = this.value; + if (this.trackNum != undefined) { + this.xmlSetAttribute(node, "TrackNum", timapi.utils.StringHelper.makeString(this.trackNum)); + } + return node; +}; +timapi.protocol.sixml.ConfigData = function (a) { + this.receiptHeader = []; + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.ConfigData) { + var value = a; + for (var each of value.receiptHeader) { + this.receiptHeader.push(each ? new timapi.protocol.sixml.ReceiptHeader(each) : undefined); + } + this.language = value.language; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + for (var each of this.xmlGetChildren(node, "sixml:ReceiptHeader")) { + this.receiptHeader.push(new timapi.protocol.sixml.ReceiptHeader(each)); + } + if (this.xmlHasChild(node, "sixml:Language")) { + this.language = this.xmlGetChild(node, "sixml:Language").textContent; + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.ConfigData.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.ConfigData.prototype.receiptHeader = undefined; +timapi.protocol.sixml.ConfigData.prototype.language = undefined; +timapi.protocol.sixml.ConfigData.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:ConfigData"); + for (var each of this.receiptHeader) { + this.xmlAddChild(node, "sixml:ReceiptHeader", each); + } + if (this.language != undefined) { + this.xmlAddChild(node, "sixml:Language", this.language); + } + return node; +}; +timapi.protocol.sixml.Counter = function (a) { + this.total = []; + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Counter) { + var value = a; + this.brandName = value.brandName; + this.paymentProtocol = value.paymentProtocol; + this.acqId = value.acqId; + this.count = value.count; + this.countDcc = value.countDcc; + this.countForeign = value.countForeign; + for (var each of value.total) { + this.total.push(each ? new timapi.protocol.sixml.Total(each) : undefined); + } + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "BrandName")) { + this.brandName = this.xmlGetAttribute(node, "BrandName"); + } + if (this.xmlHasAttribute(node, "PaymentProtocol")) { + this.paymentProtocol = this.xmlGetAttribute(node, "PaymentProtocol"); + } + if (this.xmlHasAttribute(node, "AcqId")) { + this.acqId = (this.xmlGetAttribute(node, "AcqId") ? parseInt(this.xmlGetAttribute(node, "AcqId")) : 0); + } + if (this.xmlHasAttribute(node, "Count")) { + this.count = (this.xmlGetAttribute(node, "Count") ? parseInt(this.xmlGetAttribute(node, "Count")) : 0); + } + if (this.xmlHasAttribute(node, "CountDcc")) { + this.countDcc = (this.xmlGetAttribute(node, "CountDcc") ? parseInt(this.xmlGetAttribute(node, "CountDcc")) : 0); + } + if (this.xmlHasAttribute(node, "CountForeign")) { + this.countForeign = (this.xmlGetAttribute(node, "CountForeign") ? parseInt(this.xmlGetAttribute(node, "CountForeign")) : 0); + } + for (var each of this.xmlGetChildren(node, "sixml:Total")) { + this.total.push(new timapi.protocol.sixml.Total(each)); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.Counter.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.Counter.prototype.brandName = undefined; +timapi.protocol.sixml.Counter.prototype.paymentProtocol = undefined; +timapi.protocol.sixml.Counter.prototype.acqId = undefined; +timapi.protocol.sixml.Counter.prototype.count = undefined; +timapi.protocol.sixml.Counter.prototype.countDcc = undefined; +timapi.protocol.sixml.Counter.prototype.countForeign = undefined; +timapi.protocol.sixml.Counter.prototype.total = undefined; +timapi.protocol.sixml.Counter.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Counter"); + if (this.brandName != undefined) { + this.xmlSetAttribute(node, "BrandName", this.brandName); + } + if (this.paymentProtocol != undefined) { + this.xmlSetAttribute(node, "PaymentProtocol", this.paymentProtocol); + } + if (this.acqId != undefined) { + this.xmlSetAttribute(node, "AcqId", timapi.utils.StringHelper.makeString(this.acqId)); + } + if (this.count != undefined) { + this.xmlSetAttribute(node, "Count", timapi.utils.StringHelper.makeString(this.count)); + } + if (this.countDcc != undefined) { + this.xmlSetAttribute(node, "CountDcc", timapi.utils.StringHelper.makeString(this.countDcc)); + } + if (this.countForeign != undefined) { + this.xmlSetAttribute(node, "CountForeign", timapi.utils.StringHelper.makeString(this.countForeign)); + } + for (var each of this.total) { + this.xmlAddChild(node, "sixml:Total", each); + } + return node; +}; +timapi.protocol.sixml.Counters = function (a) { + this.counter = []; + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Counters) { + var value = a; + this.counterType = value.counterType; + this.actSeqCounter = value.actSeqCounter; + this.periodSeqCounter = value.periodSeqCounter; + for (var each of value.counter) { + this.counter.push(each ? new timapi.protocol.sixml.Counter(each) : undefined); + } + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "CounterType")) { + this.counterType = this.xmlGetAttribute(node, "CounterType"); + } + if (this.xmlHasAttribute(node, "ActSeqCounter")) { + this.actSeqCounter = (this.xmlGetAttribute(node, "ActSeqCounter") ? parseInt(this.xmlGetAttribute(node, "ActSeqCounter")) : 0); + } + if (this.xmlHasAttribute(node, "PeriodSeqCounter")) { + this.periodSeqCounter = (this.xmlGetAttribute(node, "PeriodSeqCounter") ? parseInt(this.xmlGetAttribute(node, "PeriodSeqCounter")) : 0); + } + for (var each of this.xmlGetChildren(node, "sixml:Counter")) { + this.counter.push(new timapi.protocol.sixml.Counter(each)); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.Counters.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.Counters.prototype.counterType = undefined; +timapi.protocol.sixml.Counters.prototype.actSeqCounter = undefined; +timapi.protocol.sixml.Counters.prototype.periodSeqCounter = undefined; +timapi.protocol.sixml.Counters.prototype.counter = undefined; +timapi.protocol.sixml.Counters.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Counters"); + if (this.counterType != undefined) { + this.xmlSetAttribute(node, "CounterType", this.counterType); + } + if (this.actSeqCounter != undefined) { + this.xmlSetAttribute(node, "ActSeqCounter", timapi.utils.StringHelper.makeString(this.actSeqCounter)); + } + if (this.periodSeqCounter != undefined) { + this.xmlSetAttribute(node, "PeriodSeqCounter", timapi.utils.StringHelper.makeString(this.periodSeqCounter)); + } + for (var each of this.counter) { + this.xmlAddChild(node, "sixml:Counter", each); + } + return node; +}; +timapi.protocol.sixml.CurrencyItem = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.CurrencyItem) { + var value = a; + this.value = value.value; + this.currencyType = value.currencyType; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + this.value = node.textContent; + if (this.xmlHasAttribute(node, "CurrencyType")) { + this.currencyType = this.xmlGetAttribute(node, "CurrencyType"); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.CurrencyItem.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.CurrencyItem.prototype.value = ""; +timapi.protocol.sixml.CurrencyItem.prototype.currencyType = undefined; +timapi.protocol.sixml.CurrencyItem.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:CurrencyItem"); + node.textContent = this.value; + if (this.currencyType != undefined) { + this.xmlSetAttribute(node, "CurrencyType", this.currencyType); + } + return node; +}; +timapi.protocol.sixml.CurrencyList = function (a) { + this.currencyItem = []; + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.CurrencyList) { + var value = a; + for (var each of value.currencyItem) { + this.currencyItem.push(each ? new timapi.protocol.sixml.CurrencyItem(each) : undefined); + } + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + for (var each of this.xmlGetChildren(node, "sixml:CurrencyItem")) { + this.currencyItem.push(new timapi.protocol.sixml.CurrencyItem(each)); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.CurrencyList.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.CurrencyList.prototype.currencyItem = undefined; +timapi.protocol.sixml.CurrencyList.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:CurrencyList"); + for (var each of this.currencyItem) { + this.xmlAddChild(node, "sixml:CurrencyItem", each); + } + return node; +}; +timapi.protocol.sixml.DisplayContent = function (a) { + this.displayLine = []; + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.DisplayContent) { + var value = a; + for (var each of value.displayLine) { + this.displayLine.push(each ? new timapi.protocol.sixml.DisplayLine(each) : undefined); + } + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + for (var each of this.xmlGetChildren(node, "sixml:DisplayLine")) { + this.displayLine.push(new timapi.protocol.sixml.DisplayLine(each)); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.DisplayContent.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.DisplayContent.prototype.displayLine = undefined; +timapi.protocol.sixml.DisplayContent.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:DisplayContent"); + for (var each of this.displayLine) { + this.xmlAddChild(node, "sixml:DisplayLine", each); + } + return node; +}; +timapi.protocol.sixml.DisplayLine = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.DisplayLine) { + var value = a; + this.value = value.value; + this.lineNum = value.lineNum; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + this.value = node.textContent; + if (this.xmlHasAttribute(node, "LineNum")) { + this.lineNum = (this.xmlGetAttribute(node, "LineNum") ? parseInt(this.xmlGetAttribute(node, "LineNum")) : 0); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.DisplayLine.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.DisplayLine.prototype.value = ""; +timapi.protocol.sixml.DisplayLine.prototype.lineNum = undefined; +timapi.protocol.sixml.DisplayLine.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:DisplayLine"); + node.textContent = this.value; + if (this.lineNum != undefined) { + this.xmlSetAttribute(node, "LineNum", timapi.utils.StringHelper.makeString(this.lineNum)); + } + return node; +}; +timapi.protocol.sixml.EcrData = function (a) { + this.ecrInfo = []; + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.EcrData) { + var value = a; + for (var each of value.ecrInfo) { + this.ecrInfo.push(each ? new timapi.protocol.sixml.EcrInfo(each) : undefined); + } + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + for (var each of this.xmlGetChildren(node, "sixml:EcrInfo")) { + this.ecrInfo.push(new timapi.protocol.sixml.EcrInfo(each)); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.EcrData.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.EcrData.prototype.ecrInfo = undefined; +timapi.protocol.sixml.EcrData.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:EcrData"); + for (var each of this.ecrInfo) { + this.xmlAddChild(node, "sixml:EcrInfo", each); + } + return node; +}; +timapi.protocol.sixml.EcrInfo = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.EcrInfo) { + var value = a; + this.ecrInfoType = value.ecrInfoType; + this.ecrInfoName = value.ecrInfoName; + this.ecrInfoManufacturerName = value.ecrInfoManufacturerName; + this.ecrInfoVers = value.ecrInfoVers; + this.ecrInfoSerialNumber = value.ecrInfoSerialNumber; + this.ecrInfoArchitecture = value.ecrInfoArchitecture; + this.remoteIp = value.remoteIp; + this.integratorSolution = value.integratorSolution; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "EcrInfoType")) { + this.ecrInfoType = this.xmlGetAttribute(node, "EcrInfoType"); + } + if (this.xmlHasAttribute(node, "EcrInfoName")) { + this.ecrInfoName = this.xmlGetAttribute(node, "EcrInfoName"); + } + if (this.xmlHasAttribute(node, "EcrInfoManufacturerName")) { + this.ecrInfoManufacturerName = this.xmlGetAttribute(node, "EcrInfoManufacturerName"); + } + if (this.xmlHasAttribute(node, "EcrInfoVers")) { + this.ecrInfoVers = this.xmlGetAttribute(node, "EcrInfoVers"); + } + if (this.xmlHasAttribute(node, "EcrInfoSerialNumber")) { + this.ecrInfoSerialNumber = this.xmlGetAttribute(node, "EcrInfoSerialNumber"); + } + if (this.xmlHasAttribute(node, "EcrInfoArchitecture")) { + this.ecrInfoArchitecture = this.xmlGetAttribute(node, "EcrInfoArchitecture"); + } + if (this.xmlHasAttribute(node, "RemoteIp")) { + this.remoteIp = this.xmlGetAttribute(node, "RemoteIp"); + } + if (this.xmlHasAttribute(node, "IntegratorSolution")) { + this.integratorSolution = this.xmlGetAttribute(node, "IntegratorSolution"); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.EcrInfo.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.EcrInfo.prototype.ecrInfoType = undefined; +timapi.protocol.sixml.EcrInfo.prototype.ecrInfoName = undefined; +timapi.protocol.sixml.EcrInfo.prototype.ecrInfoManufacturerName = undefined; +timapi.protocol.sixml.EcrInfo.prototype.ecrInfoVers = undefined; +timapi.protocol.sixml.EcrInfo.prototype.ecrInfoSerialNumber = undefined; +timapi.protocol.sixml.EcrInfo.prototype.ecrInfoArchitecture = undefined; +timapi.protocol.sixml.EcrInfo.prototype.remoteIp = undefined; +timapi.protocol.sixml.EcrInfo.prototype.integratorSolution = undefined; +timapi.protocol.sixml.EcrInfo.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:EcrInfo"); + if (this.ecrInfoType != undefined) { + this.xmlSetAttribute(node, "EcrInfoType", this.ecrInfoType); + } + if (this.ecrInfoName != undefined) { + this.xmlSetAttribute(node, "EcrInfoName", this.ecrInfoName); + } + if (this.ecrInfoManufacturerName != undefined) { + this.xmlSetAttribute(node, "EcrInfoManufacturerName", this.ecrInfoManufacturerName); + } + if (this.ecrInfoVers != undefined) { + this.xmlSetAttribute(node, "EcrInfoVers", this.ecrInfoVers); + } + if (this.ecrInfoSerialNumber != undefined) { + this.xmlSetAttribute(node, "EcrInfoSerialNumber", this.ecrInfoSerialNumber); + } + if (this.ecrInfoArchitecture != undefined) { + this.xmlSetAttribute(node, "EcrInfoArchitecture", this.ecrInfoArchitecture); + } + if (this.remoteIp != undefined) { + this.xmlSetAttribute(node, "RemoteIp", this.remoteIp); + } + if (this.integratorSolution != undefined) { + this.xmlSetAttribute(node, "IntegratorSolution", this.integratorSolution); + } + return node; +}; +timapi.protocol.sixml.Feature = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Feature) { + var value = a; + this.value = value.value; + this.featureType = value.featureType; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + this.value = node.textContent; + if (this.xmlHasAttribute(node, "FeatureType")) { + this.featureType = this.xmlGetAttribute(node, "FeatureType"); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.Feature.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.Feature.prototype.value = ""; +timapi.protocol.sixml.Feature.prototype.featureType = undefined; +timapi.protocol.sixml.Feature.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Feature"); + node.textContent = this.value; + if (this.featureType != undefined) { + this.xmlSetAttribute(node, "FeatureType", this.featureType); + } + return node; +}; +timapi.protocol.sixml.Features = function (a) { + this.feature = []; + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Features) { + var value = a; + for (var each of value.feature) { + this.feature.push(each ? new timapi.protocol.sixml.Feature(each) : undefined); + } + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + for (var each of this.xmlGetChildren(node, "sixml:Feature")) { + this.feature.push(new timapi.protocol.sixml.Feature(each)); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.Features.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.Features.prototype.feature = undefined; +timapi.protocol.sixml.Features.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Features"); + for (var each of this.feature) { + this.xmlAddChild(node, "sixml:Feature", each); + } + return node; +}; +timapi.protocol.sixml.Hardware = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Hardware) { + var value = a; + this.hardwareType = value.hardwareType; + this.serialNumber = value.serialNumber; + this.productionDate = value.productionDate; + this.productVersion = value.productVersion; + this.firmwareVersion = value.firmwareVersion; + this.securityStatus = value.securityStatus; + this.lastCleaningDate = value.lastCleaningDate; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "HardwareType")) { + this.hardwareType = this.xmlGetAttribute(node, "HardwareType"); + } + if (this.xmlHasAttribute(node, "SerialNumber")) { + this.serialNumber = this.xmlGetAttribute(node, "SerialNumber"); + } + if (this.xmlHasAttribute(node, "ProductionDate")) { + this.productionDate = new timapi.protocol.TimeDate("yyyyMMdd", this.xmlGetAttribute(node, "ProductionDate")); + } + if (this.xmlHasAttribute(node, "ProductVersion")) { + this.productVersion = this.xmlGetAttribute(node, "ProductVersion"); + } + if (this.xmlHasAttribute(node, "FirmwareVersion")) { + this.firmwareVersion = this.xmlGetAttribute(node, "FirmwareVersion"); + } + if (this.xmlHasAttribute(node, "SecurityStatus")) { + this.securityStatus = this.xmlGetAttribute(node, "SecurityStatus"); + } + if (this.xmlHasAttribute(node, "LastCleaningDate")) { + this.lastCleaningDate = new timapi.protocol.TimeDate("yyyyMMdd", this.xmlGetAttribute(node, "LastCleaningDate")); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.Hardware.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.Hardware.prototype.hardwareType = undefined; +timapi.protocol.sixml.Hardware.prototype.serialNumber = undefined; +timapi.protocol.sixml.Hardware.prototype.productionDate = undefined; +timapi.protocol.sixml.Hardware.prototype.productVersion = undefined; +timapi.protocol.sixml.Hardware.prototype.firmwareVersion = undefined; +timapi.protocol.sixml.Hardware.prototype.securityStatus = undefined; +timapi.protocol.sixml.Hardware.prototype.lastCleaningDate = undefined; +timapi.protocol.sixml.Hardware.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Hardware"); + if (this.hardwareType != undefined) { + this.xmlSetAttribute(node, "HardwareType", this.hardwareType); + } + if (this.serialNumber != undefined) { + this.xmlSetAttribute(node, "SerialNumber", this.serialNumber); + } + if (this.productionDate != undefined) { + this.xmlSetAttribute(node, "ProductionDate", this.productionDate.format("yyyyMMdd")); + } + if (this.productVersion != undefined) { + this.xmlSetAttribute(node, "ProductVersion", this.productVersion); + } + if (this.firmwareVersion != undefined) { + this.xmlSetAttribute(node, "FirmwareVersion", this.firmwareVersion); + } + if (this.securityStatus != undefined) { + this.xmlSetAttribute(node, "SecurityStatus", this.securityStatus); + } + if (this.lastCleaningDate != undefined) { + this.xmlSetAttribute(node, "LastCleaningDate", this.lastCleaningDate.format("yyyyMMdd")); + } + return node; +}; +timapi.protocol.sixml.HardwareList = function (a) { + this.hardware = []; + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.HardwareList) { + var value = a; + for (var each of value.hardware) { + this.hardware.push(each ? new timapi.protocol.sixml.Hardware(each) : undefined); + } + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + for (var each of this.xmlGetChildren(node, "sixml:Hardware")) { + this.hardware.push(new timapi.protocol.sixml.Hardware(each)); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.HardwareList.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.HardwareList.prototype.hardware = undefined; +timapi.protocol.sixml.HardwareList.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:HardwareList"); + for (var each of this.hardware) { + this.xmlAddChild(node, "sixml:Hardware", each); + } + return node; +}; +timapi.protocol.sixml.Icon = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Icon) { + var value = a; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.Icon.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.Icon.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Icon"); + return node; +}; +timapi.protocol.sixml.Item = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Item) { + var value = a; + this.itemAuthResult = value.itemAuthResult; + this.itemId = value.itemId; + this.prodDescription = value.prodDescription; + this.loyaltyId = value.loyaltyId; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.amountTotal = value.amountTotal ? new timapi.protocol.sixml.AmountTotal(value.amountTotal) : undefined; + this.amountDiscount = value.amountDiscount ? new timapi.protocol.sixml.AmountDiscount(value.amountDiscount) : undefined; + this.amountGross = value.amountGross ? new timapi.protocol.sixml.AmountGross(value.amountGross) : undefined; + this.unitAmountGross = value.unitAmountGross ? new timapi.protocol.sixml.UnitAmountGross(value.unitAmountGross) : undefined; + this.unitAmountDiscount = value.unitAmountDiscount ? new timapi.protocol.sixml.UnitAmountDiscount(value.unitAmountDiscount) : undefined; + this.amountTax = value.amountTax ? new timapi.protocol.sixml.AmountTax(value.amountTax) : undefined; + this.itemQuantity = value.itemQuantity ? new timapi.protocol.sixml.ItemQuantity(value.itemQuantity) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "ItemAuthResult")) { + this.itemAuthResult = (this.xmlGetAttribute(node, "ItemAuthResult") ? parseInt(this.xmlGetAttribute(node, "ItemAuthResult")) : 0); + } + if (this.xmlHasAttribute(node, "ItemId")) { + this.itemId = this.xmlGetAttribute(node, "ItemId"); + } + if (this.xmlHasAttribute(node, "ProdDescription")) { + this.prodDescription = this.xmlGetAttribute(node, "ProdDescription"); + } + if (this.xmlHasAttribute(node, "LoyaltyId")) { + this.loyaltyId = this.xmlGetAttribute(node, "LoyaltyId"); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:AmountTotal")) { + this.amountTotal = new timapi.protocol.sixml.AmountTotal(this.xmlGetChild(node, "sixml:AmountTotal")); + } + if (this.xmlHasChild(node, "sixml:AmountDiscount")) { + this.amountDiscount = new timapi.protocol.sixml.AmountDiscount(this.xmlGetChild(node, "sixml:AmountDiscount")); + } + if (this.xmlHasChild(node, "sixml:AmountGross")) { + this.amountGross = new timapi.protocol.sixml.AmountGross(this.xmlGetChild(node, "sixml:AmountGross")); + } + if (this.xmlHasChild(node, "sixml:UnitAmountGross")) { + this.unitAmountGross = new timapi.protocol.sixml.UnitAmountGross(this.xmlGetChild(node, "sixml:UnitAmountGross")); + } + if (this.xmlHasChild(node, "sixml:UnitAmountDiscount")) { + this.unitAmountDiscount = new timapi.protocol.sixml.UnitAmountDiscount(this.xmlGetChild(node, "sixml:UnitAmountDiscount")); + } + if (this.xmlHasChild(node, "sixml:AmountTax")) { + this.amountTax = new timapi.protocol.sixml.AmountTax(this.xmlGetChild(node, "sixml:AmountTax")); + } + if (this.xmlHasChild(node, "sixml:ItemQuantity")) { + this.itemQuantity = new timapi.protocol.sixml.ItemQuantity(this.xmlGetChild(node, "sixml:ItemQuantity")); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.Item.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.Item.prototype.itemAuthResult = undefined; +timapi.protocol.sixml.Item.prototype.itemId = undefined; +timapi.protocol.sixml.Item.prototype.prodDescription = undefined; +timapi.protocol.sixml.Item.prototype.loyaltyId = undefined; +timapi.protocol.sixml.Item.prototype.amount = undefined; +timapi.protocol.sixml.Item.prototype.amountTotal = undefined; +timapi.protocol.sixml.Item.prototype.amountDiscount = undefined; +timapi.protocol.sixml.Item.prototype.amountGross = undefined; +timapi.protocol.sixml.Item.prototype.unitAmountGross = undefined; +timapi.protocol.sixml.Item.prototype.unitAmountDiscount = undefined; +timapi.protocol.sixml.Item.prototype.amountTax = undefined; +timapi.protocol.sixml.Item.prototype.itemQuantity = undefined; +timapi.protocol.sixml.Item.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Item"); + if (this.itemAuthResult != undefined) { + this.xmlSetAttribute(node, "ItemAuthResult", timapi.utils.StringHelper.makeString(this.itemAuthResult)); + } + if (this.itemId != undefined) { + this.xmlSetAttribute(node, "ItemId", this.itemId); + } + if (this.prodDescription != undefined) { + this.xmlSetAttribute(node, "ProdDescription", this.prodDescription); + } + if (this.loyaltyId != undefined) { + this.xmlSetAttribute(node, "LoyaltyId", this.loyaltyId); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.amountTotal != undefined) { + this.xmlAddChild(node, "sixml:AmountTotal", this.amountTotal); + } + if (this.amountDiscount != undefined) { + this.xmlAddChild(node, "sixml:AmountDiscount", this.amountDiscount); + } + if (this.amountGross != undefined) { + this.xmlAddChild(node, "sixml:AmountGross", this.amountGross); + } + if (this.unitAmountGross != undefined) { + this.xmlAddChild(node, "sixml:UnitAmountGross", this.unitAmountGross); + } + if (this.unitAmountDiscount != undefined) { + this.xmlAddChild(node, "sixml:UnitAmountDiscount", this.unitAmountDiscount); + } + if (this.amountTax != undefined) { + this.xmlAddChild(node, "sixml:AmountTax", this.amountTax); + } + if (this.itemQuantity != undefined) { + this.xmlAddChild(node, "sixml:ItemQuantity", this.itemQuantity); + } + return node; +}; +timapi.protocol.sixml.ItemQuantity = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.ItemQuantity) { + var value = a; + this.value = value.value; + this.itemQuantityType = value.itemQuantityType; + this.exponent = value.exponent; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + this.value = (node.textContent ? parseInt(node.textContent) : 0); + if (this.xmlHasAttribute(node, "ItemQuantityType")) { + this.itemQuantityType = this.xmlGetAttribute(node, "ItemQuantityType"); + } + if (this.xmlHasAttribute(node, "Exponent")) { + this.exponent = (this.xmlGetAttribute(node, "Exponent") ? parseInt(this.xmlGetAttribute(node, "Exponent")) : 0); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.ItemQuantity.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.ItemQuantity.prototype.value = 0; +timapi.protocol.sixml.ItemQuantity.prototype.itemQuantityType = undefined; +timapi.protocol.sixml.ItemQuantity.prototype.exponent = undefined; +timapi.protocol.sixml.ItemQuantity.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:ItemQuantity"); + node.textContent = timapi.utils.StringHelper.makeString(this.value); + if (this.itemQuantityType != undefined) { + this.xmlSetAttribute(node, "ItemQuantityType", this.itemQuantityType); + } + if (this.exponent != undefined) { + this.xmlSetAttribute(node, "Exponent", timapi.utils.StringHelper.makeString(this.exponent)); + } + return node; +}; +timapi.protocol.sixml.KernelVersion = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.KernelVersion) { + var value = a; + this.value = value.value; + this.kernelType = value.kernelType; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + this.value = node.textContent; + if (this.xmlHasAttribute(node, "KernelType")) { + this.kernelType = (this.xmlGetAttribute(node, "KernelType") ? parseInt(this.xmlGetAttribute(node, "KernelType")) : 0); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.KernelVersion.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.KernelVersion.prototype.value = ""; +timapi.protocol.sixml.KernelVersion.prototype.kernelType = undefined; +timapi.protocol.sixml.KernelVersion.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:KernelVersion"); + node.textContent = this.value; + if (this.kernelType != undefined) { + this.xmlSetAttribute(node, "KernelType", timapi.utils.StringHelper.makeString(this.kernelType)); + } + return node; +}; +timapi.protocol.sixml.KernelVersionList = function (a) { + this.kernelVersion = []; + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.KernelVersionList) { + var value = a; + for (var each of value.kernelVersion) { + this.kernelVersion.push(each ? new timapi.protocol.sixml.KernelVersion(each) : undefined); + } + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + for (var each of this.xmlGetChildren(node, "sixml:KernelVersion")) { + this.kernelVersion.push(new timapi.protocol.sixml.KernelVersion(each)); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.KernelVersionList.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.KernelVersionList.prototype.kernelVersion = undefined; +timapi.protocol.sixml.KernelVersionList.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:KernelVersionList"); + for (var each of this.kernelVersion) { + this.xmlAddChild(node, "sixml:KernelVersion", each); + } + return node; +}; +timapi.protocol.sixml.LogOptions = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.LogOptions) { + var value = a; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.LogOptions.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.LogOptions.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:LogOptions"); + return node; +}; +timapi.protocol.sixml.LoyaltyInformation = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.LoyaltyInformation) { + var value = a; + this.value = value.value; + this.loyaltyInfoType = value.loyaltyInfoType; + this.loyaltyFunctionType = value.loyaltyFunctionType; + this.loyaltyNumber = value.loyaltyNumber; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + this.value = timapi.ConversionHelper.hexStringToByte(node.textContent); + if (this.xmlHasAttribute(node, "LoyaltyInfoType")) { + this.loyaltyInfoType = this.xmlGetAttribute(node, "LoyaltyInfoType"); + } + if (this.xmlHasAttribute(node, "LoyaltyFunctionType")) { + this.loyaltyFunctionType = this.xmlGetAttribute(node, "LoyaltyFunctionType"); + } + if (this.xmlHasAttribute(node, "LoyaltyNumber")) { + this.loyaltyNumber = timapi.ConversionHelper.hexStringToByte(this.xmlGetAttribute(node, "LoyaltyNumber")); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.LoyaltyInformation.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.LoyaltyInformation.prototype.value = new Uint8Array(0); +timapi.protocol.sixml.LoyaltyInformation.prototype.loyaltyInfoType = undefined; +timapi.protocol.sixml.LoyaltyInformation.prototype.loyaltyFunctionType = undefined; +timapi.protocol.sixml.LoyaltyInformation.prototype.loyaltyNumber = undefined; +timapi.protocol.sixml.LoyaltyInformation.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:LoyaltyInformation"); + node.textContent = timapi.protocol.ConversionHelper.byteToHexString(this.value); + if (this.loyaltyInfoType != undefined) { + this.xmlSetAttribute(node, "LoyaltyInfoType", this.loyaltyInfoType); + } + if (this.loyaltyFunctionType != undefined) { + this.xmlSetAttribute(node, "LoyaltyFunctionType", this.loyaltyFunctionType); + } + if (this.loyaltyNumber != undefined) { + this.xmlSetAttribute(node, "LoyaltyNumber", timapi.protocol.ConversionHelper.byteToHexString(this.loyaltyNumber)); + } + return node; +}; +timapi.protocol.sixml.LoyaltyInformationList = function (a) { + this.loyaltyInformation = []; + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.LoyaltyInformationList) { + var value = a; + for (var each of value.loyaltyInformation) { + this.loyaltyInformation.push(each ? new timapi.protocol.sixml.LoyaltyInformation(each) : undefined); + } + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + for (var each of this.xmlGetChildren(node, "sixml:LoyaltyInformation")) { + this.loyaltyInformation.push(new timapi.protocol.sixml.LoyaltyInformation(each)); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.LoyaltyInformationList.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.LoyaltyInformationList.prototype.loyaltyInformation = undefined; +timapi.protocol.sixml.LoyaltyInformationList.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:LoyaltyInformationList"); + for (var each of this.loyaltyInformation) { + this.xmlAddChild(node, "sixml:LoyaltyInformation", each); + } + return node; +}; +timapi.protocol.sixml.MerchantOption = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.MerchantOption) { + var value = a; + this.value = value.value; + this.merchantOptionType = value.merchantOptionType; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + this.value = node.textContent; + if (this.xmlHasAttribute(node, "MerchantOptionType")) { + this.merchantOptionType = this.xmlGetAttribute(node, "MerchantOptionType"); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.MerchantOption.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.MerchantOption.prototype.value = ""; +timapi.protocol.sixml.MerchantOption.prototype.merchantOptionType = undefined; +timapi.protocol.sixml.MerchantOption.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:MerchantOption"); + node.textContent = this.value; + if (this.merchantOptionType != undefined) { + this.xmlSetAttribute(node, "MerchantOptionType", this.merchantOptionType); + } + return node; +}; +timapi.protocol.sixml.MerchantOptionList = function (a) { + this.merchantOption = []; + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.MerchantOptionList) { + var value = a; + for (var each of value.merchantOption) { + this.merchantOption.push(each ? new timapi.protocol.sixml.MerchantOption(each) : undefined); + } + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + for (var each of this.xmlGetChildren(node, "sixml:MerchantOption")) { + this.merchantOption.push(new timapi.protocol.sixml.MerchantOption(each)); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.MerchantOptionList.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.MerchantOptionList.prototype.merchantOption = undefined; +timapi.protocol.sixml.MerchantOptionList.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:MerchantOptionList"); + for (var each of this.merchantOption) { + this.xmlAddChild(node, "sixml:MerchantOption", each); + } + return node; +}; +timapi.protocol.sixml.NativeError = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.NativeError) { + var value = a; + this.errorCode = value.errorCode; + this.errorMessage = value.errorMessage; + this.errorSource = value.errorSource; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "ErrorCode")) { + this.errorCode = (this.xmlGetAttribute(node, "ErrorCode") ? parseInt(this.xmlGetAttribute(node, "ErrorCode")) : 0); + } + if (this.xmlHasAttribute(node, "ErrorMessage")) { + this.errorMessage = this.xmlGetAttribute(node, "ErrorMessage"); + } + if (this.xmlHasAttribute(node, "ErrorSource")) { + this.errorSource = this.xmlGetAttribute(node, "ErrorSource"); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.NativeError.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.NativeError.prototype.errorCode = undefined; +timapi.protocol.sixml.NativeError.prototype.errorMessage = undefined; +timapi.protocol.sixml.NativeError.prototype.errorSource = undefined; +timapi.protocol.sixml.NativeError.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:NativeError"); + if (this.errorCode != undefined) { + this.xmlSetAttribute(node, "ErrorCode", timapi.utils.StringHelper.makeString(this.errorCode)); + } + if (this.errorMessage != undefined) { + this.xmlSetAttribute(node, "ErrorMessage", this.errorMessage); + } + if (this.errorSource != undefined) { + this.xmlSetAttribute(node, "ErrorSource", this.errorSource); + } + return node; +}; +timapi.protocol.sixml.NetworkInformation = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.NetworkInformation) { + var value = a; + this.terminalIp = value.terminalIp; + this.terminalIpMask = value.terminalIpMask; + this.terminalIpGw = value.terminalIpGw; + this.terminalIpDns = value.terminalIpDns; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "TerminalIp")) { + this.terminalIp = this.xmlGetAttribute(node, "TerminalIp"); + } + if (this.xmlHasAttribute(node, "TerminalIpMask")) { + this.terminalIpMask = this.xmlGetAttribute(node, "TerminalIpMask"); + } + if (this.xmlHasAttribute(node, "TerminalIpGw")) { + this.terminalIpGw = this.xmlGetAttribute(node, "TerminalIpGw"); + } + if (this.xmlHasAttribute(node, "TerminalIpDns")) { + this.terminalIpDns = this.xmlGetAttribute(node, "TerminalIpDns"); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.NetworkInformation.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.NetworkInformation.prototype.terminalIp = undefined; +timapi.protocol.sixml.NetworkInformation.prototype.terminalIpMask = undefined; +timapi.protocol.sixml.NetworkInformation.prototype.terminalIpGw = undefined; +timapi.protocol.sixml.NetworkInformation.prototype.terminalIpDns = undefined; +timapi.protocol.sixml.NetworkInformation.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:NetworkInformation"); + if (this.terminalIp != undefined) { + this.xmlSetAttribute(node, "TerminalIp", this.terminalIp); + } + if (this.terminalIpMask != undefined) { + this.xmlSetAttribute(node, "TerminalIpMask", this.terminalIpMask); + } + if (this.terminalIpGw != undefined) { + this.xmlSetAttribute(node, "TerminalIpGw", this.terminalIpGw); + } + if (this.terminalIpDns != undefined) { + this.xmlSetAttribute(node, "TerminalIpDns", this.terminalIpDns); + } + return node; +}; +timapi.protocol.sixml.Notification = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Notification) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + return; + } + if (arguments.length == 0) { + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Notification.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Notification.prototype.functionGroup = undefined; +timapi.protocol.sixml.Notification.prototype.function = undefined; +timapi.protocol.sixml.Notification.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Notification"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + return node; +}; +timapi.protocol.sixml.Notification_Cancel = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Notification_Cancel) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.retainCardFlag = value.retainCardFlag; + this.silentFlag = value.silentFlag; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasChild(node, "sixml:RetainCardFlag")) { + this.retainCardFlag = this.xmlGetChild(node, "sixml:RetainCardFlag").textContent == "1"; + } + if (this.xmlHasChild(node, "sixml:SilentFlag")) { + this.silentFlag = this.xmlGetChild(node, "sixml:SilentFlag").textContent == "1"; + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "NonFinTransaction"; + this.function = "Cancel"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Notification_Cancel.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Notification_Cancel.prototype.functionGroup = undefined; +timapi.protocol.sixml.Notification_Cancel.prototype.function = undefined; +timapi.protocol.sixml.Notification_Cancel.prototype.retainCardFlag = undefined; +timapi.protocol.sixml.Notification_Cancel.prototype.silentFlag = undefined; +timapi.protocol.sixml.Notification_Cancel.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Notification"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.retainCardFlag != undefined) { + this.xmlAddChild(node, "sixml:RetainCardFlag", (this.retainCardFlag ? "1" : "0")); + } + if (this.silentFlag != undefined) { + this.xmlAddChild(node, "sixml:SilentFlag", (this.silentFlag ? "1" : "0")); + } + return node; +}; +timapi.protocol.sixml.Notification_HoldCommit = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Notification_HoldCommit) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "NonFinTransaction"; + this.function = "HoldCommit"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Notification_HoldCommit.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Notification_HoldCommit.prototype.functionGroup = undefined; +timapi.protocol.sixml.Notification_HoldCommit.prototype.function = undefined; +timapi.protocol.sixml.Notification_HoldCommit.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Notification"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + return node; +}; +timapi.protocol.sixml.Notification_KeepAlive = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Notification_KeepAlive) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Status"; + this.function = "KeepAlive"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Notification_KeepAlive.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Notification_KeepAlive.prototype.functionGroup = undefined; +timapi.protocol.sixml.Notification_KeepAlive.prototype.function = undefined; +timapi.protocol.sixml.Notification_KeepAlive.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Notification"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + return node; +}; +timapi.protocol.sixml.Notification_LicenseChanged = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Notification_LicenseChanged) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.license = value.license; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasChild(node, "sixml:License")) { + this.license = (this.xmlGetChild(node, "sixml:License").textContent ? parseInt(this.xmlGetChild(node, "sixml:License").textContent) : 0); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Status"; + this.function = "LicenseChanged"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Notification_LicenseChanged.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Notification_LicenseChanged.prototype.functionGroup = undefined; +timapi.protocol.sixml.Notification_LicenseChanged.prototype.function = undefined; +timapi.protocol.sixml.Notification_LicenseChanged.prototype.license = undefined; +timapi.protocol.sixml.Notification_LicenseChanged.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Notification"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.license != undefined) { + this.xmlAddChild(node, "sixml:License", timapi.utils.StringHelper.makeString(this.license)); + } + return node; +}; +timapi.protocol.sixml.Notification_TerminalStatus = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Notification_TerminalStatus) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.displayContent = value.displayContent ? new timapi.protocol.sixml.DisplayContent(value.displayContent) : undefined; + this.cardReaderStatus = value.cardReaderStatus; + this.transactionStatus = value.transactionStatus; + this.connectionStatus = value.connectionStatus; + this.managementStatus = value.managementStatus; + this.sleepModeStatus = value.sleepModeStatus; + this.receiptInformation = value.receiptInformation; + this.cardData = value.cardData ? new timapi.protocol.sixml.CardData(value.cardData) : undefined; + this.swUpdateAvailable = value.swUpdateAvailable; + this.terminalId = value.terminalId; + this.finalAmount = value.finalAmount ? new timapi.protocol.sixml.FinalAmount(value.finalAmount) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasChild(node, "sixml:DisplayContent")) { + this.displayContent = new timapi.protocol.sixml.DisplayContent(this.xmlGetChild(node, "sixml:DisplayContent")); + } + if (this.xmlHasChild(node, "sixml:CardReaderStatus")) { + this.cardReaderStatus = this.xmlGetChild(node, "sixml:CardReaderStatus").textContent; + } + if (this.xmlHasChild(node, "sixml:TransactionStatus")) { + this.transactionStatus = this.xmlGetChild(node, "sixml:TransactionStatus").textContent; + } + if (this.xmlHasChild(node, "sixml:ConnectionStatus")) { + this.connectionStatus = this.xmlGetChild(node, "sixml:ConnectionStatus").textContent; + } + if (this.xmlHasChild(node, "sixml:ManagementStatus")) { + this.managementStatus = this.xmlGetChild(node, "sixml:ManagementStatus").textContent; + } + if (this.xmlHasChild(node, "sixml:SleepModeStatus")) { + this.sleepModeStatus = this.xmlGetChild(node, "sixml:SleepModeStatus").textContent; + } + if (this.xmlHasChild(node, "sixml:ReceiptInformation")) { + this.receiptInformation = this.xmlGetChild(node, "sixml:ReceiptInformation").textContent == "1"; + } + if (this.xmlHasChild(node, "sixml:CardData")) { + this.cardData = new timapi.protocol.sixml.CardData(this.xmlGetChild(node, "sixml:CardData")); + } + if (this.xmlHasChild(node, "sixml:SwUpdateAvailable")) { + this.swUpdateAvailable = this.xmlGetChild(node, "sixml:SwUpdateAvailable").textContent == "1"; + } + if (this.xmlHasChild(node, "sixml:TerminalId")) { + this.terminalId = this.xmlGetChild(node, "sixml:TerminalId").textContent; + } + if (this.xmlHasChild(node, "sixml:FinalAmount")) { + this.finalAmount = new timapi.protocol.sixml.FinalAmount(this.xmlGetChild(node, "sixml:FinalAmount")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Status"; + this.function = "TerminalStatus"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Notification_TerminalStatus.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Notification_TerminalStatus.prototype.functionGroup = undefined; +timapi.protocol.sixml.Notification_TerminalStatus.prototype.function = undefined; +timapi.protocol.sixml.Notification_TerminalStatus.prototype.displayContent = undefined; +timapi.protocol.sixml.Notification_TerminalStatus.prototype.cardReaderStatus = undefined; +timapi.protocol.sixml.Notification_TerminalStatus.prototype.transactionStatus = undefined; +timapi.protocol.sixml.Notification_TerminalStatus.prototype.connectionStatus = undefined; +timapi.protocol.sixml.Notification_TerminalStatus.prototype.managementStatus = undefined; +timapi.protocol.sixml.Notification_TerminalStatus.prototype.sleepModeStatus = undefined; +timapi.protocol.sixml.Notification_TerminalStatus.prototype.receiptInformation = undefined; +timapi.protocol.sixml.Notification_TerminalStatus.prototype.cardData = undefined; +timapi.protocol.sixml.Notification_TerminalStatus.prototype.swUpdateAvailable = undefined; +timapi.protocol.sixml.Notification_TerminalStatus.prototype.terminalId = undefined; +timapi.protocol.sixml.Notification_TerminalStatus.prototype.finalAmount = undefined; +timapi.protocol.sixml.Notification_TerminalStatus.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Notification"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.displayContent != undefined) { + this.xmlAddChild(node, "sixml:DisplayContent", this.displayContent); + } + if (this.cardReaderStatus != undefined) { + this.xmlAddChild(node, "sixml:CardReaderStatus", this.cardReaderStatus); + } + if (this.transactionStatus != undefined) { + this.xmlAddChild(node, "sixml:TransactionStatus", this.transactionStatus); + } + if (this.connectionStatus != undefined) { + this.xmlAddChild(node, "sixml:ConnectionStatus", this.connectionStatus); + } + if (this.managementStatus != undefined) { + this.xmlAddChild(node, "sixml:ManagementStatus", this.managementStatus); + } + if (this.sleepModeStatus != undefined) { + this.xmlAddChild(node, "sixml:SleepModeStatus", this.sleepModeStatus); + } + if (this.receiptInformation != undefined) { + this.xmlAddChild(node, "sixml:ReceiptInformation", (this.receiptInformation ? "1" : "0")); + } + if (this.cardData != undefined) { + this.xmlAddChild(node, "sixml:CardData", this.cardData); + } + if (this.swUpdateAvailable != undefined) { + this.xmlAddChild(node, "sixml:SwUpdateAvailable", (this.swUpdateAvailable ? "1" : "0")); + } + if (this.terminalId != undefined) { + this.xmlAddChild(node, "sixml:TerminalId", this.terminalId); + } + if (this.finalAmount != undefined) { + this.xmlAddChild(node, "sixml:FinalAmount", this.finalAmount); + } + return node; +}; +timapi.protocol.sixml.PlaceholderItem = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.PlaceholderItem) { + var value = a; + this.value = value.value; + this.placeholderNumber = value.placeholderNumber; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + this.value = node.textContent; + if (this.xmlHasAttribute(node, "PlaceholderNumber")) { + this.placeholderNumber = (this.xmlGetAttribute(node, "PlaceholderNumber") ? parseInt(this.xmlGetAttribute(node, "PlaceholderNumber")) : 0); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.PlaceholderItem.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.PlaceholderItem.prototype.value = ""; +timapi.protocol.sixml.PlaceholderItem.prototype.placeholderNumber = undefined; +timapi.protocol.sixml.PlaceholderItem.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:PlaceholderItem"); + node.textContent = this.value; + if (this.placeholderNumber != undefined) { + this.xmlSetAttribute(node, "PlaceholderNumber", timapi.utils.StringHelper.makeString(this.placeholderNumber)); + } + return node; +}; +timapi.protocol.sixml.PlaceholderItemList = function (a) { + this.placeholderItem = []; + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.PlaceholderItemList) { + var value = a; + for (var each of value.placeholderItem) { + this.placeholderItem.push(each ? new timapi.protocol.sixml.PlaceholderItem(each) : undefined); + } + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + for (var each of this.xmlGetChildren(node, "sixml:PlaceholderItem")) { + this.placeholderItem.push(new timapi.protocol.sixml.PlaceholderItem(each)); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.PlaceholderItemList.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.PlaceholderItemList.prototype.placeholderItem = undefined; +timapi.protocol.sixml.PlaceholderItemList.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:PlaceholderItemList"); + for (var each of this.placeholderItem) { + this.xmlAddChild(node, "sixml:PlaceholderItem", each); + } + return node; +}; +timapi.protocol.sixml.PpInfo = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.PpInfo) { + var value = a; + this.paymentProtocol = value.paymentProtocol; + this.ppEp2transSeqCntOrig = value.ppEp2transSeqCntOrig; + this.ppEp2transSeqCnt = value.ppEp2transSeqCnt; + this.ppEp2authReslt = value.ppEp2authReslt; + this.ppEp2authRespC = value.ppEp2authRespC; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "PaymentProtocol")) { + this.paymentProtocol = this.xmlGetAttribute(node, "PaymentProtocol"); + } + if (this.xmlHasAttribute(node, "PpEp2TransSeqCntOrig")) { + this.ppEp2transSeqCntOrig = (this.xmlGetAttribute(node, "PpEp2TransSeqCntOrig") ? parseInt(this.xmlGetAttribute(node, "PpEp2TransSeqCntOrig")) : 0); + } + if (this.xmlHasAttribute(node, "PpEp2TransSeqCnt")) { + this.ppEp2transSeqCnt = (this.xmlGetAttribute(node, "PpEp2TransSeqCnt") ? parseInt(this.xmlGetAttribute(node, "PpEp2TransSeqCnt")) : 0); + } + if (this.xmlHasAttribute(node, "PpEp2AuthReslt")) { + this.ppEp2authReslt = (this.xmlGetAttribute(node, "PpEp2AuthReslt") ? parseInt(this.xmlGetAttribute(node, "PpEp2AuthReslt")) : 0); + } + if (this.xmlHasAttribute(node, "PpEp2AuthRespC")) { + this.ppEp2authRespC = this.xmlGetAttribute(node, "PpEp2AuthRespC"); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.PpInfo.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.PpInfo.prototype.paymentProtocol = undefined; +timapi.protocol.sixml.PpInfo.prototype.ppEp2transSeqCntOrig = undefined; +timapi.protocol.sixml.PpInfo.prototype.ppEp2transSeqCnt = undefined; +timapi.protocol.sixml.PpInfo.prototype.ppEp2authReslt = undefined; +timapi.protocol.sixml.PpInfo.prototype.ppEp2authRespC = undefined; +timapi.protocol.sixml.PpInfo.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:PpInfo"); + if (this.paymentProtocol != undefined) { + this.xmlSetAttribute(node, "PaymentProtocol", this.paymentProtocol); + } + if (this.ppEp2transSeqCntOrig != undefined) { + this.xmlSetAttribute(node, "PpEp2TransSeqCntOrig", timapi.utils.StringHelper.makeString(this.ppEp2transSeqCntOrig)); + } + if (this.ppEp2transSeqCnt != undefined) { + this.xmlSetAttribute(node, "PpEp2TransSeqCnt", timapi.utils.StringHelper.makeString(this.ppEp2transSeqCnt)); + } + if (this.ppEp2authReslt != undefined) { + this.xmlSetAttribute(node, "PpEp2AuthReslt", timapi.utils.StringHelper.makeString(this.ppEp2authReslt)); + } + if (this.ppEp2authRespC != undefined) { + this.xmlSetAttribute(node, "PpEp2AuthRespC", this.ppEp2authRespC); + } + return node; +}; +timapi.protocol.sixml.PrintData = function (a) { + this.receipt = []; + this.receiptItems = []; + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.PrintData) { + var value = a; + for (var each of value.receipt) { + this.receipt.push(each ? new timapi.protocol.sixml.Receipt(each) : undefined); + } + for (var each of value.receiptItems) { + this.receiptItems.push(each ? new timapi.protocol.sixml.ReceiptItems(each) : undefined); + } + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + for (var each of this.xmlGetChildren(node, "sixml:Receipt")) { + this.receipt.push(new timapi.protocol.sixml.Receipt(each)); + } + for (var each of this.xmlGetChildren(node, "sixml:ReceiptItems")) { + this.receiptItems.push(new timapi.protocol.sixml.ReceiptItems(each)); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.PrintData.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.PrintData.prototype.receipt = undefined; +timapi.protocol.sixml.PrintData.prototype.receiptItems = undefined; +timapi.protocol.sixml.PrintData.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:PrintData"); + for (var each of this.receipt) { + this.xmlAddChild(node, "sixml:Receipt", each); + } + for (var each of this.receiptItems) { + this.xmlAddChild(node, "sixml:ReceiptItems", each); + } + return node; +}; +timapi.protocol.sixml.PrintOptionList = function (a) { + this.printOptions = []; + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.PrintOptionList) { + var value = a; + for (var each of value.printOptions) { + this.printOptions.push(each ? new timapi.protocol.sixml.PrintOptions(each) : undefined); + } + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + for (var each of this.xmlGetChildren(node, "sixml:PrintOptions")) { + this.printOptions.push(new timapi.protocol.sixml.PrintOptions(each)); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.PrintOptionList.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.PrintOptionList.prototype.printOptions = undefined; +timapi.protocol.sixml.PrintOptionList.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:PrintOptionList"); + for (var each of this.printOptions) { + this.xmlAddChild(node, "sixml:PrintOptions", each); + } + return node; +}; +timapi.protocol.sixml.PrintOptions = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.PrintOptions) { + var value = a; + this.recipient = value.recipient; + this.printFormat = value.printFormat; + this.printWidth = value.printWidth; + this.printFlags = value.printFlags; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "Recipient")) { + this.recipient = this.xmlGetAttribute(node, "Recipient"); + } + if (this.xmlHasAttribute(node, "PrintFormat")) { + this.printFormat = this.xmlGetAttribute(node, "PrintFormat"); + } + if (this.xmlHasAttribute(node, "PrintWidth")) { + this.printWidth = (this.xmlGetAttribute(node, "PrintWidth") ? parseInt(this.xmlGetAttribute(node, "PrintWidth")) : 0); + } + if (this.xmlHasAttribute(node, "PrintFlags")) { + this.printFlags = (this.xmlGetAttribute(node, "PrintFlags") ? parseInt(this.xmlGetAttribute(node, "PrintFlags")) : 0); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.PrintOptions.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.PrintOptions.prototype.recipient = undefined; +timapi.protocol.sixml.PrintOptions.prototype.printFormat = undefined; +timapi.protocol.sixml.PrintOptions.prototype.printWidth = undefined; +timapi.protocol.sixml.PrintOptions.prototype.printFlags = undefined; +timapi.protocol.sixml.PrintOptions.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:PrintOptions"); + if (this.recipient != undefined) { + this.xmlSetAttribute(node, "Recipient", this.recipient); + } + if (this.printFormat != undefined) { + this.xmlSetAttribute(node, "PrintFormat", this.printFormat); + } + if (this.printWidth != undefined) { + this.xmlSetAttribute(node, "PrintWidth", timapi.utils.StringHelper.makeString(this.printWidth)); + } + if (this.printFlags != undefined) { + this.xmlSetAttribute(node, "PrintFlags", timapi.utils.StringHelper.makeString(this.printFlags)); + } + return node; +}; +timapi.protocol.sixml.ProtocolOption = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.ProtocolOption) { + var value = a; + this.value = value.value; + this.optionType = value.optionType; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + this.value = node.textContent; + if (this.xmlHasAttribute(node, "OptionType")) { + this.optionType = this.xmlGetAttribute(node, "OptionType"); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.ProtocolOption.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.ProtocolOption.prototype.value = ""; +timapi.protocol.sixml.ProtocolOption.prototype.optionType = undefined; +timapi.protocol.sixml.ProtocolOption.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:ProtocolOption"); + node.textContent = this.value; + if (this.optionType != undefined) { + this.xmlSetAttribute(node, "OptionType", this.optionType); + } + return node; +}; +timapi.protocol.sixml.ProtocolOptionList = function (a) { + this.protocolOption = []; + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.ProtocolOptionList) { + var value = a; + for (var each of value.protocolOption) { + this.protocolOption.push(each ? new timapi.protocol.sixml.ProtocolOption(each) : undefined); + } + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + for (var each of this.xmlGetChildren(node, "sixml:ProtocolOption")) { + this.protocolOption.push(new timapi.protocol.sixml.ProtocolOption(each)); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.ProtocolOptionList.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.ProtocolOptionList.prototype.protocolOption = undefined; +timapi.protocol.sixml.ProtocolOptionList.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:ProtocolOptionList"); + for (var each of this.protocolOption) { + this.xmlAddChild(node, "sixml:ProtocolOption", each); + } + return node; +}; +timapi.protocol.sixml.Receipt = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Receipt) { + var value = a; + this.value = value.value; + this.recipient = value.recipient; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + this.value = node.textContent; + if (this.xmlHasAttribute(node, "Recipient")) { + this.recipient = this.xmlGetAttribute(node, "Recipient"); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.Receipt.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.Receipt.prototype.value = ""; +timapi.protocol.sixml.Receipt.prototype.recipient = undefined; +timapi.protocol.sixml.Receipt.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Receipt"); + node.textContent = this.value; + if (this.recipient != undefined) { + this.xmlSetAttribute(node, "Recipient", this.recipient); + } + return node; +}; +timapi.protocol.sixml.ReceiptHeader = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.ReceiptHeader) { + var value = a; + this.value = value.value; + this.lineNum = value.lineNum; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + this.value = node.textContent; + if (this.xmlHasAttribute(node, "LineNum")) { + this.lineNum = (this.xmlGetAttribute(node, "LineNum") ? parseInt(this.xmlGetAttribute(node, "LineNum")) : 0); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.ReceiptHeader.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.ReceiptHeader.prototype.value = ""; +timapi.protocol.sixml.ReceiptHeader.prototype.lineNum = undefined; +timapi.protocol.sixml.ReceiptHeader.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:ReceiptHeader"); + node.textContent = this.value; + if (this.lineNum != undefined) { + this.xmlSetAttribute(node, "LineNum", timapi.utils.StringHelper.makeString(this.lineNum)); + } + return node; +}; +timapi.protocol.sixml.ReceiptItem = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.ReceiptItem) { + var value = a; + this.value = value.value; + this.receiptItemType = value.receiptItemType; + this.recipient = value.recipient; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + this.value = node.textContent; + if (this.xmlHasAttribute(node, "ReceiptItemType")) { + this.receiptItemType = this.xmlGetAttribute(node, "ReceiptItemType"); + } + if (this.xmlHasAttribute(node, "Recipient")) { + this.recipient = this.xmlGetAttribute(node, "Recipient"); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.ReceiptItem.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.ReceiptItem.prototype.value = ""; +timapi.protocol.sixml.ReceiptItem.prototype.receiptItemType = undefined; +timapi.protocol.sixml.ReceiptItem.prototype.recipient = undefined; +timapi.protocol.sixml.ReceiptItem.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:ReceiptItem"); + node.textContent = this.value; + if (this.receiptItemType != undefined) { + this.xmlSetAttribute(node, "ReceiptItemType", this.receiptItemType); + } + if (this.recipient != undefined) { + this.xmlSetAttribute(node, "Recipient", this.recipient); + } + return node; +}; +timapi.protocol.sixml.ReceiptItems = function (a) { + this.receiptItem = []; + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.ReceiptItems) { + var value = a; + this.receiptType = value.receiptType; + for (var each of value.receiptItem) { + this.receiptItem.push(each ? new timapi.protocol.sixml.ReceiptItem(each) : undefined); + } + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "ReceiptType")) { + this.receiptType = this.xmlGetAttribute(node, "ReceiptType"); + } + for (var each of this.xmlGetChildren(node, "sixml:ReceiptItem")) { + this.receiptItem.push(new timapi.protocol.sixml.ReceiptItem(each)); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.ReceiptItems.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.ReceiptItems.prototype.receiptType = undefined; +timapi.protocol.sixml.ReceiptItems.prototype.receiptItem = undefined; +timapi.protocol.sixml.ReceiptItems.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:ReceiptItems"); + if (this.receiptType != undefined) { + this.xmlSetAttribute(node, "ReceiptType", this.receiptType); + } + for (var each of this.receiptItem) { + this.xmlAddChild(node, "sixml:ReceiptItem", each); + } + return node; +}; +timapi.protocol.sixml.Request = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.repeat = value.repeat; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "Repeat")) { + this.repeat = (this.xmlGetAttribute(node, "Repeat") ? parseInt(this.xmlGetAttribute(node, "Repeat")) : 0); + } + return; + } + if (arguments.length == 0) { + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request.prototype.function = undefined; +timapi.protocol.sixml.Request.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request.prototype.repeat = undefined; +timapi.protocol.sixml.Request.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.repeat != undefined) { + this.xmlSetAttribute(node, "Repeat", timapi.utils.StringHelper.makeString(this.repeat)); + } + return node; +}; +timapi.protocol.sixml.Request_Activate = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_Activate) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.usrId = value.usrId; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasChild(node, "sixml:UsrId")) { + this.usrId = (this.xmlGetChild(node, "sixml:UsrId").textContent ? parseInt(this.xmlGetChild(node, "sixml:UsrId").textContent) : 0); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "Activate"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_Activate.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_Activate.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_Activate.prototype.function = undefined; +timapi.protocol.sixml.Request_Activate.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_Activate.prototype.usrId = undefined; +timapi.protocol.sixml.Request_Activate.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.usrId != undefined) { + this.xmlAddChild(node, "sixml:UsrId", timapi.utils.StringHelper.makeString(this.usrId)); + } + return node; +}; +timapi.protocol.sixml.Request_ActivateServiceMenu = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_ActivateServiceMenu) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "ActivateServiceMenu"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_ActivateServiceMenu.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_ActivateServiceMenu.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_ActivateServiceMenu.prototype.function = undefined; +timapi.protocol.sixml.Request_ActivateServiceMenu.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_ActivateServiceMenu.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + return node; +}; +timapi.protocol.sixml.Request_AdjustReservation = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_AdjustReservation) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.transactionData = value.transactionData ? new timapi.protocol.sixml.TransactionData(value.transactionData) : undefined; + this.merchantOptionList = value.merchantOptionList ? new timapi.protocol.sixml.MerchantOptionList(value.merchantOptionList) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:TransactionData")) { + this.transactionData = new timapi.protocol.sixml.TransactionData(this.xmlGetChild(node, "sixml:TransactionData")); + } + if (this.xmlHasChild(node, "sixml:MerchantOptionList")) { + this.merchantOptionList = new timapi.protocol.sixml.MerchantOptionList(this.xmlGetChild(node, "sixml:MerchantOptionList")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "NonFinTransaction"; + this.function = "AdjustReservation"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_AdjustReservation.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_AdjustReservation.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_AdjustReservation.prototype.function = undefined; +timapi.protocol.sixml.Request_AdjustReservation.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_AdjustReservation.prototype.amount = undefined; +timapi.protocol.sixml.Request_AdjustReservation.prototype.transactionData = undefined; +timapi.protocol.sixml.Request_AdjustReservation.prototype.merchantOptionList = undefined; +timapi.protocol.sixml.Request_AdjustReservation.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.transactionData != undefined) { + this.xmlAddChild(node, "sixml:TransactionData", this.transactionData); + } + if (this.merchantOptionList != undefined) { + this.xmlAddChild(node, "sixml:MerchantOptionList", this.merchantOptionList); + } + return node; +}; +timapi.protocol.sixml.Request_ApplicationInformation = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_ApplicationInformation) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Status"; + this.function = "ApplicationInformation"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_ApplicationInformation.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_ApplicationInformation.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_ApplicationInformation.prototype.function = undefined; +timapi.protocol.sixml.Request_ApplicationInformation.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_ApplicationInformation.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + return node; +}; +timapi.protocol.sixml.Request_AuthorizeCredit = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_AuthorizeCredit) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.transactionData = value.transactionData ? new timapi.protocol.sixml.TransactionData(value.transactionData) : undefined; + this.merchantOptionList = value.merchantOptionList ? new timapi.protocol.sixml.MerchantOptionList(value.merchantOptionList) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:TransactionData")) { + this.transactionData = new timapi.protocol.sixml.TransactionData(this.xmlGetChild(node, "sixml:TransactionData")); + } + if (this.xmlHasChild(node, "sixml:MerchantOptionList")) { + this.merchantOptionList = new timapi.protocol.sixml.MerchantOptionList(this.xmlGetChild(node, "sixml:MerchantOptionList")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "AuthorizeCredit"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_AuthorizeCredit.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_AuthorizeCredit.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_AuthorizeCredit.prototype.function = undefined; +timapi.protocol.sixml.Request_AuthorizeCredit.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_AuthorizeCredit.prototype.amount = undefined; +timapi.protocol.sixml.Request_AuthorizeCredit.prototype.transactionData = undefined; +timapi.protocol.sixml.Request_AuthorizeCredit.prototype.merchantOptionList = undefined; +timapi.protocol.sixml.Request_AuthorizeCredit.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.transactionData != undefined) { + this.xmlAddChild(node, "sixml:TransactionData", this.transactionData); + } + if (this.merchantOptionList != undefined) { + this.xmlAddChild(node, "sixml:MerchantOptionList", this.merchantOptionList); + } + return node; +}; +timapi.protocol.sixml.Request_AuthorizeDeposit = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_AuthorizeDeposit) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.transactionData = value.transactionData ? new timapi.protocol.sixml.TransactionData(value.transactionData) : undefined; + this.merchantOptionList = value.merchantOptionList ? new timapi.protocol.sixml.MerchantOptionList(value.merchantOptionList) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:TransactionData")) { + this.transactionData = new timapi.protocol.sixml.TransactionData(this.xmlGetChild(node, "sixml:TransactionData")); + } + if (this.xmlHasChild(node, "sixml:MerchantOptionList")) { + this.merchantOptionList = new timapi.protocol.sixml.MerchantOptionList(this.xmlGetChild(node, "sixml:MerchantOptionList")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "AuthorizeDeposit"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_AuthorizeDeposit.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_AuthorizeDeposit.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_AuthorizeDeposit.prototype.function = undefined; +timapi.protocol.sixml.Request_AuthorizeDeposit.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_AuthorizeDeposit.prototype.amount = undefined; +timapi.protocol.sixml.Request_AuthorizeDeposit.prototype.transactionData = undefined; +timapi.protocol.sixml.Request_AuthorizeDeposit.prototype.merchantOptionList = undefined; +timapi.protocol.sixml.Request_AuthorizeDeposit.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.transactionData != undefined) { + this.xmlAddChild(node, "sixml:TransactionData", this.transactionData); + } + if (this.merchantOptionList != undefined) { + this.xmlAddChild(node, "sixml:MerchantOptionList", this.merchantOptionList); + } + return node; +}; +timapi.protocol.sixml.Request_Balance = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_Balance) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "Balance"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_Balance.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_Balance.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_Balance.prototype.function = undefined; +timapi.protocol.sixml.Request_Balance.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_Balance.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + return node; +}; +timapi.protocol.sixml.Request_BalanceInquiry = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_BalanceInquiry) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.language = value.language; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasChild(node, "sixml:Language")) { + this.language = this.xmlGetChild(node, "sixml:Language").textContent; + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "NonFinTransaction"; + this.function = "BalanceInquiry"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_BalanceInquiry.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_BalanceInquiry.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_BalanceInquiry.prototype.function = undefined; +timapi.protocol.sixml.Request_BalanceInquiry.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_BalanceInquiry.prototype.language = undefined; +timapi.protocol.sixml.Request_BalanceInquiry.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.language != undefined) { + this.xmlAddChild(node, "sixml:Language", this.language); + } + return node; +}; +timapi.protocol.sixml.Request_CancelReservation = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_CancelReservation) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.transactionData = value.transactionData ? new timapi.protocol.sixml.TransactionData(value.transactionData) : undefined; + this.merchantOptionList = value.merchantOptionList ? new timapi.protocol.sixml.MerchantOptionList(value.merchantOptionList) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasChild(node, "sixml:TransactionData")) { + this.transactionData = new timapi.protocol.sixml.TransactionData(this.xmlGetChild(node, "sixml:TransactionData")); + } + if (this.xmlHasChild(node, "sixml:MerchantOptionList")) { + this.merchantOptionList = new timapi.protocol.sixml.MerchantOptionList(this.xmlGetChild(node, "sixml:MerchantOptionList")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "NonFinTransaction"; + this.function = "CancelReservation"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_CancelReservation.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_CancelReservation.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_CancelReservation.prototype.function = undefined; +timapi.protocol.sixml.Request_CancelReservation.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_CancelReservation.prototype.transactionData = undefined; +timapi.protocol.sixml.Request_CancelReservation.prototype.merchantOptionList = undefined; +timapi.protocol.sixml.Request_CancelReservation.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.transactionData != undefined) { + this.xmlAddChild(node, "sixml:TransactionData", this.transactionData); + } + if (this.merchantOptionList != undefined) { + this.xmlAddChild(node, "sixml:MerchantOptionList", this.merchantOptionList); + } + return node; +}; +timapi.protocol.sixml.Request_CashAdvance = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_CashAdvance) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.usrId = value.usrId; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.transactionData = value.transactionData ? new timapi.protocol.sixml.TransactionData(value.transactionData) : undefined; + this.merchantOptionList = value.merchantOptionList ? new timapi.protocol.sixml.MerchantOptionList(value.merchantOptionList) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasChild(node, "sixml:UsrId")) { + this.usrId = (this.xmlGetChild(node, "sixml:UsrId").textContent ? parseInt(this.xmlGetChild(node, "sixml:UsrId").textContent) : 0); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:TransactionData")) { + this.transactionData = new timapi.protocol.sixml.TransactionData(this.xmlGetChild(node, "sixml:TransactionData")); + } + if (this.xmlHasChild(node, "sixml:MerchantOptionList")) { + this.merchantOptionList = new timapi.protocol.sixml.MerchantOptionList(this.xmlGetChild(node, "sixml:MerchantOptionList")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "CashAdvance"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_CashAdvance.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_CashAdvance.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_CashAdvance.prototype.function = undefined; +timapi.protocol.sixml.Request_CashAdvance.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_CashAdvance.prototype.usrId = undefined; +timapi.protocol.sixml.Request_CashAdvance.prototype.amount = undefined; +timapi.protocol.sixml.Request_CashAdvance.prototype.transactionData = undefined; +timapi.protocol.sixml.Request_CashAdvance.prototype.merchantOptionList = undefined; +timapi.protocol.sixml.Request_CashAdvance.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.usrId != undefined) { + this.xmlAddChild(node, "sixml:UsrId", timapi.utils.StringHelper.makeString(this.usrId)); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.transactionData != undefined) { + this.xmlAddChild(node, "sixml:TransactionData", this.transactionData); + } + if (this.merchantOptionList != undefined) { + this.xmlAddChild(node, "sixml:MerchantOptionList", this.merchantOptionList); + } + return node; +}; +timapi.protocol.sixml.Request_ChangeSettings = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_ChangeSettings) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.settingsList = value.settingsList ? new timapi.protocol.sixml.SettingsList(value.settingsList) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasChild(node, "sixml:SettingsList")) { + this.settingsList = new timapi.protocol.sixml.SettingsList(this.xmlGetChild(node, "sixml:SettingsList")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "ChangeSettings"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_ChangeSettings.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_ChangeSettings.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_ChangeSettings.prototype.function = undefined; +timapi.protocol.sixml.Request_ChangeSettings.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_ChangeSettings.prototype.settingsList = undefined; +timapi.protocol.sixml.Request_ChangeSettings.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.settingsList != undefined) { + this.xmlAddChild(node, "sixml:SettingsList", this.settingsList); + } + return node; +}; +timapi.protocol.sixml.Request_CloseDialogMode = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_CloseDialogMode) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "CloseDialogMode"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_CloseDialogMode.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_CloseDialogMode.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_CloseDialogMode.prototype.function = undefined; +timapi.protocol.sixml.Request_CloseDialogMode.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_CloseDialogMode.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + return node; +}; +timapi.protocol.sixml.Request_CloseMaintenanceWindow = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_CloseMaintenanceWindow) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "CloseMaintenanceWindow"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_CloseMaintenanceWindow.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_CloseMaintenanceWindow.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_CloseMaintenanceWindow.prototype.function = undefined; +timapi.protocol.sixml.Request_CloseMaintenanceWindow.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_CloseMaintenanceWindow.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + return node; +}; +timapi.protocol.sixml.Request_CloseReader = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_CloseReader) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "CloseReader"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_CloseReader.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_CloseReader.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_CloseReader.prototype.function = undefined; +timapi.protocol.sixml.Request_CloseReader.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_CloseReader.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + return node; +}; +timapi.protocol.sixml.Request_CollectPoints = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_CollectPoints) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.transactionData = value.transactionData ? new timapi.protocol.sixml.TransactionData(value.transactionData) : undefined; + this.merchantOptionList = value.merchantOptionList ? new timapi.protocol.sixml.MerchantOptionList(value.merchantOptionList) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:TransactionData")) { + this.transactionData = new timapi.protocol.sixml.TransactionData(this.xmlGetChild(node, "sixml:TransactionData")); + } + if (this.xmlHasChild(node, "sixml:MerchantOptionList")) { + this.merchantOptionList = new timapi.protocol.sixml.MerchantOptionList(this.xmlGetChild(node, "sixml:MerchantOptionList")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "CollectPoints"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_CollectPoints.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_CollectPoints.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_CollectPoints.prototype.function = undefined; +timapi.protocol.sixml.Request_CollectPoints.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_CollectPoints.prototype.amount = undefined; +timapi.protocol.sixml.Request_CollectPoints.prototype.transactionData = undefined; +timapi.protocol.sixml.Request_CollectPoints.prototype.merchantOptionList = undefined; +timapi.protocol.sixml.Request_CollectPoints.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.transactionData != undefined) { + this.xmlAddChild(node, "sixml:TransactionData", this.transactionData); + } + if (this.merchantOptionList != undefined) { + this.xmlAddChild(node, "sixml:MerchantOptionList", this.merchantOptionList); + } + return node; +}; +timapi.protocol.sixml.Request_Combined = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_Combined) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.amountOther = value.amountOther ? new timapi.protocol.sixml.AmountOther(value.amountOther) : undefined; + this.transactionData = value.transactionData ? new timapi.protocol.sixml.TransactionData(value.transactionData) : undefined; + this.merchantOptionList = value.merchantOptionList ? new timapi.protocol.sixml.MerchantOptionList(value.merchantOptionList) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:AmountOther")) { + this.amountOther = new timapi.protocol.sixml.AmountOther(this.xmlGetChild(node, "sixml:AmountOther")); + } + if (this.xmlHasChild(node, "sixml:TransactionData")) { + this.transactionData = new timapi.protocol.sixml.TransactionData(this.xmlGetChild(node, "sixml:TransactionData")); + } + if (this.xmlHasChild(node, "sixml:MerchantOptionList")) { + this.merchantOptionList = new timapi.protocol.sixml.MerchantOptionList(this.xmlGetChild(node, "sixml:MerchantOptionList")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "Combined"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_Combined.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_Combined.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_Combined.prototype.function = undefined; +timapi.protocol.sixml.Request_Combined.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_Combined.prototype.amount = undefined; +timapi.protocol.sixml.Request_Combined.prototype.amountOther = undefined; +timapi.protocol.sixml.Request_Combined.prototype.transactionData = undefined; +timapi.protocol.sixml.Request_Combined.prototype.merchantOptionList = undefined; +timapi.protocol.sixml.Request_Combined.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.amountOther != undefined) { + this.xmlAddChild(node, "sixml:AmountOther", this.amountOther); + } + if (this.transactionData != undefined) { + this.xmlAddChild(node, "sixml:TransactionData", this.transactionData); + } + if (this.merchantOptionList != undefined) { + this.xmlAddChild(node, "sixml:MerchantOptionList", this.merchantOptionList); + } + return node; +}; +timapi.protocol.sixml.Request_Commit = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_Commit) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.repeat = value.repeat; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "Repeat")) { + this.repeat = (this.xmlGetAttribute(node, "Repeat") ? parseInt(this.xmlGetAttribute(node, "Repeat")) : 0); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "Commit"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_Commit.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_Commit.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_Commit.prototype.function = undefined; +timapi.protocol.sixml.Request_Commit.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_Commit.prototype.repeat = undefined; +timapi.protocol.sixml.Request_Commit.prototype.amount = undefined; +timapi.protocol.sixml.Request_Commit.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.repeat != undefined) { + this.xmlSetAttribute(node, "Repeat", timapi.utils.StringHelper.makeString(this.repeat)); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + return node; +}; +timapi.protocol.sixml.Request_CounterRequest = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_CounterRequest) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.counterType = value.counterType; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasChild(node, "sixml:CounterType")) { + this.counterType = this.xmlGetChild(node, "sixml:CounterType").textContent; + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "CounterRequest"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_CounterRequest.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_CounterRequest.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_CounterRequest.prototype.function = undefined; +timapi.protocol.sixml.Request_CounterRequest.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_CounterRequest.prototype.counterType = undefined; +timapi.protocol.sixml.Request_CounterRequest.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.counterType != undefined) { + this.xmlAddChild(node, "sixml:CounterType", this.counterType); + } + return node; +}; +timapi.protocol.sixml.Request_Credit = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_Credit) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.usrId = value.usrId; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.transactionData = value.transactionData ? new timapi.protocol.sixml.TransactionData(value.transactionData) : undefined; + this.merchantOptionList = value.merchantOptionList ? new timapi.protocol.sixml.MerchantOptionList(value.merchantOptionList) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasChild(node, "sixml:UsrId")) { + this.usrId = (this.xmlGetChild(node, "sixml:UsrId").textContent ? parseInt(this.xmlGetChild(node, "sixml:UsrId").textContent) : 0); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:TransactionData")) { + this.transactionData = new timapi.protocol.sixml.TransactionData(this.xmlGetChild(node, "sixml:TransactionData")); + } + if (this.xmlHasChild(node, "sixml:MerchantOptionList")) { + this.merchantOptionList = new timapi.protocol.sixml.MerchantOptionList(this.xmlGetChild(node, "sixml:MerchantOptionList")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "Credit"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_Credit.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_Credit.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_Credit.prototype.function = undefined; +timapi.protocol.sixml.Request_Credit.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_Credit.prototype.usrId = undefined; +timapi.protocol.sixml.Request_Credit.prototype.amount = undefined; +timapi.protocol.sixml.Request_Credit.prototype.transactionData = undefined; +timapi.protocol.sixml.Request_Credit.prototype.merchantOptionList = undefined; +timapi.protocol.sixml.Request_Credit.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.usrId != undefined) { + this.xmlAddChild(node, "sixml:UsrId", timapi.utils.StringHelper.makeString(this.usrId)); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.transactionData != undefined) { + this.xmlAddChild(node, "sixml:TransactionData", this.transactionData); + } + if (this.merchantOptionList != undefined) { + this.xmlAddChild(node, "sixml:MerchantOptionList", this.merchantOptionList); + } + return node; +}; +timapi.protocol.sixml.Request_DccRates = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_DccRates) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "DccRates"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_DccRates.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_DccRates.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_DccRates.prototype.function = undefined; +timapi.protocol.sixml.Request_DccRates.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_DccRates.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + return node; +}; +timapi.protocol.sixml.Request_Deactivate = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_Deactivate) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "Deactivate"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_Deactivate.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_Deactivate.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_Deactivate.prototype.function = undefined; +timapi.protocol.sixml.Request_Deactivate.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_Deactivate.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + return node; +}; +timapi.protocol.sixml.Request_EjectCard = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_EjectCard) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "EjectCard"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_EjectCard.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_EjectCard.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_EjectCard.prototype.function = undefined; +timapi.protocol.sixml.Request_EjectCard.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_EjectCard.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + return node; +}; +timapi.protocol.sixml.Request_FeatureRequest = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_FeatureRequest) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Status"; + this.function = "FeatureRequest"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_FeatureRequest.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_FeatureRequest.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_FeatureRequest.prototype.function = undefined; +timapi.protocol.sixml.Request_FeatureRequest.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_FeatureRequest.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + return node; +}; +timapi.protocol.sixml.Request_FinalizePurchase = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_FinalizePurchase) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.transactionData = value.transactionData ? new timapi.protocol.sixml.TransactionData(value.transactionData) : undefined; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.basket = value.basket ? new timapi.protocol.sixml.Basket(value.basket) : undefined; + this.additionalInfoList = value.additionalInfoList ? new timapi.protocol.sixml.AdditionalInfoList(value.additionalInfoList) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasChild(node, "sixml:TransactionData")) { + this.transactionData = new timapi.protocol.sixml.TransactionData(this.xmlGetChild(node, "sixml:TransactionData")); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:Basket")) { + this.basket = new timapi.protocol.sixml.Basket(this.xmlGetChild(node, "sixml:Basket")); + } + if (this.xmlHasChild(node, "sixml:AdditionalInfoList")) { + this.additionalInfoList = new timapi.protocol.sixml.AdditionalInfoList(this.xmlGetChild(node, "sixml:AdditionalInfoList")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "FinalizePurchase"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_FinalizePurchase.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_FinalizePurchase.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_FinalizePurchase.prototype.function = undefined; +timapi.protocol.sixml.Request_FinalizePurchase.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_FinalizePurchase.prototype.transactionData = undefined; +timapi.protocol.sixml.Request_FinalizePurchase.prototype.amount = undefined; +timapi.protocol.sixml.Request_FinalizePurchase.prototype.basket = undefined; +timapi.protocol.sixml.Request_FinalizePurchase.prototype.additionalInfoList = undefined; +timapi.protocol.sixml.Request_FinalizePurchase.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.transactionData != undefined) { + this.xmlAddChild(node, "sixml:TransactionData", this.transactionData); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.basket != undefined) { + this.xmlAddChild(node, "sixml:Basket", this.basket); + } + if (this.additionalInfoList != undefined) { + this.xmlAddChild(node, "sixml:AdditionalInfoList", this.additionalInfoList); + } + return node; +}; +timapi.protocol.sixml.Request_Giro = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_Giro) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.language = value.language; + this.transactionData = value.transactionData ? new timapi.protocol.sixml.TransactionData(value.transactionData) : undefined; + this.merchantOptionList = value.merchantOptionList ? new timapi.protocol.sixml.MerchantOptionList(value.merchantOptionList) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:Language")) { + this.language = this.xmlGetChild(node, "sixml:Language").textContent; + } + if (this.xmlHasChild(node, "sixml:TransactionData")) { + this.transactionData = new timapi.protocol.sixml.TransactionData(this.xmlGetChild(node, "sixml:TransactionData")); + } + if (this.xmlHasChild(node, "sixml:MerchantOptionList")) { + this.merchantOptionList = new timapi.protocol.sixml.MerchantOptionList(this.xmlGetChild(node, "sixml:MerchantOptionList")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "Giro"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_Giro.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_Giro.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_Giro.prototype.function = undefined; +timapi.protocol.sixml.Request_Giro.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_Giro.prototype.amount = undefined; +timapi.protocol.sixml.Request_Giro.prototype.language = undefined; +timapi.protocol.sixml.Request_Giro.prototype.transactionData = undefined; +timapi.protocol.sixml.Request_Giro.prototype.merchantOptionList = undefined; +timapi.protocol.sixml.Request_Giro.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.language != undefined) { + this.xmlAddChild(node, "sixml:Language", this.language); + } + if (this.transactionData != undefined) { + this.xmlAddChild(node, "sixml:TransactionData", this.transactionData); + } + if (this.merchantOptionList != undefined) { + this.xmlAddChild(node, "sixml:MerchantOptionList", this.merchantOptionList); + } + return node; +}; +timapi.protocol.sixml.Request_HardwareInformation = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_HardwareInformation) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Status"; + this.function = "HardwareInformation"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_HardwareInformation.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_HardwareInformation.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_HardwareInformation.prototype.function = undefined; +timapi.protocol.sixml.Request_HardwareInformation.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_HardwareInformation.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + return node; +}; +timapi.protocol.sixml.Request_InitTransaction = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_InitTransaction) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.displayAmountFlag = value.displayAmountFlag; + this.language = value.language; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:DisplayAmountFlag")) { + this.displayAmountFlag = this.xmlGetChild(node, "sixml:DisplayAmountFlag").textContent == "1"; + } + if (this.xmlHasChild(node, "sixml:Language")) { + this.language = this.xmlGetChild(node, "sixml:Language").textContent; + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "NonFinTransaction"; + this.function = "InitTransaction"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_InitTransaction.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_InitTransaction.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_InitTransaction.prototype.function = undefined; +timapi.protocol.sixml.Request_InitTransaction.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_InitTransaction.prototype.amount = undefined; +timapi.protocol.sixml.Request_InitTransaction.prototype.displayAmountFlag = undefined; +timapi.protocol.sixml.Request_InitTransaction.prototype.language = undefined; +timapi.protocol.sixml.Request_InitTransaction.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.displayAmountFlag != undefined) { + this.xmlAddChild(node, "sixml:DisplayAmountFlag", (this.displayAmountFlag ? "1" : "0")); + } + if (this.language != undefined) { + this.xmlAddChild(node, "sixml:Language", this.language); + } + return node; +}; +timapi.protocol.sixml.Request_LoadVoucher = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_LoadVoucher) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.transactionData = value.transactionData ? new timapi.protocol.sixml.TransactionData(value.transactionData) : undefined; + this.merchantOptionList = value.merchantOptionList ? new timapi.protocol.sixml.MerchantOptionList(value.merchantOptionList) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:TransactionData")) { + this.transactionData = new timapi.protocol.sixml.TransactionData(this.xmlGetChild(node, "sixml:TransactionData")); + } + if (this.xmlHasChild(node, "sixml:MerchantOptionList")) { + this.merchantOptionList = new timapi.protocol.sixml.MerchantOptionList(this.xmlGetChild(node, "sixml:MerchantOptionList")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "LoadVoucher"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_LoadVoucher.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_LoadVoucher.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_LoadVoucher.prototype.function = undefined; +timapi.protocol.sixml.Request_LoadVoucher.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_LoadVoucher.prototype.amount = undefined; +timapi.protocol.sixml.Request_LoadVoucher.prototype.transactionData = undefined; +timapi.protocol.sixml.Request_LoadVoucher.prototype.merchantOptionList = undefined; +timapi.protocol.sixml.Request_LoadVoucher.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.transactionData != undefined) { + this.xmlAddChild(node, "sixml:TransactionData", this.transactionData); + } + if (this.merchantOptionList != undefined) { + this.xmlAddChild(node, "sixml:MerchantOptionList", this.merchantOptionList); + } + return node; +}; +timapi.protocol.sixml.Request_Login = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_Login) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.posId = value.posId; + this.integratorId = value.integratorId; + this.protocolOptionList = value.protocolOptionList ? new timapi.protocol.sixml.ProtocolOptionList(value.protocolOptionList) : undefined; + this.printOptionList = value.printOptionList ? new timapi.protocol.sixml.PrintOptionList(value.printOptionList) : undefined; + this.manufacturerFlags = value.manufacturerFlags; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasChild(node, "sixml:PosId")) { + this.posId = this.xmlGetChild(node, "sixml:PosId").textContent; + } + if (this.xmlHasChild(node, "sixml:IntegratorId")) { + this.integratorId = this.xmlGetChild(node, "sixml:IntegratorId").textContent; + } + if (this.xmlHasChild(node, "sixml:ProtocolOptionList")) { + this.protocolOptionList = new timapi.protocol.sixml.ProtocolOptionList(this.xmlGetChild(node, "sixml:ProtocolOptionList")); + } + if (this.xmlHasChild(node, "sixml:PrintOptionList")) { + this.printOptionList = new timapi.protocol.sixml.PrintOptionList(this.xmlGetChild(node, "sixml:PrintOptionList")); + } + if (this.xmlHasChild(node, "sixml:ManufacturerFlags")) { + this.manufacturerFlags = (this.xmlGetChild(node, "sixml:ManufacturerFlags").textContent ? parseInt(this.xmlGetChild(node, "sixml:ManufacturerFlags").textContent) : 0); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "Login"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_Login.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_Login.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_Login.prototype.function = undefined; +timapi.protocol.sixml.Request_Login.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_Login.prototype.posId = undefined; +timapi.protocol.sixml.Request_Login.prototype.integratorId = undefined; +timapi.protocol.sixml.Request_Login.prototype.protocolOptionList = undefined; +timapi.protocol.sixml.Request_Login.prototype.printOptionList = undefined; +timapi.protocol.sixml.Request_Login.prototype.manufacturerFlags = undefined; +timapi.protocol.sixml.Request_Login.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.posId != undefined) { + this.xmlAddChild(node, "sixml:PosId", this.posId); + } + if (this.integratorId != undefined) { + this.xmlAddChild(node, "sixml:IntegratorId", this.integratorId); + } + if (this.protocolOptionList != undefined) { + this.xmlAddChild(node, "sixml:ProtocolOptionList", this.protocolOptionList); + } + if (this.printOptionList != undefined) { + this.xmlAddChild(node, "sixml:PrintOptionList", this.printOptionList); + } + if (this.manufacturerFlags != undefined) { + this.xmlAddChild(node, "sixml:ManufacturerFlags", timapi.utils.StringHelper.makeString(this.manufacturerFlags)); + } + return node; +}; +timapi.protocol.sixml.Request_Logout = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_Logout) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "Logout"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_Logout.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_Logout.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_Logout.prototype.function = undefined; +timapi.protocol.sixml.Request_Logout.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_Logout.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + return node; +}; +timapi.protocol.sixml.Request_OpenDialogMode = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_OpenDialogMode) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "OpenDialogMode"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_OpenDialogMode.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_OpenDialogMode.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_OpenDialogMode.prototype.function = undefined; +timapi.protocol.sixml.Request_OpenDialogMode.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_OpenDialogMode.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + return node; +}; +timapi.protocol.sixml.Request_OpenMaintenanceWindow = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_OpenMaintenanceWindow) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "OpenMaintenanceWindow"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_OpenMaintenanceWindow.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_OpenMaintenanceWindow.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_OpenMaintenanceWindow.prototype.function = undefined; +timapi.protocol.sixml.Request_OpenMaintenanceWindow.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_OpenMaintenanceWindow.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + return node; +}; +timapi.protocol.sixml.Request_OpenReader = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_OpenReader) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "OpenReader"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_OpenReader.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_OpenReader.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_OpenReader.prototype.function = undefined; +timapi.protocol.sixml.Request_OpenReader.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_OpenReader.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + return node; +}; +timapi.protocol.sixml.Request_PreAuthorization = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_PreAuthorization) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.usrId = value.usrId; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.merchantOptionList = value.merchantOptionList ? new timapi.protocol.sixml.MerchantOptionList(value.merchantOptionList) : undefined; + this.transactionData = value.transactionData ? new timapi.protocol.sixml.TransactionData(value.transactionData) : undefined; + this.language = value.language; + this.retainCardFlag = value.retainCardFlag; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasChild(node, "sixml:UsrId")) { + this.usrId = (this.xmlGetChild(node, "sixml:UsrId").textContent ? parseInt(this.xmlGetChild(node, "sixml:UsrId").textContent) : 0); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:MerchantOptionList")) { + this.merchantOptionList = new timapi.protocol.sixml.MerchantOptionList(this.xmlGetChild(node, "sixml:MerchantOptionList")); + } + if (this.xmlHasChild(node, "sixml:TransactionData")) { + this.transactionData = new timapi.protocol.sixml.TransactionData(this.xmlGetChild(node, "sixml:TransactionData")); + } + if (this.xmlHasChild(node, "sixml:Language")) { + this.language = this.xmlGetChild(node, "sixml:Language").textContent; + } + if (this.xmlHasChild(node, "sixml:RetainCardFlag")) { + this.retainCardFlag = this.xmlGetChild(node, "sixml:RetainCardFlag").textContent == "1"; + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "PreAuthorization"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_PreAuthorization.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_PreAuthorization.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_PreAuthorization.prototype.function = undefined; +timapi.protocol.sixml.Request_PreAuthorization.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_PreAuthorization.prototype.usrId = undefined; +timapi.protocol.sixml.Request_PreAuthorization.prototype.amount = undefined; +timapi.protocol.sixml.Request_PreAuthorization.prototype.merchantOptionList = undefined; +timapi.protocol.sixml.Request_PreAuthorization.prototype.transactionData = undefined; +timapi.protocol.sixml.Request_PreAuthorization.prototype.language = undefined; +timapi.protocol.sixml.Request_PreAuthorization.prototype.retainCardFlag = undefined; +timapi.protocol.sixml.Request_PreAuthorization.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.usrId != undefined) { + this.xmlAddChild(node, "sixml:UsrId", timapi.utils.StringHelper.makeString(this.usrId)); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.merchantOptionList != undefined) { + this.xmlAddChild(node, "sixml:MerchantOptionList", this.merchantOptionList); + } + if (this.transactionData != undefined) { + this.xmlAddChild(node, "sixml:TransactionData", this.transactionData); + } + if (this.language != undefined) { + this.xmlAddChild(node, "sixml:Language", this.language); + } + if (this.retainCardFlag != undefined) { + this.xmlAddChild(node, "sixml:RetainCardFlag", (this.retainCardFlag ? "1" : "0")); + } + return node; +}; +timapi.protocol.sixml.Request_Purchase = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_Purchase) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.usrId = value.usrId; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.transactionData = value.transactionData ? new timapi.protocol.sixml.TransactionData(value.transactionData) : undefined; + this.merchantOptionList = value.merchantOptionList ? new timapi.protocol.sixml.MerchantOptionList(value.merchantOptionList) : undefined; + this.basket = value.basket ? new timapi.protocol.sixml.Basket(value.basket) : undefined; + this.language = value.language; + this.amountTip = value.amountTip ? new timapi.protocol.sixml.AmountTip(value.amountTip) : undefined; + this.loyaltyCouponList = value.loyaltyCouponList ? new timapi.protocol.sixml.LoyaltyCouponList(value.loyaltyCouponList) : undefined; + this.amountDiscount = value.amountDiscount ? new timapi.protocol.sixml.AmountDiscount(value.amountDiscount) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasChild(node, "sixml:UsrId")) { + this.usrId = (this.xmlGetChild(node, "sixml:UsrId").textContent ? parseInt(this.xmlGetChild(node, "sixml:UsrId").textContent) : 0); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:TransactionData")) { + this.transactionData = new timapi.protocol.sixml.TransactionData(this.xmlGetChild(node, "sixml:TransactionData")); + } + if (this.xmlHasChild(node, "sixml:MerchantOptionList")) { + this.merchantOptionList = new timapi.protocol.sixml.MerchantOptionList(this.xmlGetChild(node, "sixml:MerchantOptionList")); + } + if (this.xmlHasChild(node, "sixml:Basket")) { + this.basket = new timapi.protocol.sixml.Basket(this.xmlGetChild(node, "sixml:Basket")); + } + if (this.xmlHasChild(node, "sixml:Language")) { + this.language = this.xmlGetChild(node, "sixml:Language").textContent; + } + if (this.xmlHasChild(node, "sixml:AmountTip")) { + this.amountTip = new timapi.protocol.sixml.AmountTip(this.xmlGetChild(node, "sixml:AmountTip")); + } + if (this.xmlHasChild(node, "sixml:LoyaltyCouponList")) { + this.loyaltyCouponList = new timapi.protocol.sixml.LoyaltyCouponList(this.xmlGetChild(node, "sixml:LoyaltyCouponList")); + } + if (this.xmlHasChild(node, "sixml:AmountDiscount")) { + this.amountDiscount = new timapi.protocol.sixml.AmountDiscount(this.xmlGetChild(node, "sixml:AmountDiscount")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "Purchase"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_Purchase.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_Purchase.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_Purchase.prototype.function = undefined; +timapi.protocol.sixml.Request_Purchase.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_Purchase.prototype.usrId = undefined; +timapi.protocol.sixml.Request_Purchase.prototype.amount = undefined; +timapi.protocol.sixml.Request_Purchase.prototype.transactionData = undefined; +timapi.protocol.sixml.Request_Purchase.prototype.merchantOptionList = undefined; +timapi.protocol.sixml.Request_Purchase.prototype.basket = undefined; +timapi.protocol.sixml.Request_Purchase.prototype.language = undefined; +timapi.protocol.sixml.Request_Purchase.prototype.amountTip = undefined; +timapi.protocol.sixml.Request_Purchase.prototype.loyaltyCouponList = undefined; +timapi.protocol.sixml.Request_Purchase.prototype.amountDiscount = undefined; +timapi.protocol.sixml.Request_Purchase.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.usrId != undefined) { + this.xmlAddChild(node, "sixml:UsrId", timapi.utils.StringHelper.makeString(this.usrId)); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.transactionData != undefined) { + this.xmlAddChild(node, "sixml:TransactionData", this.transactionData); + } + if (this.merchantOptionList != undefined) { + this.xmlAddChild(node, "sixml:MerchantOptionList", this.merchantOptionList); + } + if (this.basket != undefined) { + this.xmlAddChild(node, "sixml:Basket", this.basket); + } + if (this.language != undefined) { + this.xmlAddChild(node, "sixml:Language", this.language); + } + if (this.amountTip != undefined) { + this.xmlAddChild(node, "sixml:AmountTip", this.amountTip); + } + if (this.loyaltyCouponList != undefined) { + this.xmlAddChild(node, "sixml:LoyaltyCouponList", this.loyaltyCouponList); + } + if (this.amountDiscount != undefined) { + this.xmlAddChild(node, "sixml:AmountDiscount", this.amountDiscount); + } + return node; +}; +timapi.protocol.sixml.Request_PurchaseForcedAcceptance = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_PurchaseForcedAcceptance) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.usrId = value.usrId; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.transactionData = value.transactionData ? new timapi.protocol.sixml.TransactionData(value.transactionData) : undefined; + this.merchantOptionList = value.merchantOptionList ? new timapi.protocol.sixml.MerchantOptionList(value.merchantOptionList) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasChild(node, "sixml:UsrId")) { + this.usrId = (this.xmlGetChild(node, "sixml:UsrId").textContent ? parseInt(this.xmlGetChild(node, "sixml:UsrId").textContent) : 0); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:TransactionData")) { + this.transactionData = new timapi.protocol.sixml.TransactionData(this.xmlGetChild(node, "sixml:TransactionData")); + } + if (this.xmlHasChild(node, "sixml:MerchantOptionList")) { + this.merchantOptionList = new timapi.protocol.sixml.MerchantOptionList(this.xmlGetChild(node, "sixml:MerchantOptionList")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "PurchaseForcedAcceptance"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_PurchaseForcedAcceptance.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_PurchaseForcedAcceptance.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_PurchaseForcedAcceptance.prototype.function = undefined; +timapi.protocol.sixml.Request_PurchaseForcedAcceptance.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_PurchaseForcedAcceptance.prototype.usrId = undefined; +timapi.protocol.sixml.Request_PurchaseForcedAcceptance.prototype.amount = undefined; +timapi.protocol.sixml.Request_PurchaseForcedAcceptance.prototype.transactionData = undefined; +timapi.protocol.sixml.Request_PurchaseForcedAcceptance.prototype.merchantOptionList = undefined; +timapi.protocol.sixml.Request_PurchaseForcedAcceptance.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.usrId != undefined) { + this.xmlAddChild(node, "sixml:UsrId", timapi.utils.StringHelper.makeString(this.usrId)); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.transactionData != undefined) { + this.xmlAddChild(node, "sixml:TransactionData", this.transactionData); + } + if (this.merchantOptionList != undefined) { + this.xmlAddChild(node, "sixml:MerchantOptionList", this.merchantOptionList); + } + return node; +}; +timapi.protocol.sixml.Request_PurchasePhoneAuthorized = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_PurchasePhoneAuthorized) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.usrId = value.usrId; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.transactionData = value.transactionData ? new timapi.protocol.sixml.TransactionData(value.transactionData) : undefined; + this.merchantOptionList = value.merchantOptionList ? new timapi.protocol.sixml.MerchantOptionList(value.merchantOptionList) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasChild(node, "sixml:UsrId")) { + this.usrId = (this.xmlGetChild(node, "sixml:UsrId").textContent ? parseInt(this.xmlGetChild(node, "sixml:UsrId").textContent) : 0); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:TransactionData")) { + this.transactionData = new timapi.protocol.sixml.TransactionData(this.xmlGetChild(node, "sixml:TransactionData")); + } + if (this.xmlHasChild(node, "sixml:MerchantOptionList")) { + this.merchantOptionList = new timapi.protocol.sixml.MerchantOptionList(this.xmlGetChild(node, "sixml:MerchantOptionList")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "PurchasePhoneAuthorized"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_PurchasePhoneAuthorized.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_PurchasePhoneAuthorized.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_PurchasePhoneAuthorized.prototype.function = undefined; +timapi.protocol.sixml.Request_PurchasePhoneAuthorized.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_PurchasePhoneAuthorized.prototype.usrId = undefined; +timapi.protocol.sixml.Request_PurchasePhoneAuthorized.prototype.amount = undefined; +timapi.protocol.sixml.Request_PurchasePhoneAuthorized.prototype.transactionData = undefined; +timapi.protocol.sixml.Request_PurchasePhoneAuthorized.prototype.merchantOptionList = undefined; +timapi.protocol.sixml.Request_PurchasePhoneAuthorized.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.usrId != undefined) { + this.xmlAddChild(node, "sixml:UsrId", timapi.utils.StringHelper.makeString(this.usrId)); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.transactionData != undefined) { + this.xmlAddChild(node, "sixml:TransactionData", this.transactionData); + } + if (this.merchantOptionList != undefined) { + this.xmlAddChild(node, "sixml:MerchantOptionList", this.merchantOptionList); + } + return node; +}; +timapi.protocol.sixml.Request_PurchaseReservation = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_PurchaseReservation) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.transactionData = value.transactionData ? new timapi.protocol.sixml.TransactionData(value.transactionData) : undefined; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.merchantOptionList = value.merchantOptionList ? new timapi.protocol.sixml.MerchantOptionList(value.merchantOptionList) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasChild(node, "sixml:TransactionData")) { + this.transactionData = new timapi.protocol.sixml.TransactionData(this.xmlGetChild(node, "sixml:TransactionData")); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:MerchantOptionList")) { + this.merchantOptionList = new timapi.protocol.sixml.MerchantOptionList(this.xmlGetChild(node, "sixml:MerchantOptionList")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "PurchaseReservation"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_PurchaseReservation.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_PurchaseReservation.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_PurchaseReservation.prototype.function = undefined; +timapi.protocol.sixml.Request_PurchaseReservation.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_PurchaseReservation.prototype.transactionData = undefined; +timapi.protocol.sixml.Request_PurchaseReservation.prototype.amount = undefined; +timapi.protocol.sixml.Request_PurchaseReservation.prototype.merchantOptionList = undefined; +timapi.protocol.sixml.Request_PurchaseReservation.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.transactionData != undefined) { + this.xmlAddChild(node, "sixml:TransactionData", this.transactionData); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.merchantOptionList != undefined) { + this.xmlAddChild(node, "sixml:MerchantOptionList", this.merchantOptionList); + } + return node; +}; +timapi.protocol.sixml.Request_PurchaseWithCashback = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_PurchaseWithCashback) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.usrId = value.usrId; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.amountOther = value.amountOther ? new timapi.protocol.sixml.AmountOther(value.amountOther) : undefined; + this.transactionData = value.transactionData ? new timapi.protocol.sixml.TransactionData(value.transactionData) : undefined; + this.merchantOptionList = value.merchantOptionList ? new timapi.protocol.sixml.MerchantOptionList(value.merchantOptionList) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasChild(node, "sixml:UsrId")) { + this.usrId = (this.xmlGetChild(node, "sixml:UsrId").textContent ? parseInt(this.xmlGetChild(node, "sixml:UsrId").textContent) : 0); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:AmountOther")) { + this.amountOther = new timapi.protocol.sixml.AmountOther(this.xmlGetChild(node, "sixml:AmountOther")); + } + if (this.xmlHasChild(node, "sixml:TransactionData")) { + this.transactionData = new timapi.protocol.sixml.TransactionData(this.xmlGetChild(node, "sixml:TransactionData")); + } + if (this.xmlHasChild(node, "sixml:MerchantOptionList")) { + this.merchantOptionList = new timapi.protocol.sixml.MerchantOptionList(this.xmlGetChild(node, "sixml:MerchantOptionList")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "PurchaseWithCashback"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_PurchaseWithCashback.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_PurchaseWithCashback.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_PurchaseWithCashback.prototype.function = undefined; +timapi.protocol.sixml.Request_PurchaseWithCashback.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_PurchaseWithCashback.prototype.usrId = undefined; +timapi.protocol.sixml.Request_PurchaseWithCashback.prototype.amount = undefined; +timapi.protocol.sixml.Request_PurchaseWithCashback.prototype.amountOther = undefined; +timapi.protocol.sixml.Request_PurchaseWithCashback.prototype.transactionData = undefined; +timapi.protocol.sixml.Request_PurchaseWithCashback.prototype.merchantOptionList = undefined; +timapi.protocol.sixml.Request_PurchaseWithCashback.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.usrId != undefined) { + this.xmlAddChild(node, "sixml:UsrId", timapi.utils.StringHelper.makeString(this.usrId)); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.amountOther != undefined) { + this.xmlAddChild(node, "sixml:AmountOther", this.amountOther); + } + if (this.transactionData != undefined) { + this.xmlAddChild(node, "sixml:TransactionData", this.transactionData); + } + if (this.merchantOptionList != undefined) { + this.xmlAddChild(node, "sixml:MerchantOptionList", this.merchantOptionList); + } + return node; +}; +timapi.protocol.sixml.Request_Reboot = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_Reboot) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "Reboot"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_Reboot.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_Reboot.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_Reboot.prototype.function = undefined; +timapi.protocol.sixml.Request_Reboot.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_Reboot.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + return node; +}; +timapi.protocol.sixml.Request_ReceiptRequest = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_ReceiptRequest) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.receiptRequestType = value.receiptRequestType; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasChild(node, "sixml:ReceiptRequestType")) { + this.receiptRequestType = this.xmlGetChild(node, "sixml:ReceiptRequestType").textContent; + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "ReceiptRequest"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_ReceiptRequest.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_ReceiptRequest.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_ReceiptRequest.prototype.function = undefined; +timapi.protocol.sixml.Request_ReceiptRequest.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_ReceiptRequest.prototype.receiptRequestType = undefined; +timapi.protocol.sixml.Request_ReceiptRequest.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.receiptRequestType != undefined) { + this.xmlAddChild(node, "sixml:ReceiptRequestType", this.receiptRequestType); + } + return node; +}; +timapi.protocol.sixml.Request_Reconciliation = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_Reconciliation) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "Reconciliation"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_Reconciliation.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_Reconciliation.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_Reconciliation.prototype.function = undefined; +timapi.protocol.sixml.Request_Reconciliation.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_Reconciliation.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + return node; +}; +timapi.protocol.sixml.Request_Reconfig = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_Reconfig) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "Reconfig"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_Reconfig.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_Reconfig.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_Reconfig.prototype.function = undefined; +timapi.protocol.sixml.Request_Reconfig.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_Reconfig.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + return node; +}; +timapi.protocol.sixml.Request_Reservation = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_Reservation) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.transactionData = value.transactionData ? new timapi.protocol.sixml.TransactionData(value.transactionData) : undefined; + this.merchantOptionList = value.merchantOptionList ? new timapi.protocol.sixml.MerchantOptionList(value.merchantOptionList) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:TransactionData")) { + this.transactionData = new timapi.protocol.sixml.TransactionData(this.xmlGetChild(node, "sixml:TransactionData")); + } + if (this.xmlHasChild(node, "sixml:MerchantOptionList")) { + this.merchantOptionList = new timapi.protocol.sixml.MerchantOptionList(this.xmlGetChild(node, "sixml:MerchantOptionList")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "NonFinTransaction"; + this.function = "Reservation"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_Reservation.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_Reservation.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_Reservation.prototype.function = undefined; +timapi.protocol.sixml.Request_Reservation.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_Reservation.prototype.amount = undefined; +timapi.protocol.sixml.Request_Reservation.prototype.transactionData = undefined; +timapi.protocol.sixml.Request_Reservation.prototype.merchantOptionList = undefined; +timapi.protocol.sixml.Request_Reservation.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.transactionData != undefined) { + this.xmlAddChild(node, "sixml:TransactionData", this.transactionData); + } + if (this.merchantOptionList != undefined) { + this.xmlAddChild(node, "sixml:MerchantOptionList", this.merchantOptionList); + } + return node; +}; +timapi.protocol.sixml.Request_Reversal = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_Reversal) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.usrId = value.usrId; + this.transactionData = value.transactionData ? new timapi.protocol.sixml.TransactionData(value.transactionData) : undefined; + this.merchantOptionList = value.merchantOptionList ? new timapi.protocol.sixml.MerchantOptionList(value.merchantOptionList) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasChild(node, "sixml:UsrId")) { + this.usrId = (this.xmlGetChild(node, "sixml:UsrId").textContent ? parseInt(this.xmlGetChild(node, "sixml:UsrId").textContent) : 0); + } + if (this.xmlHasChild(node, "sixml:TransactionData")) { + this.transactionData = new timapi.protocol.sixml.TransactionData(this.xmlGetChild(node, "sixml:TransactionData")); + } + if (this.xmlHasChild(node, "sixml:MerchantOptionList")) { + this.merchantOptionList = new timapi.protocol.sixml.MerchantOptionList(this.xmlGetChild(node, "sixml:MerchantOptionList")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "Reversal"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_Reversal.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_Reversal.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_Reversal.prototype.function = undefined; +timapi.protocol.sixml.Request_Reversal.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_Reversal.prototype.usrId = undefined; +timapi.protocol.sixml.Request_Reversal.prototype.transactionData = undefined; +timapi.protocol.sixml.Request_Reversal.prototype.merchantOptionList = undefined; +timapi.protocol.sixml.Request_Reversal.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.usrId != undefined) { + this.xmlAddChild(node, "sixml:UsrId", timapi.utils.StringHelper.makeString(this.usrId)); + } + if (this.transactionData != undefined) { + this.xmlAddChild(node, "sixml:TransactionData", this.transactionData); + } + if (this.merchantOptionList != undefined) { + this.xmlAddChild(node, "sixml:MerchantOptionList", this.merchantOptionList); + } + return node; +}; +timapi.protocol.sixml.Request_Rollback = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_Rollback) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.repeat = value.repeat; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "Repeat")) { + this.repeat = (this.xmlGetAttribute(node, "Repeat") ? parseInt(this.xmlGetAttribute(node, "Repeat")) : 0); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "Rollback"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_Rollback.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_Rollback.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_Rollback.prototype.function = undefined; +timapi.protocol.sixml.Request_Rollback.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_Rollback.prototype.repeat = undefined; +timapi.protocol.sixml.Request_Rollback.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.repeat != undefined) { + this.xmlSetAttribute(node, "Repeat", timapi.utils.StringHelper.makeString(this.repeat)); + } + return node; +}; +timapi.protocol.sixml.Request_ShowDialog = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_ShowDialog) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resourceParameterList = value.resourceParameterList ? new timapi.protocol.sixml.ResourceParameterList(value.resourceParameterList) : undefined; + this.resourceData = value.resourceData ? new timapi.protocol.sixml.ResourceData(value.resourceData) : undefined; + this.brandBar = value.brandBar ? new timapi.protocol.sixml.BrandBar(value.brandBar) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasChild(node, "sixml:ResourceParameterList")) { + this.resourceParameterList = new timapi.protocol.sixml.ResourceParameterList(this.xmlGetChild(node, "sixml:ResourceParameterList")); + } + if (this.xmlHasChild(node, "sixml:ResourceData")) { + this.resourceData = new timapi.protocol.sixml.ResourceData(this.xmlGetChild(node, "sixml:ResourceData")); + } + if (this.xmlHasChild(node, "sixml:BrandBar")) { + this.brandBar = new timapi.protocol.sixml.BrandBar(this.xmlGetChild(node, "sixml:BrandBar")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Dialog"; + this.function = "ShowDialog"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_ShowDialog.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_ShowDialog.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_ShowDialog.prototype.function = undefined; +timapi.protocol.sixml.Request_ShowDialog.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_ShowDialog.prototype.resourceParameterList = undefined; +timapi.protocol.sixml.Request_ShowDialog.prototype.resourceData = undefined; +timapi.protocol.sixml.Request_ShowDialog.prototype.brandBar = undefined; +timapi.protocol.sixml.Request_ShowDialog.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resourceParameterList != undefined) { + this.xmlAddChild(node, "sixml:ResourceParameterList", this.resourceParameterList); + } + if (this.resourceData != undefined) { + this.xmlAddChild(node, "sixml:ResourceData", this.resourceData); + } + if (this.brandBar != undefined) { + this.xmlAddChild(node, "sixml:BrandBar", this.brandBar); + } + return node; +}; +timapi.protocol.sixml.Request_ShowSignatureCapture = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_ShowSignatureCapture) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.signatureData = value.signatureData ? new timapi.protocol.sixml.SignatureData(value.signatureData) : undefined; + this.brandBar = value.brandBar ? new timapi.protocol.sixml.BrandBar(value.brandBar) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasChild(node, "sixml:SignatureData")) { + this.signatureData = new timapi.protocol.sixml.SignatureData(this.xmlGetChild(node, "sixml:SignatureData")); + } + if (this.xmlHasChild(node, "sixml:BrandBar")) { + this.brandBar = new timapi.protocol.sixml.BrandBar(this.xmlGetChild(node, "sixml:BrandBar")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Dialog"; + this.function = "ShowSignatureCapture"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_ShowSignatureCapture.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_ShowSignatureCapture.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_ShowSignatureCapture.prototype.function = undefined; +timapi.protocol.sixml.Request_ShowSignatureCapture.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_ShowSignatureCapture.prototype.signatureData = undefined; +timapi.protocol.sixml.Request_ShowSignatureCapture.prototype.brandBar = undefined; +timapi.protocol.sixml.Request_ShowSignatureCapture.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.signatureData != undefined) { + this.xmlAddChild(node, "sixml:SignatureData", this.signatureData); + } + if (this.brandBar != undefined) { + this.xmlAddChild(node, "sixml:BrandBar", this.brandBar); + } + return node; +}; +timapi.protocol.sixml.Request_SoftwareUpdate = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_SoftwareUpdate) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "SoftwareUpdate"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_SoftwareUpdate.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_SoftwareUpdate.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_SoftwareUpdate.prototype.function = undefined; +timapi.protocol.sixml.Request_SoftwareUpdate.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_SoftwareUpdate.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + return node; +}; +timapi.protocol.sixml.Request_SystemInformation = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_SystemInformation) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.ecrData = value.ecrData ? new timapi.protocol.sixml.EcrData(value.ecrData) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasChild(node, "sixml:EcrData")) { + this.ecrData = new timapi.protocol.sixml.EcrData(this.xmlGetChild(node, "sixml:EcrData")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Status"; + this.function = "SystemInformation"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_SystemInformation.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_SystemInformation.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_SystemInformation.prototype.function = undefined; +timapi.protocol.sixml.Request_SystemInformation.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_SystemInformation.prototype.ecrData = undefined; +timapi.protocol.sixml.Request_SystemInformation.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.ecrData != undefined) { + this.xmlAddChild(node, "sixml:EcrData", this.ecrData); + } + return node; +}; +timapi.protocol.sixml.Request_TerminalStatus = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_TerminalStatus) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Status"; + this.function = "TerminalStatus"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_TerminalStatus.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_TerminalStatus.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_TerminalStatus.prototype.function = undefined; +timapi.protocol.sixml.Request_TerminalStatus.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_TerminalStatus.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + return node; +}; +timapi.protocol.sixml.ResourceData = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.ResourceData) { + var value = a; + this.resourceId = value.resourceId; + this.timeout = value.timeout; + this.theme = value.theme; + this.language = value.language; + this.placeholderItemList = value.placeholderItemList ? new timapi.protocol.sixml.PlaceholderItemList(value.placeholderItemList) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "ResourceId")) { + this.resourceId = (this.xmlGetAttribute(node, "ResourceId") ? parseInt(this.xmlGetAttribute(node, "ResourceId")) : 0); + } + if (this.xmlHasAttribute(node, "Timeout")) { + this.timeout = (this.xmlGetAttribute(node, "Timeout") ? parseInt(this.xmlGetAttribute(node, "Timeout")) : 0); + } + if (this.xmlHasAttribute(node, "Theme")) { + this.theme = this.xmlGetAttribute(node, "Theme"); + } + if (this.xmlHasChild(node, "sixml:Language")) { + this.language = this.xmlGetChild(node, "sixml:Language").textContent; + } + if (this.xmlHasChild(node, "sixml:PlaceholderItemList")) { + this.placeholderItemList = new timapi.protocol.sixml.PlaceholderItemList(this.xmlGetChild(node, "sixml:PlaceholderItemList")); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.ResourceData.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.ResourceData.prototype.resourceId = undefined; +timapi.protocol.sixml.ResourceData.prototype.timeout = undefined; +timapi.protocol.sixml.ResourceData.prototype.theme = undefined; +timapi.protocol.sixml.ResourceData.prototype.language = undefined; +timapi.protocol.sixml.ResourceData.prototype.placeholderItemList = undefined; +timapi.protocol.sixml.ResourceData.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:ResourceData"); + if (this.resourceId != undefined) { + this.xmlSetAttribute(node, "ResourceId", timapi.utils.StringHelper.makeString(this.resourceId)); + } + if (this.timeout != undefined) { + this.xmlSetAttribute(node, "Timeout", timapi.utils.StringHelper.makeString(this.timeout)); + } + if (this.theme != undefined) { + this.xmlSetAttribute(node, "Theme", this.theme); + } + if (this.language != undefined) { + this.xmlAddChild(node, "sixml:Language", this.language); + } + if (this.placeholderItemList != undefined) { + this.xmlAddChild(node, "sixml:PlaceholderItemList", this.placeholderItemList); + } + return node; +}; +timapi.protocol.sixml.ResourceInformation = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.ResourceInformation) { + var value = a; + this.reason = value.reason; + this.cardData = value.cardData ? new timapi.protocol.sixml.CardData(value.cardData) : undefined; + this.inputValue = value.inputValue; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "Reason")) { + this.reason = this.xmlGetAttribute(node, "Reason"); + } + if (this.xmlHasChild(node, "sixml:CardData")) { + this.cardData = new timapi.protocol.sixml.CardData(this.xmlGetChild(node, "sixml:CardData")); + } + if (this.xmlHasChild(node, "sixml:InputValue")) { + this.inputValue = this.xmlGetChild(node, "sixml:InputValue").textContent; + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.ResourceInformation.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.ResourceInformation.prototype.reason = undefined; +timapi.protocol.sixml.ResourceInformation.prototype.cardData = undefined; +timapi.protocol.sixml.ResourceInformation.prototype.inputValue = undefined; +timapi.protocol.sixml.ResourceInformation.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:ResourceInformation"); + if (this.reason != undefined) { + this.xmlSetAttribute(node, "Reason", this.reason); + } + if (this.cardData != undefined) { + this.xmlAddChild(node, "sixml:CardData", this.cardData); + } + if (this.inputValue != undefined) { + this.xmlAddChild(node, "sixml:InputValue", this.inputValue); + } + return node; +}; +timapi.protocol.sixml.Response = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.repeat = value.repeat; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasAttribute(node, "Repeat")) { + this.repeat = (this.xmlGetAttribute(node, "Repeat") ? parseInt(this.xmlGetAttribute(node, "Repeat")) : 0); + } + return; + } + if (arguments.length == 0) { + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response.prototype.function = undefined; +timapi.protocol.sixml.Response.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response.prototype.resultCode = undefined; +timapi.protocol.sixml.Response.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response.prototype.repeat = undefined; +timapi.protocol.sixml.Response.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.repeat != undefined) { + this.xmlSetAttribute(node, "Repeat", timapi.utils.StringHelper.makeString(this.repeat)); + } + return node; +}; +timapi.protocol.sixml.Response_Activate = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_Activate) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.printData = value.printData ? new timapi.protocol.sixml.PrintData(value.printData) : undefined; + this.actSeqCounter = value.actSeqCounter; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:PrintData")) { + this.printData = new timapi.protocol.sixml.PrintData(this.xmlGetChild(node, "sixml:PrintData")); + } + if (this.xmlHasChild(node, "sixml:ActSeqCounter")) { + this.actSeqCounter = (this.xmlGetChild(node, "sixml:ActSeqCounter").textContent ? parseInt(this.xmlGetChild(node, "sixml:ActSeqCounter").textContent) : 0); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "Activate"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_Activate.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_Activate.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_Activate.prototype.function = undefined; +timapi.protocol.sixml.Response_Activate.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_Activate.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_Activate.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_Activate.prototype.printData = undefined; +timapi.protocol.sixml.Response_Activate.prototype.actSeqCounter = undefined; +timapi.protocol.sixml.Response_Activate.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.printData != undefined) { + this.xmlAddChild(node, "sixml:PrintData", this.printData); + } + if (this.actSeqCounter != undefined) { + this.xmlAddChild(node, "sixml:ActSeqCounter", timapi.utils.StringHelper.makeString(this.actSeqCounter)); + } + return node; +}; +timapi.protocol.sixml.Response_ActivateServiceMenu = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_ActivateServiceMenu) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "ActivateServiceMenu"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_ActivateServiceMenu.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_ActivateServiceMenu.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_ActivateServiceMenu.prototype.function = undefined; +timapi.protocol.sixml.Response_ActivateServiceMenu.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_ActivateServiceMenu.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_ActivateServiceMenu.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_ActivateServiceMenu.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + return node; +}; +timapi.protocol.sixml.Response_AdjustReservation = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_AdjustReservation) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.amountDcc = value.amountDcc ? new timapi.protocol.sixml.AmountDcc(value.amountDcc) : undefined; + this.amountDue = value.amountDue ? new timapi.protocol.sixml.AmountDue(value.amountDue) : undefined; + this.transactionInformation = value.transactionInformation ? new timapi.protocol.sixml.TransactionInformation(value.transactionInformation) : undefined; + this.dccDisclaimer = value.dccDisclaimer; + this.disclaimer = value.disclaimer; + this.cardData = value.cardData ? new timapi.protocol.sixml.CardData(value.cardData) : undefined; + this.printData = value.printData ? new timapi.protocol.sixml.PrintData(value.printData) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:AmountDcc")) { + this.amountDcc = new timapi.protocol.sixml.AmountDcc(this.xmlGetChild(node, "sixml:AmountDcc")); + } + if (this.xmlHasChild(node, "sixml:AmountDue")) { + this.amountDue = new timapi.protocol.sixml.AmountDue(this.xmlGetChild(node, "sixml:AmountDue")); + } + if (this.xmlHasChild(node, "sixml:TransactionInformation")) { + this.transactionInformation = new timapi.protocol.sixml.TransactionInformation(this.xmlGetChild(node, "sixml:TransactionInformation")); + } + if (this.xmlHasChild(node, "sixml:DccDisclaimer")) { + this.dccDisclaimer = this.xmlGetChild(node, "sixml:DccDisclaimer").textContent; + } + if (this.xmlHasChild(node, "sixml:Disclaimer")) { + this.disclaimer = this.xmlGetChild(node, "sixml:Disclaimer").textContent; + } + if (this.xmlHasChild(node, "sixml:CardData")) { + this.cardData = new timapi.protocol.sixml.CardData(this.xmlGetChild(node, "sixml:CardData")); + } + if (this.xmlHasChild(node, "sixml:PrintData")) { + this.printData = new timapi.protocol.sixml.PrintData(this.xmlGetChild(node, "sixml:PrintData")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "NonFinTransaction"; + this.function = "AdjustReservation"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_AdjustReservation.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_AdjustReservation.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_AdjustReservation.prototype.function = undefined; +timapi.protocol.sixml.Response_AdjustReservation.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_AdjustReservation.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_AdjustReservation.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_AdjustReservation.prototype.amount = undefined; +timapi.protocol.sixml.Response_AdjustReservation.prototype.amountDcc = undefined; +timapi.protocol.sixml.Response_AdjustReservation.prototype.amountDue = undefined; +timapi.protocol.sixml.Response_AdjustReservation.prototype.transactionInformation = undefined; +timapi.protocol.sixml.Response_AdjustReservation.prototype.dccDisclaimer = undefined; +timapi.protocol.sixml.Response_AdjustReservation.prototype.disclaimer = undefined; +timapi.protocol.sixml.Response_AdjustReservation.prototype.cardData = undefined; +timapi.protocol.sixml.Response_AdjustReservation.prototype.printData = undefined; +timapi.protocol.sixml.Response_AdjustReservation.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.amountDcc != undefined) { + this.xmlAddChild(node, "sixml:AmountDcc", this.amountDcc); + } + if (this.amountDue != undefined) { + this.xmlAddChild(node, "sixml:AmountDue", this.amountDue); + } + if (this.transactionInformation != undefined) { + this.xmlAddChild(node, "sixml:TransactionInformation", this.transactionInformation); + } + if (this.dccDisclaimer != undefined) { + this.xmlAddChild(node, "sixml:DccDisclaimer", this.dccDisclaimer); + } + if (this.disclaimer != undefined) { + this.xmlAddChild(node, "sixml:Disclaimer", this.disclaimer); + } + if (this.cardData != undefined) { + this.xmlAddChild(node, "sixml:CardData", this.cardData); + } + if (this.printData != undefined) { + this.xmlAddChild(node, "sixml:PrintData", this.printData); + } + return node; +}; +timapi.protocol.sixml.Response_ApplicationInformation = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_ApplicationInformation) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.brandList = value.brandList ? new timapi.protocol.sixml.BrandList(value.brandList) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:BrandList")) { + this.brandList = new timapi.protocol.sixml.BrandList(this.xmlGetChild(node, "sixml:BrandList")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Status"; + this.function = "ApplicationInformation"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_ApplicationInformation.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_ApplicationInformation.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_ApplicationInformation.prototype.function = undefined; +timapi.protocol.sixml.Response_ApplicationInformation.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_ApplicationInformation.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_ApplicationInformation.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_ApplicationInformation.prototype.brandList = undefined; +timapi.protocol.sixml.Response_ApplicationInformation.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.brandList != undefined) { + this.xmlAddChild(node, "sixml:BrandList", this.brandList); + } + return node; +}; +timapi.protocol.sixml.Response_AuthorizeCredit = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_AuthorizeCredit) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.amountSaldo = value.amountSaldo ? new timapi.protocol.sixml.AmountSaldo(value.amountSaldo) : undefined; + this.disclaimer = value.disclaimer; + this.printData = value.printData ? new timapi.protocol.sixml.PrintData(value.printData) : undefined; + this.transactionInformation = value.transactionInformation ? new timapi.protocol.sixml.TransactionInformation(value.transactionInformation) : undefined; + this.cardData = value.cardData ? new timapi.protocol.sixml.CardData(value.cardData) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:AmountSaldo")) { + this.amountSaldo = new timapi.protocol.sixml.AmountSaldo(this.xmlGetChild(node, "sixml:AmountSaldo")); + } + if (this.xmlHasChild(node, "sixml:Disclaimer")) { + this.disclaimer = this.xmlGetChild(node, "sixml:Disclaimer").textContent; + } + if (this.xmlHasChild(node, "sixml:PrintData")) { + this.printData = new timapi.protocol.sixml.PrintData(this.xmlGetChild(node, "sixml:PrintData")); + } + if (this.xmlHasChild(node, "sixml:TransactionInformation")) { + this.transactionInformation = new timapi.protocol.sixml.TransactionInformation(this.xmlGetChild(node, "sixml:TransactionInformation")); + } + if (this.xmlHasChild(node, "sixml:CardData")) { + this.cardData = new timapi.protocol.sixml.CardData(this.xmlGetChild(node, "sixml:CardData")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "AuthorizeCredit"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_AuthorizeCredit.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_AuthorizeCredit.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_AuthorizeCredit.prototype.function = undefined; +timapi.protocol.sixml.Response_AuthorizeCredit.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_AuthorizeCredit.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_AuthorizeCredit.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_AuthorizeCredit.prototype.amount = undefined; +timapi.protocol.sixml.Response_AuthorizeCredit.prototype.amountSaldo = undefined; +timapi.protocol.sixml.Response_AuthorizeCredit.prototype.disclaimer = undefined; +timapi.protocol.sixml.Response_AuthorizeCredit.prototype.printData = undefined; +timapi.protocol.sixml.Response_AuthorizeCredit.prototype.transactionInformation = undefined; +timapi.protocol.sixml.Response_AuthorizeCredit.prototype.cardData = undefined; +timapi.protocol.sixml.Response_AuthorizeCredit.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.amountSaldo != undefined) { + this.xmlAddChild(node, "sixml:AmountSaldo", this.amountSaldo); + } + if (this.disclaimer != undefined) { + this.xmlAddChild(node, "sixml:Disclaimer", this.disclaimer); + } + if (this.printData != undefined) { + this.xmlAddChild(node, "sixml:PrintData", this.printData); + } + if (this.transactionInformation != undefined) { + this.xmlAddChild(node, "sixml:TransactionInformation", this.transactionInformation); + } + if (this.cardData != undefined) { + this.xmlAddChild(node, "sixml:CardData", this.cardData); + } + return node; +}; +timapi.protocol.sixml.Response_AuthorizeDeposit = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_AuthorizeDeposit) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.amountSaldo = value.amountSaldo ? new timapi.protocol.sixml.AmountSaldo(value.amountSaldo) : undefined; + this.disclaimer = value.disclaimer; + this.printData = value.printData ? new timapi.protocol.sixml.PrintData(value.printData) : undefined; + this.transactionInformation = value.transactionInformation ? new timapi.protocol.sixml.TransactionInformation(value.transactionInformation) : undefined; + this.cardData = value.cardData ? new timapi.protocol.sixml.CardData(value.cardData) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:AmountSaldo")) { + this.amountSaldo = new timapi.protocol.sixml.AmountSaldo(this.xmlGetChild(node, "sixml:AmountSaldo")); + } + if (this.xmlHasChild(node, "sixml:Disclaimer")) { + this.disclaimer = this.xmlGetChild(node, "sixml:Disclaimer").textContent; + } + if (this.xmlHasChild(node, "sixml:PrintData")) { + this.printData = new timapi.protocol.sixml.PrintData(this.xmlGetChild(node, "sixml:PrintData")); + } + if (this.xmlHasChild(node, "sixml:TransactionInformation")) { + this.transactionInformation = new timapi.protocol.sixml.TransactionInformation(this.xmlGetChild(node, "sixml:TransactionInformation")); + } + if (this.xmlHasChild(node, "sixml:CardData")) { + this.cardData = new timapi.protocol.sixml.CardData(this.xmlGetChild(node, "sixml:CardData")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "AuthorizeDeposit"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_AuthorizeDeposit.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_AuthorizeDeposit.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_AuthorizeDeposit.prototype.function = undefined; +timapi.protocol.sixml.Response_AuthorizeDeposit.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_AuthorizeDeposit.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_AuthorizeDeposit.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_AuthorizeDeposit.prototype.amount = undefined; +timapi.protocol.sixml.Response_AuthorizeDeposit.prototype.amountSaldo = undefined; +timapi.protocol.sixml.Response_AuthorizeDeposit.prototype.disclaimer = undefined; +timapi.protocol.sixml.Response_AuthorizeDeposit.prototype.printData = undefined; +timapi.protocol.sixml.Response_AuthorizeDeposit.prototype.transactionInformation = undefined; +timapi.protocol.sixml.Response_AuthorizeDeposit.prototype.cardData = undefined; +timapi.protocol.sixml.Response_AuthorizeDeposit.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.amountSaldo != undefined) { + this.xmlAddChild(node, "sixml:AmountSaldo", this.amountSaldo); + } + if (this.disclaimer != undefined) { + this.xmlAddChild(node, "sixml:Disclaimer", this.disclaimer); + } + if (this.printData != undefined) { + this.xmlAddChild(node, "sixml:PrintData", this.printData); + } + if (this.transactionInformation != undefined) { + this.xmlAddChild(node, "sixml:TransactionInformation", this.transactionInformation); + } + if (this.cardData != undefined) { + this.xmlAddChild(node, "sixml:CardData", this.cardData); + } + return node; +}; +timapi.protocol.sixml.Response_Balance = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_Balance) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.printData = value.printData ? new timapi.protocol.sixml.PrintData(value.printData) : undefined; + this.counters = value.counters ? new timapi.protocol.sixml.Counters(value.counters) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:PrintData")) { + this.printData = new timapi.protocol.sixml.PrintData(this.xmlGetChild(node, "sixml:PrintData")); + } + if (this.xmlHasChild(node, "sixml:Counters")) { + this.counters = new timapi.protocol.sixml.Counters(this.xmlGetChild(node, "sixml:Counters")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "Balance"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_Balance.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_Balance.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_Balance.prototype.function = undefined; +timapi.protocol.sixml.Response_Balance.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_Balance.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_Balance.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_Balance.prototype.printData = undefined; +timapi.protocol.sixml.Response_Balance.prototype.counters = undefined; +timapi.protocol.sixml.Response_Balance.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.printData != undefined) { + this.xmlAddChild(node, "sixml:PrintData", this.printData); + } + if (this.counters != undefined) { + this.xmlAddChild(node, "sixml:Counters", this.counters); + } + return node; +}; +timapi.protocol.sixml.Response_BalanceInquiry = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_BalanceInquiry) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.amountSaldo = value.amountSaldo ? new timapi.protocol.sixml.AmountSaldo(value.amountSaldo) : undefined; + this.transactionInformation = value.transactionInformation ? new timapi.protocol.sixml.TransactionInformation(value.transactionInformation) : undefined; + this.disclaimer = value.disclaimer; + this.printData = value.printData ? new timapi.protocol.sixml.PrintData(value.printData) : undefined; + this.cardData = value.cardData ? new timapi.protocol.sixml.CardData(value.cardData) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:AmountSaldo")) { + this.amountSaldo = new timapi.protocol.sixml.AmountSaldo(this.xmlGetChild(node, "sixml:AmountSaldo")); + } + if (this.xmlHasChild(node, "sixml:TransactionInformation")) { + this.transactionInformation = new timapi.protocol.sixml.TransactionInformation(this.xmlGetChild(node, "sixml:TransactionInformation")); + } + if (this.xmlHasChild(node, "sixml:Disclaimer")) { + this.disclaimer = this.xmlGetChild(node, "sixml:Disclaimer").textContent; + } + if (this.xmlHasChild(node, "sixml:PrintData")) { + this.printData = new timapi.protocol.sixml.PrintData(this.xmlGetChild(node, "sixml:PrintData")); + } + if (this.xmlHasChild(node, "sixml:CardData")) { + this.cardData = new timapi.protocol.sixml.CardData(this.xmlGetChild(node, "sixml:CardData")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "NonFinTransaction"; + this.function = "BalanceInquiry"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_BalanceInquiry.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_BalanceInquiry.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_BalanceInquiry.prototype.function = undefined; +timapi.protocol.sixml.Response_BalanceInquiry.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_BalanceInquiry.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_BalanceInquiry.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_BalanceInquiry.prototype.amountSaldo = undefined; +timapi.protocol.sixml.Response_BalanceInquiry.prototype.transactionInformation = undefined; +timapi.protocol.sixml.Response_BalanceInquiry.prototype.disclaimer = undefined; +timapi.protocol.sixml.Response_BalanceInquiry.prototype.printData = undefined; +timapi.protocol.sixml.Response_BalanceInquiry.prototype.cardData = undefined; +timapi.protocol.sixml.Response_BalanceInquiry.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.amountSaldo != undefined) { + this.xmlAddChild(node, "sixml:AmountSaldo", this.amountSaldo); + } + if (this.transactionInformation != undefined) { + this.xmlAddChild(node, "sixml:TransactionInformation", this.transactionInformation); + } + if (this.disclaimer != undefined) { + this.xmlAddChild(node, "sixml:Disclaimer", this.disclaimer); + } + if (this.printData != undefined) { + this.xmlAddChild(node, "sixml:PrintData", this.printData); + } + if (this.cardData != undefined) { + this.xmlAddChild(node, "sixml:CardData", this.cardData); + } + return node; +}; +timapi.protocol.sixml.Response_CancelReservation = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_CancelReservation) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.transactionInformation = value.transactionInformation ? new timapi.protocol.sixml.TransactionInformation(value.transactionInformation) : undefined; + this.disclaimer = value.disclaimer; + this.printData = value.printData ? new timapi.protocol.sixml.PrintData(value.printData) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:TransactionInformation")) { + this.transactionInformation = new timapi.protocol.sixml.TransactionInformation(this.xmlGetChild(node, "sixml:TransactionInformation")); + } + if (this.xmlHasChild(node, "sixml:Disclaimer")) { + this.disclaimer = this.xmlGetChild(node, "sixml:Disclaimer").textContent; + } + if (this.xmlHasChild(node, "sixml:PrintData")) { + this.printData = new timapi.protocol.sixml.PrintData(this.xmlGetChild(node, "sixml:PrintData")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "NonFinTransaction"; + this.function = "CancelReservation"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_CancelReservation.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_CancelReservation.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_CancelReservation.prototype.function = undefined; +timapi.protocol.sixml.Response_CancelReservation.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_CancelReservation.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_CancelReservation.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_CancelReservation.prototype.amount = undefined; +timapi.protocol.sixml.Response_CancelReservation.prototype.transactionInformation = undefined; +timapi.protocol.sixml.Response_CancelReservation.prototype.disclaimer = undefined; +timapi.protocol.sixml.Response_CancelReservation.prototype.printData = undefined; +timapi.protocol.sixml.Response_CancelReservation.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.transactionInformation != undefined) { + this.xmlAddChild(node, "sixml:TransactionInformation", this.transactionInformation); + } + if (this.disclaimer != undefined) { + this.xmlAddChild(node, "sixml:Disclaimer", this.disclaimer); + } + if (this.printData != undefined) { + this.xmlAddChild(node, "sixml:PrintData", this.printData); + } + return node; +}; +timapi.protocol.sixml.Response_CashAdvance = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_CashAdvance) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.transactionInformation = value.transactionInformation ? new timapi.protocol.sixml.TransactionInformation(value.transactionInformation) : undefined; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.amountDue = value.amountDue ? new timapi.protocol.sixml.AmountDue(value.amountDue) : undefined; + this.amountDcc = value.amountDcc ? new timapi.protocol.sixml.AmountDcc(value.amountDcc) : undefined; + this.amountSaldo = value.amountSaldo ? new timapi.protocol.sixml.AmountSaldo(value.amountSaldo) : undefined; + this.dccDisclaimer = value.dccDisclaimer; + this.disclaimer = value.disclaimer; + this.cardData = value.cardData ? new timapi.protocol.sixml.CardData(value.cardData) : undefined; + this.printData = value.printData ? new timapi.protocol.sixml.PrintData(value.printData) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:TransactionInformation")) { + this.transactionInformation = new timapi.protocol.sixml.TransactionInformation(this.xmlGetChild(node, "sixml:TransactionInformation")); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:AmountDue")) { + this.amountDue = new timapi.protocol.sixml.AmountDue(this.xmlGetChild(node, "sixml:AmountDue")); + } + if (this.xmlHasChild(node, "sixml:AmountDcc")) { + this.amountDcc = new timapi.protocol.sixml.AmountDcc(this.xmlGetChild(node, "sixml:AmountDcc")); + } + if (this.xmlHasChild(node, "sixml:AmountSaldo")) { + this.amountSaldo = new timapi.protocol.sixml.AmountSaldo(this.xmlGetChild(node, "sixml:AmountSaldo")); + } + if (this.xmlHasChild(node, "sixml:DccDisclaimer")) { + this.dccDisclaimer = this.xmlGetChild(node, "sixml:DccDisclaimer").textContent; + } + if (this.xmlHasChild(node, "sixml:Disclaimer")) { + this.disclaimer = this.xmlGetChild(node, "sixml:Disclaimer").textContent; + } + if (this.xmlHasChild(node, "sixml:CardData")) { + this.cardData = new timapi.protocol.sixml.CardData(this.xmlGetChild(node, "sixml:CardData")); + } + if (this.xmlHasChild(node, "sixml:PrintData")) { + this.printData = new timapi.protocol.sixml.PrintData(this.xmlGetChild(node, "sixml:PrintData")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "CashAdvance"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_CashAdvance.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_CashAdvance.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_CashAdvance.prototype.function = undefined; +timapi.protocol.sixml.Response_CashAdvance.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_CashAdvance.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_CashAdvance.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_CashAdvance.prototype.transactionInformation = undefined; +timapi.protocol.sixml.Response_CashAdvance.prototype.amount = undefined; +timapi.protocol.sixml.Response_CashAdvance.prototype.amountDue = undefined; +timapi.protocol.sixml.Response_CashAdvance.prototype.amountDcc = undefined; +timapi.protocol.sixml.Response_CashAdvance.prototype.amountSaldo = undefined; +timapi.protocol.sixml.Response_CashAdvance.prototype.dccDisclaimer = undefined; +timapi.protocol.sixml.Response_CashAdvance.prototype.disclaimer = undefined; +timapi.protocol.sixml.Response_CashAdvance.prototype.cardData = undefined; +timapi.protocol.sixml.Response_CashAdvance.prototype.printData = undefined; +timapi.protocol.sixml.Response_CashAdvance.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.transactionInformation != undefined) { + this.xmlAddChild(node, "sixml:TransactionInformation", this.transactionInformation); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.amountDue != undefined) { + this.xmlAddChild(node, "sixml:AmountDue", this.amountDue); + } + if (this.amountDcc != undefined) { + this.xmlAddChild(node, "sixml:AmountDcc", this.amountDcc); + } + if (this.amountSaldo != undefined) { + this.xmlAddChild(node, "sixml:AmountSaldo", this.amountSaldo); + } + if (this.dccDisclaimer != undefined) { + this.xmlAddChild(node, "sixml:DccDisclaimer", this.dccDisclaimer); + } + if (this.disclaimer != undefined) { + this.xmlAddChild(node, "sixml:Disclaimer", this.disclaimer); + } + if (this.cardData != undefined) { + this.xmlAddChild(node, "sixml:CardData", this.cardData); + } + if (this.printData != undefined) { + this.xmlAddChild(node, "sixml:PrintData", this.printData); + } + return node; +}; +timapi.protocol.sixml.Response_ChangeSettings = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_ChangeSettings) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "ChangeSettings"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_ChangeSettings.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_ChangeSettings.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_ChangeSettings.prototype.function = undefined; +timapi.protocol.sixml.Response_ChangeSettings.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_ChangeSettings.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_ChangeSettings.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_ChangeSettings.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + return node; +}; +timapi.protocol.sixml.Response_CloseDialogMode = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_CloseDialogMode) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "CloseDialogMode"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_CloseDialogMode.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_CloseDialogMode.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_CloseDialogMode.prototype.function = undefined; +timapi.protocol.sixml.Response_CloseDialogMode.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_CloseDialogMode.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_CloseDialogMode.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_CloseDialogMode.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + return node; +}; +timapi.protocol.sixml.Response_CloseMaintenanceWindow = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_CloseMaintenanceWindow) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "CloseMaintenanceWindow"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_CloseMaintenanceWindow.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_CloseMaintenanceWindow.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_CloseMaintenanceWindow.prototype.function = undefined; +timapi.protocol.sixml.Response_CloseMaintenanceWindow.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_CloseMaintenanceWindow.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_CloseMaintenanceWindow.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_CloseMaintenanceWindow.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + return node; +}; +timapi.protocol.sixml.Response_CloseReader = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_CloseReader) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "CloseReader"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_CloseReader.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_CloseReader.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_CloseReader.prototype.function = undefined; +timapi.protocol.sixml.Response_CloseReader.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_CloseReader.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_CloseReader.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_CloseReader.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + return node; +}; +timapi.protocol.sixml.Response_CollectPoints = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_CollectPoints) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.transactionInformation = value.transactionInformation ? new timapi.protocol.sixml.TransactionInformation(value.transactionInformation) : undefined; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.amountSaldo = value.amountSaldo ? new timapi.protocol.sixml.AmountSaldo(value.amountSaldo) : undefined; + this.disclaimer = value.disclaimer; + this.cardData = value.cardData ? new timapi.protocol.sixml.CardData(value.cardData) : undefined; + this.printData = value.printData ? new timapi.protocol.sixml.PrintData(value.printData) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:TransactionInformation")) { + this.transactionInformation = new timapi.protocol.sixml.TransactionInformation(this.xmlGetChild(node, "sixml:TransactionInformation")); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:AmountSaldo")) { + this.amountSaldo = new timapi.protocol.sixml.AmountSaldo(this.xmlGetChild(node, "sixml:AmountSaldo")); + } + if (this.xmlHasChild(node, "sixml:Disclaimer")) { + this.disclaimer = this.xmlGetChild(node, "sixml:Disclaimer").textContent; + } + if (this.xmlHasChild(node, "sixml:CardData")) { + this.cardData = new timapi.protocol.sixml.CardData(this.xmlGetChild(node, "sixml:CardData")); + } + if (this.xmlHasChild(node, "sixml:PrintData")) { + this.printData = new timapi.protocol.sixml.PrintData(this.xmlGetChild(node, "sixml:PrintData")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "CollectPoints"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_CollectPoints.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_CollectPoints.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_CollectPoints.prototype.function = undefined; +timapi.protocol.sixml.Response_CollectPoints.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_CollectPoints.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_CollectPoints.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_CollectPoints.prototype.transactionInformation = undefined; +timapi.protocol.sixml.Response_CollectPoints.prototype.amount = undefined; +timapi.protocol.sixml.Response_CollectPoints.prototype.amountSaldo = undefined; +timapi.protocol.sixml.Response_CollectPoints.prototype.disclaimer = undefined; +timapi.protocol.sixml.Response_CollectPoints.prototype.cardData = undefined; +timapi.protocol.sixml.Response_CollectPoints.prototype.printData = undefined; +timapi.protocol.sixml.Response_CollectPoints.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.transactionInformation != undefined) { + this.xmlAddChild(node, "sixml:TransactionInformation", this.transactionInformation); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.amountSaldo != undefined) { + this.xmlAddChild(node, "sixml:AmountSaldo", this.amountSaldo); + } + if (this.disclaimer != undefined) { + this.xmlAddChild(node, "sixml:Disclaimer", this.disclaimer); + } + if (this.cardData != undefined) { + this.xmlAddChild(node, "sixml:CardData", this.cardData); + } + if (this.printData != undefined) { + this.xmlAddChild(node, "sixml:PrintData", this.printData); + } + return node; +}; +timapi.protocol.sixml.Response_Combined = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_Combined) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.amountSaldo = value.amountSaldo ? new timapi.protocol.sixml.AmountSaldo(value.amountSaldo) : undefined; + this.disclaimer = value.disclaimer; + this.printData = value.printData ? new timapi.protocol.sixml.PrintData(value.printData) : undefined; + this.transactionInformation = value.transactionInformation ? new timapi.protocol.sixml.TransactionInformation(value.transactionInformation) : undefined; + this.cardData = value.cardData ? new timapi.protocol.sixml.CardData(value.cardData) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:AmountSaldo")) { + this.amountSaldo = new timapi.protocol.sixml.AmountSaldo(this.xmlGetChild(node, "sixml:AmountSaldo")); + } + if (this.xmlHasChild(node, "sixml:Disclaimer")) { + this.disclaimer = this.xmlGetChild(node, "sixml:Disclaimer").textContent; + } + if (this.xmlHasChild(node, "sixml:PrintData")) { + this.printData = new timapi.protocol.sixml.PrintData(this.xmlGetChild(node, "sixml:PrintData")); + } + if (this.xmlHasChild(node, "sixml:TransactionInformation")) { + this.transactionInformation = new timapi.protocol.sixml.TransactionInformation(this.xmlGetChild(node, "sixml:TransactionInformation")); + } + if (this.xmlHasChild(node, "sixml:CardData")) { + this.cardData = new timapi.protocol.sixml.CardData(this.xmlGetChild(node, "sixml:CardData")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "Combined"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_Combined.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_Combined.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_Combined.prototype.function = undefined; +timapi.protocol.sixml.Response_Combined.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_Combined.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_Combined.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_Combined.prototype.amount = undefined; +timapi.protocol.sixml.Response_Combined.prototype.amountSaldo = undefined; +timapi.protocol.sixml.Response_Combined.prototype.disclaimer = undefined; +timapi.protocol.sixml.Response_Combined.prototype.printData = undefined; +timapi.protocol.sixml.Response_Combined.prototype.transactionInformation = undefined; +timapi.protocol.sixml.Response_Combined.prototype.cardData = undefined; +timapi.protocol.sixml.Response_Combined.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.amountSaldo != undefined) { + this.xmlAddChild(node, "sixml:AmountSaldo", this.amountSaldo); + } + if (this.disclaimer != undefined) { + this.xmlAddChild(node, "sixml:Disclaimer", this.disclaimer); + } + if (this.printData != undefined) { + this.xmlAddChild(node, "sixml:PrintData", this.printData); + } + if (this.transactionInformation != undefined) { + this.xmlAddChild(node, "sixml:TransactionInformation", this.transactionInformation); + } + if (this.cardData != undefined) { + this.xmlAddChild(node, "sixml:CardData", this.cardData); + } + return node; +}; +timapi.protocol.sixml.Response_Commit = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_Commit) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.repeat = value.repeat; + this.printData = value.printData ? new timapi.protocol.sixml.PrintData(value.printData) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasAttribute(node, "Repeat")) { + this.repeat = (this.xmlGetAttribute(node, "Repeat") ? parseInt(this.xmlGetAttribute(node, "Repeat")) : 0); + } + if (this.xmlHasChild(node, "sixml:PrintData")) { + this.printData = new timapi.protocol.sixml.PrintData(this.xmlGetChild(node, "sixml:PrintData")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "Commit"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_Commit.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_Commit.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_Commit.prototype.function = undefined; +timapi.protocol.sixml.Response_Commit.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_Commit.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_Commit.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_Commit.prototype.repeat = undefined; +timapi.protocol.sixml.Response_Commit.prototype.printData = undefined; +timapi.protocol.sixml.Response_Commit.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.repeat != undefined) { + this.xmlSetAttribute(node, "Repeat", timapi.utils.StringHelper.makeString(this.repeat)); + } + if (this.printData != undefined) { + this.xmlAddChild(node, "sixml:PrintData", this.printData); + } + return node; +}; +timapi.protocol.sixml.Response_CounterRequest = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_CounterRequest) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.counters = value.counters ? new timapi.protocol.sixml.Counters(value.counters) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:Counters")) { + this.counters = new timapi.protocol.sixml.Counters(this.xmlGetChild(node, "sixml:Counters")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "CounterRequest"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_CounterRequest.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_CounterRequest.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_CounterRequest.prototype.function = undefined; +timapi.protocol.sixml.Response_CounterRequest.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_CounterRequest.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_CounterRequest.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_CounterRequest.prototype.counters = undefined; +timapi.protocol.sixml.Response_CounterRequest.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.counters != undefined) { + this.xmlAddChild(node, "sixml:Counters", this.counters); + } + return node; +}; +timapi.protocol.sixml.Response_Credit = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_Credit) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.transactionInformation = value.transactionInformation ? new timapi.protocol.sixml.TransactionInformation(value.transactionInformation) : undefined; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.amountDcc = value.amountDcc ? new timapi.protocol.sixml.AmountDcc(value.amountDcc) : undefined; + this.amountSaldo = value.amountSaldo ? new timapi.protocol.sixml.AmountSaldo(value.amountSaldo) : undefined; + this.dccDisclaimer = value.dccDisclaimer; + this.disclaimer = value.disclaimer; + this.cardData = value.cardData ? new timapi.protocol.sixml.CardData(value.cardData) : undefined; + this.printData = value.printData ? new timapi.protocol.sixml.PrintData(value.printData) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:TransactionInformation")) { + this.transactionInformation = new timapi.protocol.sixml.TransactionInformation(this.xmlGetChild(node, "sixml:TransactionInformation")); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:AmountDcc")) { + this.amountDcc = new timapi.protocol.sixml.AmountDcc(this.xmlGetChild(node, "sixml:AmountDcc")); + } + if (this.xmlHasChild(node, "sixml:AmountSaldo")) { + this.amountSaldo = new timapi.protocol.sixml.AmountSaldo(this.xmlGetChild(node, "sixml:AmountSaldo")); + } + if (this.xmlHasChild(node, "sixml:DccDisclaimer")) { + this.dccDisclaimer = this.xmlGetChild(node, "sixml:DccDisclaimer").textContent; + } + if (this.xmlHasChild(node, "sixml:Disclaimer")) { + this.disclaimer = this.xmlGetChild(node, "sixml:Disclaimer").textContent; + } + if (this.xmlHasChild(node, "sixml:CardData")) { + this.cardData = new timapi.protocol.sixml.CardData(this.xmlGetChild(node, "sixml:CardData")); + } + if (this.xmlHasChild(node, "sixml:PrintData")) { + this.printData = new timapi.protocol.sixml.PrintData(this.xmlGetChild(node, "sixml:PrintData")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "Credit"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_Credit.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_Credit.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_Credit.prototype.function = undefined; +timapi.protocol.sixml.Response_Credit.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_Credit.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_Credit.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_Credit.prototype.transactionInformation = undefined; +timapi.protocol.sixml.Response_Credit.prototype.amount = undefined; +timapi.protocol.sixml.Response_Credit.prototype.amountDcc = undefined; +timapi.protocol.sixml.Response_Credit.prototype.amountSaldo = undefined; +timapi.protocol.sixml.Response_Credit.prototype.dccDisclaimer = undefined; +timapi.protocol.sixml.Response_Credit.prototype.disclaimer = undefined; +timapi.protocol.sixml.Response_Credit.prototype.cardData = undefined; +timapi.protocol.sixml.Response_Credit.prototype.printData = undefined; +timapi.protocol.sixml.Response_Credit.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.transactionInformation != undefined) { + this.xmlAddChild(node, "sixml:TransactionInformation", this.transactionInformation); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.amountDcc != undefined) { + this.xmlAddChild(node, "sixml:AmountDcc", this.amountDcc); + } + if (this.amountSaldo != undefined) { + this.xmlAddChild(node, "sixml:AmountSaldo", this.amountSaldo); + } + if (this.dccDisclaimer != undefined) { + this.xmlAddChild(node, "sixml:DccDisclaimer", this.dccDisclaimer); + } + if (this.disclaimer != undefined) { + this.xmlAddChild(node, "sixml:Disclaimer", this.disclaimer); + } + if (this.cardData != undefined) { + this.xmlAddChild(node, "sixml:CardData", this.cardData); + } + if (this.printData != undefined) { + this.xmlAddChild(node, "sixml:PrintData", this.printData); + } + return node; +}; +timapi.protocol.sixml.Response_DccRates = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_DccRates) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.printData = value.printData ? new timapi.protocol.sixml.PrintData(value.printData) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:PrintData")) { + this.printData = new timapi.protocol.sixml.PrintData(this.xmlGetChild(node, "sixml:PrintData")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "DccRates"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_DccRates.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_DccRates.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_DccRates.prototype.function = undefined; +timapi.protocol.sixml.Response_DccRates.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_DccRates.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_DccRates.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_DccRates.prototype.printData = undefined; +timapi.protocol.sixml.Response_DccRates.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.printData != undefined) { + this.xmlAddChild(node, "sixml:PrintData", this.printData); + } + return node; +}; +timapi.protocol.sixml.Response_Deactivate = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_Deactivate) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.printData = value.printData ? new timapi.protocol.sixml.PrintData(value.printData) : undefined; + this.counters = value.counters ? new timapi.protocol.sixml.Counters(value.counters) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:PrintData")) { + this.printData = new timapi.protocol.sixml.PrintData(this.xmlGetChild(node, "sixml:PrintData")); + } + if (this.xmlHasChild(node, "sixml:Counters")) { + this.counters = new timapi.protocol.sixml.Counters(this.xmlGetChild(node, "sixml:Counters")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "Deactivate"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_Deactivate.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_Deactivate.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_Deactivate.prototype.function = undefined; +timapi.protocol.sixml.Response_Deactivate.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_Deactivate.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_Deactivate.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_Deactivate.prototype.printData = undefined; +timapi.protocol.sixml.Response_Deactivate.prototype.counters = undefined; +timapi.protocol.sixml.Response_Deactivate.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.printData != undefined) { + this.xmlAddChild(node, "sixml:PrintData", this.printData); + } + if (this.counters != undefined) { + this.xmlAddChild(node, "sixml:Counters", this.counters); + } + return node; +}; +timapi.protocol.sixml.Response_EjectCard = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_EjectCard) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "EjectCard"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_EjectCard.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_EjectCard.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_EjectCard.prototype.function = undefined; +timapi.protocol.sixml.Response_EjectCard.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_EjectCard.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_EjectCard.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_EjectCard.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + return node; +}; +timapi.protocol.sixml.Response_Error = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_Error) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.errorMessage = value.errorMessage; + this.nativeError = value.nativeError ? new timapi.protocol.sixml.NativeError(value.nativeError) : undefined; + this.ppInfo = value.ppInfo ? new timapi.protocol.sixml.PpInfo(value.ppInfo) : undefined; + this.additionalErrorInfoList = value.additionalErrorInfoList ? new timapi.protocol.sixml.AdditionalErrorInfoList(value.additionalErrorInfoList) : undefined; + this.printData = value.printData ? new timapi.protocol.sixml.PrintData(value.printData) : undefined; + this.basket = value.basket ? new timapi.protocol.sixml.Basket(value.basket) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:ErrorMessage")) { + this.errorMessage = this.xmlGetChild(node, "sixml:ErrorMessage").textContent; + } + if (this.xmlHasChild(node, "sixml:NativeError")) { + this.nativeError = new timapi.protocol.sixml.NativeError(this.xmlGetChild(node, "sixml:NativeError")); + } + if (this.xmlHasChild(node, "sixml:PpInfo")) { + this.ppInfo = new timapi.protocol.sixml.PpInfo(this.xmlGetChild(node, "sixml:PpInfo")); + } + if (this.xmlHasChild(node, "sixml:AdditionalErrorInfoList")) { + this.additionalErrorInfoList = new timapi.protocol.sixml.AdditionalErrorInfoList(this.xmlGetChild(node, "sixml:AdditionalErrorInfoList")); + } + if (this.xmlHasChild(node, "sixml:PrintData")) { + this.printData = new timapi.protocol.sixml.PrintData(this.xmlGetChild(node, "sixml:PrintData")); + } + if (this.xmlHasChild(node, "sixml:Basket")) { + this.basket = new timapi.protocol.sixml.Basket(this.xmlGetChild(node, "sixml:Basket")); + } + return; + } + if (arguments.length == 0) { + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_Error.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_Error.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_Error.prototype.function = undefined; +timapi.protocol.sixml.Response_Error.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_Error.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_Error.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_Error.prototype.errorMessage = undefined; +timapi.protocol.sixml.Response_Error.prototype.nativeError = undefined; +timapi.protocol.sixml.Response_Error.prototype.ppInfo = undefined; +timapi.protocol.sixml.Response_Error.prototype.additionalErrorInfoList = undefined; +timapi.protocol.sixml.Response_Error.prototype.printData = undefined; +timapi.protocol.sixml.Response_Error.prototype.basket = undefined; +timapi.protocol.sixml.Response_Error.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.errorMessage != undefined) { + this.xmlAddChild(node, "sixml:ErrorMessage", this.errorMessage); + } + if (this.nativeError != undefined) { + this.xmlAddChild(node, "sixml:NativeError", this.nativeError); + } + if (this.ppInfo != undefined) { + this.xmlAddChild(node, "sixml:PpInfo", this.ppInfo); + } + if (this.additionalErrorInfoList != undefined) { + this.xmlAddChild(node, "sixml:AdditionalErrorInfoList", this.additionalErrorInfoList); + } + if (this.printData != undefined) { + this.xmlAddChild(node, "sixml:PrintData", this.printData); + } + if (this.basket != undefined) { + this.xmlAddChild(node, "sixml:Basket", this.basket); + } + return node; +}; +timapi.protocol.sixml.Response_FeatureRequest = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_FeatureRequest) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.features = value.features ? new timapi.protocol.sixml.Features(value.features) : undefined; + this.terminalId = value.terminalId; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:Features")) { + this.features = new timapi.protocol.sixml.Features(this.xmlGetChild(node, "sixml:Features")); + } + if (this.xmlHasChild(node, "sixml:TerminalId")) { + this.terminalId = this.xmlGetChild(node, "sixml:TerminalId").textContent; + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Status"; + this.function = "FeatureRequest"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_FeatureRequest.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_FeatureRequest.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_FeatureRequest.prototype.function = undefined; +timapi.protocol.sixml.Response_FeatureRequest.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_FeatureRequest.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_FeatureRequest.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_FeatureRequest.prototype.features = undefined; +timapi.protocol.sixml.Response_FeatureRequest.prototype.terminalId = undefined; +timapi.protocol.sixml.Response_FeatureRequest.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.features != undefined) { + this.xmlAddChild(node, "sixml:Features", this.features); + } + if (this.terminalId != undefined) { + this.xmlAddChild(node, "sixml:TerminalId", this.terminalId); + } + return node; +}; +timapi.protocol.sixml.Response_FinalizePurchase = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_FinalizePurchase) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.printData = value.printData ? new timapi.protocol.sixml.PrintData(value.printData) : undefined; + this.basket = value.basket ? new timapi.protocol.sixml.Basket(value.basket) : undefined; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.transactionInformation = value.transactionInformation ? new timapi.protocol.sixml.TransactionInformation(value.transactionInformation) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:PrintData")) { + this.printData = new timapi.protocol.sixml.PrintData(this.xmlGetChild(node, "sixml:PrintData")); + } + if (this.xmlHasChild(node, "sixml:Basket")) { + this.basket = new timapi.protocol.sixml.Basket(this.xmlGetChild(node, "sixml:Basket")); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:TransactionInformation")) { + this.transactionInformation = new timapi.protocol.sixml.TransactionInformation(this.xmlGetChild(node, "sixml:TransactionInformation")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "FinalizePurchase"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_FinalizePurchase.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_FinalizePurchase.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_FinalizePurchase.prototype.function = undefined; +timapi.protocol.sixml.Response_FinalizePurchase.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_FinalizePurchase.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_FinalizePurchase.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_FinalizePurchase.prototype.printData = undefined; +timapi.protocol.sixml.Response_FinalizePurchase.prototype.basket = undefined; +timapi.protocol.sixml.Response_FinalizePurchase.prototype.amount = undefined; +timapi.protocol.sixml.Response_FinalizePurchase.prototype.transactionInformation = undefined; +timapi.protocol.sixml.Response_FinalizePurchase.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.printData != undefined) { + this.xmlAddChild(node, "sixml:PrintData", this.printData); + } + if (this.basket != undefined) { + this.xmlAddChild(node, "sixml:Basket", this.basket); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.transactionInformation != undefined) { + this.xmlAddChild(node, "sixml:TransactionInformation", this.transactionInformation); + } + return node; +}; +timapi.protocol.sixml.Response_Giro = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_Giro) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.amountSaldo = value.amountSaldo ? new timapi.protocol.sixml.AmountSaldo(value.amountSaldo) : undefined; + this.disclaimer = value.disclaimer; + this.printData = value.printData ? new timapi.protocol.sixml.PrintData(value.printData) : undefined; + this.transactionInformation = value.transactionInformation ? new timapi.protocol.sixml.TransactionInformation(value.transactionInformation) : undefined; + this.cardData = value.cardData ? new timapi.protocol.sixml.CardData(value.cardData) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:AmountSaldo")) { + this.amountSaldo = new timapi.protocol.sixml.AmountSaldo(this.xmlGetChild(node, "sixml:AmountSaldo")); + } + if (this.xmlHasChild(node, "sixml:Disclaimer")) { + this.disclaimer = this.xmlGetChild(node, "sixml:Disclaimer").textContent; + } + if (this.xmlHasChild(node, "sixml:PrintData")) { + this.printData = new timapi.protocol.sixml.PrintData(this.xmlGetChild(node, "sixml:PrintData")); + } + if (this.xmlHasChild(node, "sixml:TransactionInformation")) { + this.transactionInformation = new timapi.protocol.sixml.TransactionInformation(this.xmlGetChild(node, "sixml:TransactionInformation")); + } + if (this.xmlHasChild(node, "sixml:CardData")) { + this.cardData = new timapi.protocol.sixml.CardData(this.xmlGetChild(node, "sixml:CardData")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "Giro"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_Giro.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_Giro.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_Giro.prototype.function = undefined; +timapi.protocol.sixml.Response_Giro.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_Giro.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_Giro.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_Giro.prototype.amount = undefined; +timapi.protocol.sixml.Response_Giro.prototype.amountSaldo = undefined; +timapi.protocol.sixml.Response_Giro.prototype.disclaimer = undefined; +timapi.protocol.sixml.Response_Giro.prototype.printData = undefined; +timapi.protocol.sixml.Response_Giro.prototype.transactionInformation = undefined; +timapi.protocol.sixml.Response_Giro.prototype.cardData = undefined; +timapi.protocol.sixml.Response_Giro.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.amountSaldo != undefined) { + this.xmlAddChild(node, "sixml:AmountSaldo", this.amountSaldo); + } + if (this.disclaimer != undefined) { + this.xmlAddChild(node, "sixml:Disclaimer", this.disclaimer); + } + if (this.printData != undefined) { + this.xmlAddChild(node, "sixml:PrintData", this.printData); + } + if (this.transactionInformation != undefined) { + this.xmlAddChild(node, "sixml:TransactionInformation", this.transactionInformation); + } + if (this.cardData != undefined) { + this.xmlAddChild(node, "sixml:CardData", this.cardData); + } + return node; +}; +timapi.protocol.sixml.Response_HardwareInformation = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_HardwareInformation) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.errorCode = value.errorCode; + this.hardwareList = value.hardwareList ? new timapi.protocol.sixml.HardwareList(value.hardwareList) : undefined; + this.kernelVersionList = value.kernelVersionList ? new timapi.protocol.sixml.KernelVersionList(value.kernelVersionList) : undefined; + this.settingsList = value.settingsList ? new timapi.protocol.sixml.SettingsList(value.settingsList) : undefined; + this.statisticsList = value.statisticsList ? new timapi.protocol.sixml.StatisticsList(value.statisticsList) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:ErrorCode")) { + this.errorCode = (this.xmlGetChild(node, "sixml:ErrorCode").textContent ? parseInt(this.xmlGetChild(node, "sixml:ErrorCode").textContent) : 0); + } + if (this.xmlHasChild(node, "sixml:HardwareList")) { + this.hardwareList = new timapi.protocol.sixml.HardwareList(this.xmlGetChild(node, "sixml:HardwareList")); + } + if (this.xmlHasChild(node, "sixml:KernelVersionList")) { + this.kernelVersionList = new timapi.protocol.sixml.KernelVersionList(this.xmlGetChild(node, "sixml:KernelVersionList")); + } + if (this.xmlHasChild(node, "sixml:SettingsList")) { + this.settingsList = new timapi.protocol.sixml.SettingsList(this.xmlGetChild(node, "sixml:SettingsList")); + } + if (this.xmlHasChild(node, "sixml:StatisticsList")) { + this.statisticsList = new timapi.protocol.sixml.StatisticsList(this.xmlGetChild(node, "sixml:StatisticsList")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Status"; + this.function = "HardwareInformation"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_HardwareInformation.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_HardwareInformation.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_HardwareInformation.prototype.function = undefined; +timapi.protocol.sixml.Response_HardwareInformation.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_HardwareInformation.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_HardwareInformation.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_HardwareInformation.prototype.errorCode = undefined; +timapi.protocol.sixml.Response_HardwareInformation.prototype.hardwareList = undefined; +timapi.protocol.sixml.Response_HardwareInformation.prototype.kernelVersionList = undefined; +timapi.protocol.sixml.Response_HardwareInformation.prototype.settingsList = undefined; +timapi.protocol.sixml.Response_HardwareInformation.prototype.statisticsList = undefined; +timapi.protocol.sixml.Response_HardwareInformation.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.errorCode != undefined) { + this.xmlAddChild(node, "sixml:ErrorCode", timapi.utils.StringHelper.makeString(this.errorCode)); + } + if (this.hardwareList != undefined) { + this.xmlAddChild(node, "sixml:HardwareList", this.hardwareList); + } + if (this.kernelVersionList != undefined) { + this.xmlAddChild(node, "sixml:KernelVersionList", this.kernelVersionList); + } + if (this.settingsList != undefined) { + this.xmlAddChild(node, "sixml:SettingsList", this.settingsList); + } + if (this.statisticsList != undefined) { + this.xmlAddChild(node, "sixml:StatisticsList", this.statisticsList); + } + return node; +}; +timapi.protocol.sixml.Response_InitTransaction = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_InitTransaction) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.cardData = value.cardData ? new timapi.protocol.sixml.CardData(value.cardData) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:CardData")) { + this.cardData = new timapi.protocol.sixml.CardData(this.xmlGetChild(node, "sixml:CardData")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "NonFinTransaction"; + this.function = "InitTransaction"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_InitTransaction.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_InitTransaction.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_InitTransaction.prototype.function = undefined; +timapi.protocol.sixml.Response_InitTransaction.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_InitTransaction.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_InitTransaction.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_InitTransaction.prototype.cardData = undefined; +timapi.protocol.sixml.Response_InitTransaction.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.cardData != undefined) { + this.xmlAddChild(node, "sixml:CardData", this.cardData); + } + return node; +}; +timapi.protocol.sixml.Response_LoadVoucher = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_LoadVoucher) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.transactionInformation = value.transactionInformation ? new timapi.protocol.sixml.TransactionInformation(value.transactionInformation) : undefined; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.amountSaldo = value.amountSaldo ? new timapi.protocol.sixml.AmountSaldo(value.amountSaldo) : undefined; + this.disclaimer = value.disclaimer; + this.cardData = value.cardData ? new timapi.protocol.sixml.CardData(value.cardData) : undefined; + this.printData = value.printData ? new timapi.protocol.sixml.PrintData(value.printData) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:TransactionInformation")) { + this.transactionInformation = new timapi.protocol.sixml.TransactionInformation(this.xmlGetChild(node, "sixml:TransactionInformation")); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:AmountSaldo")) { + this.amountSaldo = new timapi.protocol.sixml.AmountSaldo(this.xmlGetChild(node, "sixml:AmountSaldo")); + } + if (this.xmlHasChild(node, "sixml:Disclaimer")) { + this.disclaimer = this.xmlGetChild(node, "sixml:Disclaimer").textContent; + } + if (this.xmlHasChild(node, "sixml:CardData")) { + this.cardData = new timapi.protocol.sixml.CardData(this.xmlGetChild(node, "sixml:CardData")); + } + if (this.xmlHasChild(node, "sixml:PrintData")) { + this.printData = new timapi.protocol.sixml.PrintData(this.xmlGetChild(node, "sixml:PrintData")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "LoadVoucher"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_LoadVoucher.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_LoadVoucher.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_LoadVoucher.prototype.function = undefined; +timapi.protocol.sixml.Response_LoadVoucher.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_LoadVoucher.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_LoadVoucher.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_LoadVoucher.prototype.transactionInformation = undefined; +timapi.protocol.sixml.Response_LoadVoucher.prototype.amount = undefined; +timapi.protocol.sixml.Response_LoadVoucher.prototype.amountSaldo = undefined; +timapi.protocol.sixml.Response_LoadVoucher.prototype.disclaimer = undefined; +timapi.protocol.sixml.Response_LoadVoucher.prototype.cardData = undefined; +timapi.protocol.sixml.Response_LoadVoucher.prototype.printData = undefined; +timapi.protocol.sixml.Response_LoadVoucher.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.transactionInformation != undefined) { + this.xmlAddChild(node, "sixml:TransactionInformation", this.transactionInformation); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.amountSaldo != undefined) { + this.xmlAddChild(node, "sixml:AmountSaldo", this.amountSaldo); + } + if (this.disclaimer != undefined) { + this.xmlAddChild(node, "sixml:Disclaimer", this.disclaimer); + } + if (this.cardData != undefined) { + this.xmlAddChild(node, "sixml:CardData", this.cardData); + } + if (this.printData != undefined) { + this.xmlAddChild(node, "sixml:PrintData", this.printData); + } + return node; +}; +timapi.protocol.sixml.Response_Login = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_Login) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "Login"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_Login.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_Login.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_Login.prototype.function = undefined; +timapi.protocol.sixml.Response_Login.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_Login.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_Login.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_Login.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + return node; +}; +timapi.protocol.sixml.Response_Logout = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_Logout) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "Logout"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_Logout.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_Logout.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_Logout.prototype.function = undefined; +timapi.protocol.sixml.Response_Logout.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_Logout.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_Logout.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_Logout.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + return node; +}; +timapi.protocol.sixml.Response_OpenDialogMode = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_OpenDialogMode) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "OpenDialogMode"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_OpenDialogMode.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_OpenDialogMode.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_OpenDialogMode.prototype.function = undefined; +timapi.protocol.sixml.Response_OpenDialogMode.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_OpenDialogMode.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_OpenDialogMode.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_OpenDialogMode.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + return node; +}; +timapi.protocol.sixml.Response_OpenMaintenanceWindow = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_OpenMaintenanceWindow) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "OpenMaintenanceWindow"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_OpenMaintenanceWindow.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_OpenMaintenanceWindow.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_OpenMaintenanceWindow.prototype.function = undefined; +timapi.protocol.sixml.Response_OpenMaintenanceWindow.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_OpenMaintenanceWindow.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_OpenMaintenanceWindow.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_OpenMaintenanceWindow.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + return node; +}; +timapi.protocol.sixml.Response_OpenReader = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_OpenReader) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "OpenReader"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_OpenReader.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_OpenReader.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_OpenReader.prototype.function = undefined; +timapi.protocol.sixml.Response_OpenReader.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_OpenReader.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_OpenReader.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_OpenReader.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + return node; +}; +timapi.protocol.sixml.Response_PreAuthorization = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_PreAuthorization) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.amountDcc = value.amountDcc ? new timapi.protocol.sixml.AmountDcc(value.amountDcc) : undefined; + this.basket = value.basket ? new timapi.protocol.sixml.Basket(value.basket) : undefined; + this.additionalInfoList = value.additionalInfoList ? new timapi.protocol.sixml.AdditionalInfoList(value.additionalInfoList) : undefined; + this.printData = value.printData ? new timapi.protocol.sixml.PrintData(value.printData) : undefined; + this.dccDisclaimer = value.dccDisclaimer; + this.disclaimer = value.disclaimer; + this.amountSaldo = value.amountSaldo ? new timapi.protocol.sixml.AmountSaldo(value.amountSaldo) : undefined; + this.cardData = value.cardData ? new timapi.protocol.sixml.CardData(value.cardData) : undefined; + this.transactionInformation = value.transactionInformation ? new timapi.protocol.sixml.TransactionInformation(value.transactionInformation) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:AmountDcc")) { + this.amountDcc = new timapi.protocol.sixml.AmountDcc(this.xmlGetChild(node, "sixml:AmountDcc")); + } + if (this.xmlHasChild(node, "sixml:Basket")) { + this.basket = new timapi.protocol.sixml.Basket(this.xmlGetChild(node, "sixml:Basket")); + } + if (this.xmlHasChild(node, "sixml:AdditionalInfoList")) { + this.additionalInfoList = new timapi.protocol.sixml.AdditionalInfoList(this.xmlGetChild(node, "sixml:AdditionalInfoList")); + } + if (this.xmlHasChild(node, "sixml:PrintData")) { + this.printData = new timapi.protocol.sixml.PrintData(this.xmlGetChild(node, "sixml:PrintData")); + } + if (this.xmlHasChild(node, "sixml:DccDisclaimer")) { + this.dccDisclaimer = this.xmlGetChild(node, "sixml:DccDisclaimer").textContent; + } + if (this.xmlHasChild(node, "sixml:Disclaimer")) { + this.disclaimer = this.xmlGetChild(node, "sixml:Disclaimer").textContent; + } + if (this.xmlHasChild(node, "sixml:AmountSaldo")) { + this.amountSaldo = new timapi.protocol.sixml.AmountSaldo(this.xmlGetChild(node, "sixml:AmountSaldo")); + } + if (this.xmlHasChild(node, "sixml:CardData")) { + this.cardData = new timapi.protocol.sixml.CardData(this.xmlGetChild(node, "sixml:CardData")); + } + if (this.xmlHasChild(node, "sixml:TransactionInformation")) { + this.transactionInformation = new timapi.protocol.sixml.TransactionInformation(this.xmlGetChild(node, "sixml:TransactionInformation")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "PreAuthorization"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_PreAuthorization.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_PreAuthorization.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_PreAuthorization.prototype.function = undefined; +timapi.protocol.sixml.Response_PreAuthorization.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_PreAuthorization.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_PreAuthorization.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_PreAuthorization.prototype.amount = undefined; +timapi.protocol.sixml.Response_PreAuthorization.prototype.amountDcc = undefined; +timapi.protocol.sixml.Response_PreAuthorization.prototype.basket = undefined; +timapi.protocol.sixml.Response_PreAuthorization.prototype.additionalInfoList = undefined; +timapi.protocol.sixml.Response_PreAuthorization.prototype.printData = undefined; +timapi.protocol.sixml.Response_PreAuthorization.prototype.dccDisclaimer = undefined; +timapi.protocol.sixml.Response_PreAuthorization.prototype.disclaimer = undefined; +timapi.protocol.sixml.Response_PreAuthorization.prototype.amountSaldo = undefined; +timapi.protocol.sixml.Response_PreAuthorization.prototype.cardData = undefined; +timapi.protocol.sixml.Response_PreAuthorization.prototype.transactionInformation = undefined; +timapi.protocol.sixml.Response_PreAuthorization.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.amountDcc != undefined) { + this.xmlAddChild(node, "sixml:AmountDcc", this.amountDcc); + } + if (this.basket != undefined) { + this.xmlAddChild(node, "sixml:Basket", this.basket); + } + if (this.additionalInfoList != undefined) { + this.xmlAddChild(node, "sixml:AdditionalInfoList", this.additionalInfoList); + } + if (this.printData != undefined) { + this.xmlAddChild(node, "sixml:PrintData", this.printData); + } + if (this.dccDisclaimer != undefined) { + this.xmlAddChild(node, "sixml:DccDisclaimer", this.dccDisclaimer); + } + if (this.disclaimer != undefined) { + this.xmlAddChild(node, "sixml:Disclaimer", this.disclaimer); + } + if (this.amountSaldo != undefined) { + this.xmlAddChild(node, "sixml:AmountSaldo", this.amountSaldo); + } + if (this.cardData != undefined) { + this.xmlAddChild(node, "sixml:CardData", this.cardData); + } + if (this.transactionInformation != undefined) { + this.xmlAddChild(node, "sixml:TransactionInformation", this.transactionInformation); + } + return node; +}; +timapi.protocol.sixml.Response_Purchase = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_Purchase) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.transactionInformation = value.transactionInformation ? new timapi.protocol.sixml.TransactionInformation(value.transactionInformation) : undefined; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.amountDue = value.amountDue ? new timapi.protocol.sixml.AmountDue(value.amountDue) : undefined; + this.amountDcc = value.amountDcc ? new timapi.protocol.sixml.AmountDcc(value.amountDcc) : undefined; + this.amountSaldo = value.amountSaldo ? new timapi.protocol.sixml.AmountSaldo(value.amountSaldo) : undefined; + this.dccDisclaimer = value.dccDisclaimer; + this.disclaimer = value.disclaimer; + this.cardData = value.cardData ? new timapi.protocol.sixml.CardData(value.cardData) : undefined; + this.printData = value.printData ? new timapi.protocol.sixml.PrintData(value.printData) : undefined; + this.basket = value.basket ? new timapi.protocol.sixml.Basket(value.basket) : undefined; + this.additionalInfoList = value.additionalInfoList ? new timapi.protocol.sixml.AdditionalInfoList(value.additionalInfoList) : undefined; + this.amountTip = value.amountTip ? new timapi.protocol.sixml.AmountTip(value.amountTip) : undefined; + this.loyaltyCashbackAmount = value.loyaltyCashbackAmount ? new timapi.protocol.sixml.LoyaltyCashbackAmount(value.loyaltyCashbackAmount) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:TransactionInformation")) { + this.transactionInformation = new timapi.protocol.sixml.TransactionInformation(this.xmlGetChild(node, "sixml:TransactionInformation")); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:AmountDue")) { + this.amountDue = new timapi.protocol.sixml.AmountDue(this.xmlGetChild(node, "sixml:AmountDue")); + } + if (this.xmlHasChild(node, "sixml:AmountDcc")) { + this.amountDcc = new timapi.protocol.sixml.AmountDcc(this.xmlGetChild(node, "sixml:AmountDcc")); + } + if (this.xmlHasChild(node, "sixml:AmountSaldo")) { + this.amountSaldo = new timapi.protocol.sixml.AmountSaldo(this.xmlGetChild(node, "sixml:AmountSaldo")); + } + if (this.xmlHasChild(node, "sixml:DccDisclaimer")) { + this.dccDisclaimer = this.xmlGetChild(node, "sixml:DccDisclaimer").textContent; + } + if (this.xmlHasChild(node, "sixml:Disclaimer")) { + this.disclaimer = this.xmlGetChild(node, "sixml:Disclaimer").textContent; + } + if (this.xmlHasChild(node, "sixml:CardData")) { + this.cardData = new timapi.protocol.sixml.CardData(this.xmlGetChild(node, "sixml:CardData")); + } + if (this.xmlHasChild(node, "sixml:PrintData")) { + this.printData = new timapi.protocol.sixml.PrintData(this.xmlGetChild(node, "sixml:PrintData")); + } + if (this.xmlHasChild(node, "sixml:Basket")) { + this.basket = new timapi.protocol.sixml.Basket(this.xmlGetChild(node, "sixml:Basket")); + } + if (this.xmlHasChild(node, "sixml:AdditionalInfoList")) { + this.additionalInfoList = new timapi.protocol.sixml.AdditionalInfoList(this.xmlGetChild(node, "sixml:AdditionalInfoList")); + } + if (this.xmlHasChild(node, "sixml:AmountTip")) { + this.amountTip = new timapi.protocol.sixml.AmountTip(this.xmlGetChild(node, "sixml:AmountTip")); + } + if (this.xmlHasChild(node, "sixml:LoyaltyCashbackAmount")) { + this.loyaltyCashbackAmount = new timapi.protocol.sixml.LoyaltyCashbackAmount(this.xmlGetChild(node, "sixml:LoyaltyCashbackAmount")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "Purchase"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_Purchase.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_Purchase.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_Purchase.prototype.function = undefined; +timapi.protocol.sixml.Response_Purchase.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_Purchase.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_Purchase.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_Purchase.prototype.transactionInformation = undefined; +timapi.protocol.sixml.Response_Purchase.prototype.amount = undefined; +timapi.protocol.sixml.Response_Purchase.prototype.amountDue = undefined; +timapi.protocol.sixml.Response_Purchase.prototype.amountDcc = undefined; +timapi.protocol.sixml.Response_Purchase.prototype.amountSaldo = undefined; +timapi.protocol.sixml.Response_Purchase.prototype.dccDisclaimer = undefined; +timapi.protocol.sixml.Response_Purchase.prototype.disclaimer = undefined; +timapi.protocol.sixml.Response_Purchase.prototype.cardData = undefined; +timapi.protocol.sixml.Response_Purchase.prototype.printData = undefined; +timapi.protocol.sixml.Response_Purchase.prototype.basket = undefined; +timapi.protocol.sixml.Response_Purchase.prototype.additionalInfoList = undefined; +timapi.protocol.sixml.Response_Purchase.prototype.amountTip = undefined; +timapi.protocol.sixml.Response_Purchase.prototype.loyaltyCashbackAmount = undefined; +timapi.protocol.sixml.Response_Purchase.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.transactionInformation != undefined) { + this.xmlAddChild(node, "sixml:TransactionInformation", this.transactionInformation); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.amountDue != undefined) { + this.xmlAddChild(node, "sixml:AmountDue", this.amountDue); + } + if (this.amountDcc != undefined) { + this.xmlAddChild(node, "sixml:AmountDcc", this.amountDcc); + } + if (this.amountSaldo != undefined) { + this.xmlAddChild(node, "sixml:AmountSaldo", this.amountSaldo); + } + if (this.dccDisclaimer != undefined) { + this.xmlAddChild(node, "sixml:DccDisclaimer", this.dccDisclaimer); + } + if (this.disclaimer != undefined) { + this.xmlAddChild(node, "sixml:Disclaimer", this.disclaimer); + } + if (this.cardData != undefined) { + this.xmlAddChild(node, "sixml:CardData", this.cardData); + } + if (this.printData != undefined) { + this.xmlAddChild(node, "sixml:PrintData", this.printData); + } + if (this.basket != undefined) { + this.xmlAddChild(node, "sixml:Basket", this.basket); + } + if (this.additionalInfoList != undefined) { + this.xmlAddChild(node, "sixml:AdditionalInfoList", this.additionalInfoList); + } + if (this.amountTip != undefined) { + this.xmlAddChild(node, "sixml:AmountTip", this.amountTip); + } + if (this.loyaltyCashbackAmount != undefined) { + this.xmlAddChild(node, "sixml:LoyaltyCashbackAmount", this.loyaltyCashbackAmount); + } + return node; +}; +timapi.protocol.sixml.Response_PurchaseForcedAcceptance = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_PurchaseForcedAcceptance) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.transactionInformation = value.transactionInformation ? new timapi.protocol.sixml.TransactionInformation(value.transactionInformation) : undefined; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.amountDue = value.amountDue ? new timapi.protocol.sixml.AmountDue(value.amountDue) : undefined; + this.amountDcc = value.amountDcc ? new timapi.protocol.sixml.AmountDcc(value.amountDcc) : undefined; + this.amountSaldo = value.amountSaldo ? new timapi.protocol.sixml.AmountSaldo(value.amountSaldo) : undefined; + this.dccDisclaimer = value.dccDisclaimer; + this.disclaimer = value.disclaimer; + this.cardData = value.cardData ? new timapi.protocol.sixml.CardData(value.cardData) : undefined; + this.printData = value.printData ? new timapi.protocol.sixml.PrintData(value.printData) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:TransactionInformation")) { + this.transactionInformation = new timapi.protocol.sixml.TransactionInformation(this.xmlGetChild(node, "sixml:TransactionInformation")); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:AmountDue")) { + this.amountDue = new timapi.protocol.sixml.AmountDue(this.xmlGetChild(node, "sixml:AmountDue")); + } + if (this.xmlHasChild(node, "sixml:AmountDcc")) { + this.amountDcc = new timapi.protocol.sixml.AmountDcc(this.xmlGetChild(node, "sixml:AmountDcc")); + } + if (this.xmlHasChild(node, "sixml:AmountSaldo")) { + this.amountSaldo = new timapi.protocol.sixml.AmountSaldo(this.xmlGetChild(node, "sixml:AmountSaldo")); + } + if (this.xmlHasChild(node, "sixml:DccDisclaimer")) { + this.dccDisclaimer = this.xmlGetChild(node, "sixml:DccDisclaimer").textContent; + } + if (this.xmlHasChild(node, "sixml:Disclaimer")) { + this.disclaimer = this.xmlGetChild(node, "sixml:Disclaimer").textContent; + } + if (this.xmlHasChild(node, "sixml:CardData")) { + this.cardData = new timapi.protocol.sixml.CardData(this.xmlGetChild(node, "sixml:CardData")); + } + if (this.xmlHasChild(node, "sixml:PrintData")) { + this.printData = new timapi.protocol.sixml.PrintData(this.xmlGetChild(node, "sixml:PrintData")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "PurchaseForcedAcceptance"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_PurchaseForcedAcceptance.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_PurchaseForcedAcceptance.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_PurchaseForcedAcceptance.prototype.function = undefined; +timapi.protocol.sixml.Response_PurchaseForcedAcceptance.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_PurchaseForcedAcceptance.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_PurchaseForcedAcceptance.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_PurchaseForcedAcceptance.prototype.transactionInformation = undefined; +timapi.protocol.sixml.Response_PurchaseForcedAcceptance.prototype.amount = undefined; +timapi.protocol.sixml.Response_PurchaseForcedAcceptance.prototype.amountDue = undefined; +timapi.protocol.sixml.Response_PurchaseForcedAcceptance.prototype.amountDcc = undefined; +timapi.protocol.sixml.Response_PurchaseForcedAcceptance.prototype.amountSaldo = undefined; +timapi.protocol.sixml.Response_PurchaseForcedAcceptance.prototype.dccDisclaimer = undefined; +timapi.protocol.sixml.Response_PurchaseForcedAcceptance.prototype.disclaimer = undefined; +timapi.protocol.sixml.Response_PurchaseForcedAcceptance.prototype.cardData = undefined; +timapi.protocol.sixml.Response_PurchaseForcedAcceptance.prototype.printData = undefined; +timapi.protocol.sixml.Response_PurchaseForcedAcceptance.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.transactionInformation != undefined) { + this.xmlAddChild(node, "sixml:TransactionInformation", this.transactionInformation); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.amountDue != undefined) { + this.xmlAddChild(node, "sixml:AmountDue", this.amountDue); + } + if (this.amountDcc != undefined) { + this.xmlAddChild(node, "sixml:AmountDcc", this.amountDcc); + } + if (this.amountSaldo != undefined) { + this.xmlAddChild(node, "sixml:AmountSaldo", this.amountSaldo); + } + if (this.dccDisclaimer != undefined) { + this.xmlAddChild(node, "sixml:DccDisclaimer", this.dccDisclaimer); + } + if (this.disclaimer != undefined) { + this.xmlAddChild(node, "sixml:Disclaimer", this.disclaimer); + } + if (this.cardData != undefined) { + this.xmlAddChild(node, "sixml:CardData", this.cardData); + } + if (this.printData != undefined) { + this.xmlAddChild(node, "sixml:PrintData", this.printData); + } + return node; +}; +timapi.protocol.sixml.Response_PurchasePhoneAuthorized = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_PurchasePhoneAuthorized) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.transactionInformation = value.transactionInformation ? new timapi.protocol.sixml.TransactionInformation(value.transactionInformation) : undefined; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.amountDue = value.amountDue ? new timapi.protocol.sixml.AmountDue(value.amountDue) : undefined; + this.amountDcc = value.amountDcc ? new timapi.protocol.sixml.AmountDcc(value.amountDcc) : undefined; + this.amountSaldo = value.amountSaldo ? new timapi.protocol.sixml.AmountSaldo(value.amountSaldo) : undefined; + this.dccDisclaimer = value.dccDisclaimer; + this.disclaimer = value.disclaimer; + this.cardData = value.cardData ? new timapi.protocol.sixml.CardData(value.cardData) : undefined; + this.printData = value.printData ? new timapi.protocol.sixml.PrintData(value.printData) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:TransactionInformation")) { + this.transactionInformation = new timapi.protocol.sixml.TransactionInformation(this.xmlGetChild(node, "sixml:TransactionInformation")); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:AmountDue")) { + this.amountDue = new timapi.protocol.sixml.AmountDue(this.xmlGetChild(node, "sixml:AmountDue")); + } + if (this.xmlHasChild(node, "sixml:AmountDcc")) { + this.amountDcc = new timapi.protocol.sixml.AmountDcc(this.xmlGetChild(node, "sixml:AmountDcc")); + } + if (this.xmlHasChild(node, "sixml:AmountSaldo")) { + this.amountSaldo = new timapi.protocol.sixml.AmountSaldo(this.xmlGetChild(node, "sixml:AmountSaldo")); + } + if (this.xmlHasChild(node, "sixml:DccDisclaimer")) { + this.dccDisclaimer = this.xmlGetChild(node, "sixml:DccDisclaimer").textContent; + } + if (this.xmlHasChild(node, "sixml:Disclaimer")) { + this.disclaimer = this.xmlGetChild(node, "sixml:Disclaimer").textContent; + } + if (this.xmlHasChild(node, "sixml:CardData")) { + this.cardData = new timapi.protocol.sixml.CardData(this.xmlGetChild(node, "sixml:CardData")); + } + if (this.xmlHasChild(node, "sixml:PrintData")) { + this.printData = new timapi.protocol.sixml.PrintData(this.xmlGetChild(node, "sixml:PrintData")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "PurchasePhoneAuthorized"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_PurchasePhoneAuthorized.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_PurchasePhoneAuthorized.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_PurchasePhoneAuthorized.prototype.function = undefined; +timapi.protocol.sixml.Response_PurchasePhoneAuthorized.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_PurchasePhoneAuthorized.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_PurchasePhoneAuthorized.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_PurchasePhoneAuthorized.prototype.transactionInformation = undefined; +timapi.protocol.sixml.Response_PurchasePhoneAuthorized.prototype.amount = undefined; +timapi.protocol.sixml.Response_PurchasePhoneAuthorized.prototype.amountDue = undefined; +timapi.protocol.sixml.Response_PurchasePhoneAuthorized.prototype.amountDcc = undefined; +timapi.protocol.sixml.Response_PurchasePhoneAuthorized.prototype.amountSaldo = undefined; +timapi.protocol.sixml.Response_PurchasePhoneAuthorized.prototype.dccDisclaimer = undefined; +timapi.protocol.sixml.Response_PurchasePhoneAuthorized.prototype.disclaimer = undefined; +timapi.protocol.sixml.Response_PurchasePhoneAuthorized.prototype.cardData = undefined; +timapi.protocol.sixml.Response_PurchasePhoneAuthorized.prototype.printData = undefined; +timapi.protocol.sixml.Response_PurchasePhoneAuthorized.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.transactionInformation != undefined) { + this.xmlAddChild(node, "sixml:TransactionInformation", this.transactionInformation); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.amountDue != undefined) { + this.xmlAddChild(node, "sixml:AmountDue", this.amountDue); + } + if (this.amountDcc != undefined) { + this.xmlAddChild(node, "sixml:AmountDcc", this.amountDcc); + } + if (this.amountSaldo != undefined) { + this.xmlAddChild(node, "sixml:AmountSaldo", this.amountSaldo); + } + if (this.dccDisclaimer != undefined) { + this.xmlAddChild(node, "sixml:DccDisclaimer", this.dccDisclaimer); + } + if (this.disclaimer != undefined) { + this.xmlAddChild(node, "sixml:Disclaimer", this.disclaimer); + } + if (this.cardData != undefined) { + this.xmlAddChild(node, "sixml:CardData", this.cardData); + } + if (this.printData != undefined) { + this.xmlAddChild(node, "sixml:PrintData", this.printData); + } + return node; +}; +timapi.protocol.sixml.Response_PurchaseReservation = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_PurchaseReservation) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.amountDcc = value.amountDcc ? new timapi.protocol.sixml.AmountDcc(value.amountDcc) : undefined; + this.amountTip = value.amountTip ? new timapi.protocol.sixml.AmountTip(value.amountTip) : undefined; + this.amountDue = value.amountDue ? new timapi.protocol.sixml.AmountDue(value.amountDue) : undefined; + this.transactionInformation = value.transactionInformation ? new timapi.protocol.sixml.TransactionInformation(value.transactionInformation) : undefined; + this.dccDisclaimer = value.dccDisclaimer; + this.disclaimer = value.disclaimer; + this.cardData = value.cardData ? new timapi.protocol.sixml.CardData(value.cardData) : undefined; + this.printData = value.printData ? new timapi.protocol.sixml.PrintData(value.printData) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:AmountDcc")) { + this.amountDcc = new timapi.protocol.sixml.AmountDcc(this.xmlGetChild(node, "sixml:AmountDcc")); + } + if (this.xmlHasChild(node, "sixml:AmountTip")) { + this.amountTip = new timapi.protocol.sixml.AmountTip(this.xmlGetChild(node, "sixml:AmountTip")); + } + if (this.xmlHasChild(node, "sixml:AmountDue")) { + this.amountDue = new timapi.protocol.sixml.AmountDue(this.xmlGetChild(node, "sixml:AmountDue")); + } + if (this.xmlHasChild(node, "sixml:TransactionInformation")) { + this.transactionInformation = new timapi.protocol.sixml.TransactionInformation(this.xmlGetChild(node, "sixml:TransactionInformation")); + } + if (this.xmlHasChild(node, "sixml:DccDisclaimer")) { + this.dccDisclaimer = this.xmlGetChild(node, "sixml:DccDisclaimer").textContent; + } + if (this.xmlHasChild(node, "sixml:Disclaimer")) { + this.disclaimer = this.xmlGetChild(node, "sixml:Disclaimer").textContent; + } + if (this.xmlHasChild(node, "sixml:CardData")) { + this.cardData = new timapi.protocol.sixml.CardData(this.xmlGetChild(node, "sixml:CardData")); + } + if (this.xmlHasChild(node, "sixml:PrintData")) { + this.printData = new timapi.protocol.sixml.PrintData(this.xmlGetChild(node, "sixml:PrintData")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "PurchaseReservation"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_PurchaseReservation.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_PurchaseReservation.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_PurchaseReservation.prototype.function = undefined; +timapi.protocol.sixml.Response_PurchaseReservation.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_PurchaseReservation.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_PurchaseReservation.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_PurchaseReservation.prototype.amount = undefined; +timapi.protocol.sixml.Response_PurchaseReservation.prototype.amountDcc = undefined; +timapi.protocol.sixml.Response_PurchaseReservation.prototype.amountTip = undefined; +timapi.protocol.sixml.Response_PurchaseReservation.prototype.amountDue = undefined; +timapi.protocol.sixml.Response_PurchaseReservation.prototype.transactionInformation = undefined; +timapi.protocol.sixml.Response_PurchaseReservation.prototype.dccDisclaimer = undefined; +timapi.protocol.sixml.Response_PurchaseReservation.prototype.disclaimer = undefined; +timapi.protocol.sixml.Response_PurchaseReservation.prototype.cardData = undefined; +timapi.protocol.sixml.Response_PurchaseReservation.prototype.printData = undefined; +timapi.protocol.sixml.Response_PurchaseReservation.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.amountDcc != undefined) { + this.xmlAddChild(node, "sixml:AmountDcc", this.amountDcc); + } + if (this.amountTip != undefined) { + this.xmlAddChild(node, "sixml:AmountTip", this.amountTip); + } + if (this.amountDue != undefined) { + this.xmlAddChild(node, "sixml:AmountDue", this.amountDue); + } + if (this.transactionInformation != undefined) { + this.xmlAddChild(node, "sixml:TransactionInformation", this.transactionInformation); + } + if (this.dccDisclaimer != undefined) { + this.xmlAddChild(node, "sixml:DccDisclaimer", this.dccDisclaimer); + } + if (this.disclaimer != undefined) { + this.xmlAddChild(node, "sixml:Disclaimer", this.disclaimer); + } + if (this.cardData != undefined) { + this.xmlAddChild(node, "sixml:CardData", this.cardData); + } + if (this.printData != undefined) { + this.xmlAddChild(node, "sixml:PrintData", this.printData); + } + return node; +}; +timapi.protocol.sixml.Response_PurchaseWithCashback = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_PurchaseWithCashback) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.transactionInformation = value.transactionInformation ? new timapi.protocol.sixml.TransactionInformation(value.transactionInformation) : undefined; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.amountOther = value.amountOther ? new timapi.protocol.sixml.AmountOther(value.amountOther) : undefined; + this.amountDue = value.amountDue ? new timapi.protocol.sixml.AmountDue(value.amountDue) : undefined; + this.amountDcc = value.amountDcc ? new timapi.protocol.sixml.AmountDcc(value.amountDcc) : undefined; + this.amountSaldo = value.amountSaldo ? new timapi.protocol.sixml.AmountSaldo(value.amountSaldo) : undefined; + this.dccDisclaimer = value.dccDisclaimer; + this.disclaimer = value.disclaimer; + this.cardData = value.cardData ? new timapi.protocol.sixml.CardData(value.cardData) : undefined; + this.printData = value.printData ? new timapi.protocol.sixml.PrintData(value.printData) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:TransactionInformation")) { + this.transactionInformation = new timapi.protocol.sixml.TransactionInformation(this.xmlGetChild(node, "sixml:TransactionInformation")); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:AmountOther")) { + this.amountOther = new timapi.protocol.sixml.AmountOther(this.xmlGetChild(node, "sixml:AmountOther")); + } + if (this.xmlHasChild(node, "sixml:AmountDue")) { + this.amountDue = new timapi.protocol.sixml.AmountDue(this.xmlGetChild(node, "sixml:AmountDue")); + } + if (this.xmlHasChild(node, "sixml:AmountDcc")) { + this.amountDcc = new timapi.protocol.sixml.AmountDcc(this.xmlGetChild(node, "sixml:AmountDcc")); + } + if (this.xmlHasChild(node, "sixml:AmountSaldo")) { + this.amountSaldo = new timapi.protocol.sixml.AmountSaldo(this.xmlGetChild(node, "sixml:AmountSaldo")); + } + if (this.xmlHasChild(node, "sixml:DccDisclaimer")) { + this.dccDisclaimer = this.xmlGetChild(node, "sixml:DccDisclaimer").textContent; + } + if (this.xmlHasChild(node, "sixml:Disclaimer")) { + this.disclaimer = this.xmlGetChild(node, "sixml:Disclaimer").textContent; + } + if (this.xmlHasChild(node, "sixml:CardData")) { + this.cardData = new timapi.protocol.sixml.CardData(this.xmlGetChild(node, "sixml:CardData")); + } + if (this.xmlHasChild(node, "sixml:PrintData")) { + this.printData = new timapi.protocol.sixml.PrintData(this.xmlGetChild(node, "sixml:PrintData")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "PurchaseWithCashback"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_PurchaseWithCashback.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_PurchaseWithCashback.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_PurchaseWithCashback.prototype.function = undefined; +timapi.protocol.sixml.Response_PurchaseWithCashback.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_PurchaseWithCashback.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_PurchaseWithCashback.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_PurchaseWithCashback.prototype.transactionInformation = undefined; +timapi.protocol.sixml.Response_PurchaseWithCashback.prototype.amount = undefined; +timapi.protocol.sixml.Response_PurchaseWithCashback.prototype.amountOther = undefined; +timapi.protocol.sixml.Response_PurchaseWithCashback.prototype.amountDue = undefined; +timapi.protocol.sixml.Response_PurchaseWithCashback.prototype.amountDcc = undefined; +timapi.protocol.sixml.Response_PurchaseWithCashback.prototype.amountSaldo = undefined; +timapi.protocol.sixml.Response_PurchaseWithCashback.prototype.dccDisclaimer = undefined; +timapi.protocol.sixml.Response_PurchaseWithCashback.prototype.disclaimer = undefined; +timapi.protocol.sixml.Response_PurchaseWithCashback.prototype.cardData = undefined; +timapi.protocol.sixml.Response_PurchaseWithCashback.prototype.printData = undefined; +timapi.protocol.sixml.Response_PurchaseWithCashback.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.transactionInformation != undefined) { + this.xmlAddChild(node, "sixml:TransactionInformation", this.transactionInformation); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.amountOther != undefined) { + this.xmlAddChild(node, "sixml:AmountOther", this.amountOther); + } + if (this.amountDue != undefined) { + this.xmlAddChild(node, "sixml:AmountDue", this.amountDue); + } + if (this.amountDcc != undefined) { + this.xmlAddChild(node, "sixml:AmountDcc", this.amountDcc); + } + if (this.amountSaldo != undefined) { + this.xmlAddChild(node, "sixml:AmountSaldo", this.amountSaldo); + } + if (this.dccDisclaimer != undefined) { + this.xmlAddChild(node, "sixml:DccDisclaimer", this.dccDisclaimer); + } + if (this.disclaimer != undefined) { + this.xmlAddChild(node, "sixml:Disclaimer", this.disclaimer); + } + if (this.cardData != undefined) { + this.xmlAddChild(node, "sixml:CardData", this.cardData); + } + if (this.printData != undefined) { + this.xmlAddChild(node, "sixml:PrintData", this.printData); + } + return node; +}; +timapi.protocol.sixml.Response_Reboot = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_Reboot) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "Reboot"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_Reboot.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_Reboot.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_Reboot.prototype.function = undefined; +timapi.protocol.sixml.Response_Reboot.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_Reboot.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_Reboot.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_Reboot.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + return node; +}; +timapi.protocol.sixml.Response_ReceiptRequest = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_ReceiptRequest) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.printData = value.printData ? new timapi.protocol.sixml.PrintData(value.printData) : undefined; + this.hasMoreReceipts = value.hasMoreReceipts; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:PrintData")) { + this.printData = new timapi.protocol.sixml.PrintData(this.xmlGetChild(node, "sixml:PrintData")); + } + if (this.xmlHasChild(node, "sixml:HasMoreReceipts")) { + this.hasMoreReceipts = this.xmlGetChild(node, "sixml:HasMoreReceipts").textContent == "1"; + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "ReceiptRequest"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_ReceiptRequest.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_ReceiptRequest.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_ReceiptRequest.prototype.function = undefined; +timapi.protocol.sixml.Response_ReceiptRequest.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_ReceiptRequest.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_ReceiptRequest.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_ReceiptRequest.prototype.printData = undefined; +timapi.protocol.sixml.Response_ReceiptRequest.prototype.hasMoreReceipts = undefined; +timapi.protocol.sixml.Response_ReceiptRequest.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.printData != undefined) { + this.xmlAddChild(node, "sixml:PrintData", this.printData); + } + if (this.hasMoreReceipts != undefined) { + this.xmlAddChild(node, "sixml:HasMoreReceipts", (this.hasMoreReceipts ? "1" : "0")); + } + return node; +}; +timapi.protocol.sixml.Response_Reconciliation = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_Reconciliation) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.counters = value.counters ? new timapi.protocol.sixml.Counters(value.counters) : undefined; + this.printData = value.printData ? new timapi.protocol.sixml.PrintData(value.printData) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:Counters")) { + this.counters = new timapi.protocol.sixml.Counters(this.xmlGetChild(node, "sixml:Counters")); + } + if (this.xmlHasChild(node, "sixml:PrintData")) { + this.printData = new timapi.protocol.sixml.PrintData(this.xmlGetChild(node, "sixml:PrintData")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "Reconciliation"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_Reconciliation.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_Reconciliation.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_Reconciliation.prototype.function = undefined; +timapi.protocol.sixml.Response_Reconciliation.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_Reconciliation.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_Reconciliation.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_Reconciliation.prototype.counters = undefined; +timapi.protocol.sixml.Response_Reconciliation.prototype.printData = undefined; +timapi.protocol.sixml.Response_Reconciliation.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.counters != undefined) { + this.xmlAddChild(node, "sixml:Counters", this.counters); + } + if (this.printData != undefined) { + this.xmlAddChild(node, "sixml:PrintData", this.printData); + } + return node; +}; +timapi.protocol.sixml.Response_Reconfig = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_Reconfig) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.printData = value.printData ? new timapi.protocol.sixml.PrintData(value.printData) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:PrintData")) { + this.printData = new timapi.protocol.sixml.PrintData(this.xmlGetChild(node, "sixml:PrintData")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "Reconfig"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_Reconfig.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_Reconfig.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_Reconfig.prototype.function = undefined; +timapi.protocol.sixml.Response_Reconfig.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_Reconfig.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_Reconfig.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_Reconfig.prototype.printData = undefined; +timapi.protocol.sixml.Response_Reconfig.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.printData != undefined) { + this.xmlAddChild(node, "sixml:PrintData", this.printData); + } + return node; +}; +timapi.protocol.sixml.Response_Reservation = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_Reservation) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.amountDcc = value.amountDcc ? new timapi.protocol.sixml.AmountDcc(value.amountDcc) : undefined; + this.amountDue = value.amountDue ? new timapi.protocol.sixml.AmountDue(value.amountDue) : undefined; + this.transactionInformation = value.transactionInformation ? new timapi.protocol.sixml.TransactionInformation(value.transactionInformation) : undefined; + this.dccDisclaimer = value.dccDisclaimer; + this.disclaimer = value.disclaimer; + this.cardData = value.cardData ? new timapi.protocol.sixml.CardData(value.cardData) : undefined; + this.printData = value.printData ? new timapi.protocol.sixml.PrintData(value.printData) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:AmountDcc")) { + this.amountDcc = new timapi.protocol.sixml.AmountDcc(this.xmlGetChild(node, "sixml:AmountDcc")); + } + if (this.xmlHasChild(node, "sixml:AmountDue")) { + this.amountDue = new timapi.protocol.sixml.AmountDue(this.xmlGetChild(node, "sixml:AmountDue")); + } + if (this.xmlHasChild(node, "sixml:TransactionInformation")) { + this.transactionInformation = new timapi.protocol.sixml.TransactionInformation(this.xmlGetChild(node, "sixml:TransactionInformation")); + } + if (this.xmlHasChild(node, "sixml:DccDisclaimer")) { + this.dccDisclaimer = this.xmlGetChild(node, "sixml:DccDisclaimer").textContent; + } + if (this.xmlHasChild(node, "sixml:Disclaimer")) { + this.disclaimer = this.xmlGetChild(node, "sixml:Disclaimer").textContent; + } + if (this.xmlHasChild(node, "sixml:CardData")) { + this.cardData = new timapi.protocol.sixml.CardData(this.xmlGetChild(node, "sixml:CardData")); + } + if (this.xmlHasChild(node, "sixml:PrintData")) { + this.printData = new timapi.protocol.sixml.PrintData(this.xmlGetChild(node, "sixml:PrintData")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "NonFinTransaction"; + this.function = "Reservation"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_Reservation.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_Reservation.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_Reservation.prototype.function = undefined; +timapi.protocol.sixml.Response_Reservation.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_Reservation.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_Reservation.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_Reservation.prototype.amount = undefined; +timapi.protocol.sixml.Response_Reservation.prototype.amountDcc = undefined; +timapi.protocol.sixml.Response_Reservation.prototype.amountDue = undefined; +timapi.protocol.sixml.Response_Reservation.prototype.transactionInformation = undefined; +timapi.protocol.sixml.Response_Reservation.prototype.dccDisclaimer = undefined; +timapi.protocol.sixml.Response_Reservation.prototype.disclaimer = undefined; +timapi.protocol.sixml.Response_Reservation.prototype.cardData = undefined; +timapi.protocol.sixml.Response_Reservation.prototype.printData = undefined; +timapi.protocol.sixml.Response_Reservation.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.amountDcc != undefined) { + this.xmlAddChild(node, "sixml:AmountDcc", this.amountDcc); + } + if (this.amountDue != undefined) { + this.xmlAddChild(node, "sixml:AmountDue", this.amountDue); + } + if (this.transactionInformation != undefined) { + this.xmlAddChild(node, "sixml:TransactionInformation", this.transactionInformation); + } + if (this.dccDisclaimer != undefined) { + this.xmlAddChild(node, "sixml:DccDisclaimer", this.dccDisclaimer); + } + if (this.disclaimer != undefined) { + this.xmlAddChild(node, "sixml:Disclaimer", this.disclaimer); + } + if (this.cardData != undefined) { + this.xmlAddChild(node, "sixml:CardData", this.cardData); + } + if (this.printData != undefined) { + this.xmlAddChild(node, "sixml:PrintData", this.printData); + } + return node; +}; +timapi.protocol.sixml.Response_Reversal = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_Reversal) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.transactionInformation = value.transactionInformation ? new timapi.protocol.sixml.TransactionInformation(value.transactionInformation) : undefined; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.amountDcc = value.amountDcc ? new timapi.protocol.sixml.AmountDcc(value.amountDcc) : undefined; + this.amountSaldo = value.amountSaldo ? new timapi.protocol.sixml.AmountSaldo(value.amountSaldo) : undefined; + this.dccDisclaimer = value.dccDisclaimer; + this.disclaimer = value.disclaimer; + this.printData = value.printData ? new timapi.protocol.sixml.PrintData(value.printData) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:TransactionInformation")) { + this.transactionInformation = new timapi.protocol.sixml.TransactionInformation(this.xmlGetChild(node, "sixml:TransactionInformation")); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:AmountDcc")) { + this.amountDcc = new timapi.protocol.sixml.AmountDcc(this.xmlGetChild(node, "sixml:AmountDcc")); + } + if (this.xmlHasChild(node, "sixml:AmountSaldo")) { + this.amountSaldo = new timapi.protocol.sixml.AmountSaldo(this.xmlGetChild(node, "sixml:AmountSaldo")); + } + if (this.xmlHasChild(node, "sixml:DccDisclaimer")) { + this.dccDisclaimer = this.xmlGetChild(node, "sixml:DccDisclaimer").textContent; + } + if (this.xmlHasChild(node, "sixml:Disclaimer")) { + this.disclaimer = this.xmlGetChild(node, "sixml:Disclaimer").textContent; + } + if (this.xmlHasChild(node, "sixml:PrintData")) { + this.printData = new timapi.protocol.sixml.PrintData(this.xmlGetChild(node, "sixml:PrintData")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "Reversal"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_Reversal.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_Reversal.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_Reversal.prototype.function = undefined; +timapi.protocol.sixml.Response_Reversal.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_Reversal.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_Reversal.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_Reversal.prototype.transactionInformation = undefined; +timapi.protocol.sixml.Response_Reversal.prototype.amount = undefined; +timapi.protocol.sixml.Response_Reversal.prototype.amountDcc = undefined; +timapi.protocol.sixml.Response_Reversal.prototype.amountSaldo = undefined; +timapi.protocol.sixml.Response_Reversal.prototype.dccDisclaimer = undefined; +timapi.protocol.sixml.Response_Reversal.prototype.disclaimer = undefined; +timapi.protocol.sixml.Response_Reversal.prototype.printData = undefined; +timapi.protocol.sixml.Response_Reversal.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.transactionInformation != undefined) { + this.xmlAddChild(node, "sixml:TransactionInformation", this.transactionInformation); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.amountDcc != undefined) { + this.xmlAddChild(node, "sixml:AmountDcc", this.amountDcc); + } + if (this.amountSaldo != undefined) { + this.xmlAddChild(node, "sixml:AmountSaldo", this.amountSaldo); + } + if (this.dccDisclaimer != undefined) { + this.xmlAddChild(node, "sixml:DccDisclaimer", this.dccDisclaimer); + } + if (this.disclaimer != undefined) { + this.xmlAddChild(node, "sixml:Disclaimer", this.disclaimer); + } + if (this.printData != undefined) { + this.xmlAddChild(node, "sixml:PrintData", this.printData); + } + return node; +}; +timapi.protocol.sixml.Response_Rollback = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_Rollback) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.repeat = value.repeat; + this.printData = value.printData ? new timapi.protocol.sixml.PrintData(value.printData) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasAttribute(node, "Repeat")) { + this.repeat = (this.xmlGetAttribute(node, "Repeat") ? parseInt(this.xmlGetAttribute(node, "Repeat")) : 0); + } + if (this.xmlHasChild(node, "sixml:PrintData")) { + this.printData = new timapi.protocol.sixml.PrintData(this.xmlGetChild(node, "sixml:PrintData")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "Rollback"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_Rollback.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_Rollback.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_Rollback.prototype.function = undefined; +timapi.protocol.sixml.Response_Rollback.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_Rollback.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_Rollback.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_Rollback.prototype.repeat = undefined; +timapi.protocol.sixml.Response_Rollback.prototype.printData = undefined; +timapi.protocol.sixml.Response_Rollback.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.repeat != undefined) { + this.xmlSetAttribute(node, "Repeat", timapi.utils.StringHelper.makeString(this.repeat)); + } + if (this.printData != undefined) { + this.xmlAddChild(node, "sixml:PrintData", this.printData); + } + return node; +}; +timapi.protocol.sixml.Response_ShowDialog = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_ShowDialog) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.resourceInformation = value.resourceInformation ? new timapi.protocol.sixml.ResourceInformation(value.resourceInformation) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:ResourceInformation")) { + this.resourceInformation = new timapi.protocol.sixml.ResourceInformation(this.xmlGetChild(node, "sixml:ResourceInformation")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Dialog"; + this.function = "ShowDialog"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_ShowDialog.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_ShowDialog.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_ShowDialog.prototype.function = undefined; +timapi.protocol.sixml.Response_ShowDialog.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_ShowDialog.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_ShowDialog.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_ShowDialog.prototype.resourceInformation = undefined; +timapi.protocol.sixml.Response_ShowDialog.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.resourceInformation != undefined) { + this.xmlAddChild(node, "sixml:ResourceInformation", this.resourceInformation); + } + return node; +}; +timapi.protocol.sixml.Response_ShowSignatureCapture = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_ShowSignatureCapture) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.signatureInformation = value.signatureInformation ? new timapi.protocol.sixml.SignatureInformation(value.signatureInformation) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:SignatureInformation")) { + this.signatureInformation = new timapi.protocol.sixml.SignatureInformation(this.xmlGetChild(node, "sixml:SignatureInformation")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Dialog"; + this.function = "ShowSignatureCapture"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_ShowSignatureCapture.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_ShowSignatureCapture.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_ShowSignatureCapture.prototype.function = undefined; +timapi.protocol.sixml.Response_ShowSignatureCapture.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_ShowSignatureCapture.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_ShowSignatureCapture.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_ShowSignatureCapture.prototype.signatureInformation = undefined; +timapi.protocol.sixml.Response_ShowSignatureCapture.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.signatureInformation != undefined) { + this.xmlAddChild(node, "sixml:SignatureInformation", this.signatureInformation); + } + return node; +}; +timapi.protocol.sixml.Response_SoftwareUpdate = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_SoftwareUpdate) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.updateStatus = value.updateStatus; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:UpdateStatus")) { + this.updateStatus = this.xmlGetChild(node, "sixml:UpdateStatus").textContent; + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Admin"; + this.function = "SoftwareUpdate"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_SoftwareUpdate.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_SoftwareUpdate.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_SoftwareUpdate.prototype.function = undefined; +timapi.protocol.sixml.Response_SoftwareUpdate.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_SoftwareUpdate.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_SoftwareUpdate.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_SoftwareUpdate.prototype.updateStatus = undefined; +timapi.protocol.sixml.Response_SoftwareUpdate.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.updateStatus != undefined) { + this.xmlAddChild(node, "sixml:UpdateStatus", this.updateStatus); + } + return node; +}; +timapi.protocol.sixml.Response_SystemInformation = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_SystemInformation) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.configData = value.configData ? new timapi.protocol.sixml.ConfigData(value.configData) : undefined; + this.networkInformation = value.networkInformation ? new timapi.protocol.sixml.NetworkInformation(value.networkInformation) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:ConfigData")) { + this.configData = new timapi.protocol.sixml.ConfigData(this.xmlGetChild(node, "sixml:ConfigData")); + } + if (this.xmlHasChild(node, "sixml:NetworkInformation")) { + this.networkInformation = new timapi.protocol.sixml.NetworkInformation(this.xmlGetChild(node, "sixml:NetworkInformation")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Status"; + this.function = "SystemInformation"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_SystemInformation.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_SystemInformation.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_SystemInformation.prototype.function = undefined; +timapi.protocol.sixml.Response_SystemInformation.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_SystemInformation.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_SystemInformation.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_SystemInformation.prototype.configData = undefined; +timapi.protocol.sixml.Response_SystemInformation.prototype.networkInformation = undefined; +timapi.protocol.sixml.Response_SystemInformation.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.configData != undefined) { + this.xmlAddChild(node, "sixml:ConfigData", this.configData); + } + if (this.networkInformation != undefined) { + this.xmlAddChild(node, "sixml:NetworkInformation", this.networkInformation); + } + return node; +}; +timapi.protocol.sixml.Response_TerminalStatus = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_TerminalStatus) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.displayContent = value.displayContent ? new timapi.protocol.sixml.DisplayContent(value.displayContent) : undefined; + this.cardReaderStatus = value.cardReaderStatus; + this.transactionStatus = value.transactionStatus; + this.connectionStatus = value.connectionStatus; + this.managementStatus = value.managementStatus; + this.sleepModeStatus = value.sleepModeStatus; + this.receiptInformation = value.receiptInformation; + this.cardData = value.cardData ? new timapi.protocol.sixml.CardData(value.cardData) : undefined; + this.swUpdateAvailable = value.swUpdateAvailable; + this.terminalId = value.terminalId; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:DisplayContent")) { + this.displayContent = new timapi.protocol.sixml.DisplayContent(this.xmlGetChild(node, "sixml:DisplayContent")); + } + if (this.xmlHasChild(node, "sixml:CardReaderStatus")) { + this.cardReaderStatus = this.xmlGetChild(node, "sixml:CardReaderStatus").textContent; + } + if (this.xmlHasChild(node, "sixml:TransactionStatus")) { + this.transactionStatus = this.xmlGetChild(node, "sixml:TransactionStatus").textContent; + } + if (this.xmlHasChild(node, "sixml:ConnectionStatus")) { + this.connectionStatus = this.xmlGetChild(node, "sixml:ConnectionStatus").textContent; + } + if (this.xmlHasChild(node, "sixml:ManagementStatus")) { + this.managementStatus = this.xmlGetChild(node, "sixml:ManagementStatus").textContent; + } + if (this.xmlHasChild(node, "sixml:SleepModeStatus")) { + this.sleepModeStatus = this.xmlGetChild(node, "sixml:SleepModeStatus").textContent; + } + if (this.xmlHasChild(node, "sixml:ReceiptInformation")) { + this.receiptInformation = this.xmlGetChild(node, "sixml:ReceiptInformation").textContent == "1"; + } + if (this.xmlHasChild(node, "sixml:CardData")) { + this.cardData = new timapi.protocol.sixml.CardData(this.xmlGetChild(node, "sixml:CardData")); + } + if (this.xmlHasChild(node, "sixml:SwUpdateAvailable")) { + this.swUpdateAvailable = this.xmlGetChild(node, "sixml:SwUpdateAvailable").textContent == "1"; + } + if (this.xmlHasChild(node, "sixml:TerminalId")) { + this.terminalId = this.xmlGetChild(node, "sixml:TerminalId").textContent; + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Status"; + this.function = "TerminalStatus"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_TerminalStatus.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_TerminalStatus.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_TerminalStatus.prototype.function = undefined; +timapi.protocol.sixml.Response_TerminalStatus.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_TerminalStatus.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_TerminalStatus.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_TerminalStatus.prototype.displayContent = undefined; +timapi.protocol.sixml.Response_TerminalStatus.prototype.cardReaderStatus = undefined; +timapi.protocol.sixml.Response_TerminalStatus.prototype.transactionStatus = undefined; +timapi.protocol.sixml.Response_TerminalStatus.prototype.connectionStatus = undefined; +timapi.protocol.sixml.Response_TerminalStatus.prototype.managementStatus = undefined; +timapi.protocol.sixml.Response_TerminalStatus.prototype.sleepModeStatus = undefined; +timapi.protocol.sixml.Response_TerminalStatus.prototype.receiptInformation = undefined; +timapi.protocol.sixml.Response_TerminalStatus.prototype.cardData = undefined; +timapi.protocol.sixml.Response_TerminalStatus.prototype.swUpdateAvailable = undefined; +timapi.protocol.sixml.Response_TerminalStatus.prototype.terminalId = undefined; +timapi.protocol.sixml.Response_TerminalStatus.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.displayContent != undefined) { + this.xmlAddChild(node, "sixml:DisplayContent", this.displayContent); + } + if (this.cardReaderStatus != undefined) { + this.xmlAddChild(node, "sixml:CardReaderStatus", this.cardReaderStatus); + } + if (this.transactionStatus != undefined) { + this.xmlAddChild(node, "sixml:TransactionStatus", this.transactionStatus); + } + if (this.connectionStatus != undefined) { + this.xmlAddChild(node, "sixml:ConnectionStatus", this.connectionStatus); + } + if (this.managementStatus != undefined) { + this.xmlAddChild(node, "sixml:ManagementStatus", this.managementStatus); + } + if (this.sleepModeStatus != undefined) { + this.xmlAddChild(node, "sixml:SleepModeStatus", this.sleepModeStatus); + } + if (this.receiptInformation != undefined) { + this.xmlAddChild(node, "sixml:ReceiptInformation", (this.receiptInformation ? "1" : "0")); + } + if (this.cardData != undefined) { + this.xmlAddChild(node, "sixml:CardData", this.cardData); + } + if (this.swUpdateAvailable != undefined) { + this.xmlAddChild(node, "sixml:SwUpdateAvailable", (this.swUpdateAvailable ? "1" : "0")); + } + if (this.terminalId != undefined) { + this.xmlAddChild(node, "sixml:TerminalId", this.terminalId); + } + return node; +}; +timapi.protocol.sixml.ScreenshotOptions = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.ScreenshotOptions) { + var value = a; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.ScreenshotOptions.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.ScreenshotOptions.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:ScreenshotOptions"); + return node; +}; +timapi.protocol.sixml.Setting = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Setting) { + var value = a; + this.value = value.value; + this.settingType = value.settingType; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + this.value = node.textContent; + if (this.xmlHasAttribute(node, "SettingType")) { + this.settingType = this.xmlGetAttribute(node, "SettingType"); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.Setting.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.Setting.prototype.value = ""; +timapi.protocol.sixml.Setting.prototype.settingType = undefined; +timapi.protocol.sixml.Setting.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Setting"); + node.textContent = this.value; + if (this.settingType != undefined) { + this.xmlSetAttribute(node, "SettingType", this.settingType); + } + return node; +}; +timapi.protocol.sixml.SettingsList = function (a) { + this.setting = []; + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.SettingsList) { + var value = a; + for (var each of value.setting) { + this.setting.push(each ? new timapi.protocol.sixml.Setting(each) : undefined); + } + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + for (var each of this.xmlGetChildren(node, "sixml:Setting")) { + this.setting.push(new timapi.protocol.sixml.Setting(each)); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.SettingsList.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.SettingsList.prototype.setting = undefined; +timapi.protocol.sixml.SettingsList.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:SettingsList"); + for (var each of this.setting) { + this.xmlAddChild(node, "sixml:Setting", each); + } + return node; +}; +timapi.protocol.sixml.SignatureCapture = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.SignatureCapture) { + var value = a; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.SignatureCapture.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.SignatureCapture.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:SignatureCapture"); + return node; +}; +timapi.protocol.sixml.SignatureData = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.SignatureData) { + var value = a; + this.resourceId = value.resourceId; + this.timeout = value.timeout; + this.theme = value.theme; + this.imageFileFormat = value.imageFileFormat; + this.imageHeight = value.imageHeight; + this.imageWidth = value.imageWidth; + this.backgroundColor = value.backgroundColor; + this.watermarkColor = value.watermarkColor; + this.signatureColor = value.signatureColor; + this.language = value.language; + this.watermarkItemList = value.watermarkItemList ? new timapi.protocol.sixml.WatermarkItemList(value.watermarkItemList) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "ResourceId")) { + this.resourceId = (this.xmlGetAttribute(node, "ResourceId") ? parseInt(this.xmlGetAttribute(node, "ResourceId")) : 0); + } + if (this.xmlHasAttribute(node, "Timeout")) { + this.timeout = (this.xmlGetAttribute(node, "Timeout") ? parseInt(this.xmlGetAttribute(node, "Timeout")) : 0); + } + if (this.xmlHasAttribute(node, "Theme")) { + this.theme = this.xmlGetAttribute(node, "Theme"); + } + if (this.xmlHasAttribute(node, "ImageFileFormat")) { + this.imageFileFormat = this.xmlGetAttribute(node, "ImageFileFormat"); + } + if (this.xmlHasAttribute(node, "ImageHeight")) { + this.imageHeight = (this.xmlGetAttribute(node, "ImageHeight") ? parseInt(this.xmlGetAttribute(node, "ImageHeight")) : 0); + } + if (this.xmlHasAttribute(node, "ImageWidth")) { + this.imageWidth = (this.xmlGetAttribute(node, "ImageWidth") ? parseInt(this.xmlGetAttribute(node, "ImageWidth")) : 0); + } + if (this.xmlHasAttribute(node, "BackgroundColor")) { + this.backgroundColor = this.xmlGetAttribute(node, "BackgroundColor"); + } + if (this.xmlHasAttribute(node, "WatermarkColor")) { + this.watermarkColor = this.xmlGetAttribute(node, "WatermarkColor"); + } + if (this.xmlHasAttribute(node, "SignatureColor")) { + this.signatureColor = this.xmlGetAttribute(node, "SignatureColor"); + } + if (this.xmlHasChild(node, "sixml:Language")) { + this.language = this.xmlGetChild(node, "sixml:Language").textContent; + } + if (this.xmlHasChild(node, "sixml:WatermarkItemList")) { + this.watermarkItemList = new timapi.protocol.sixml.WatermarkItemList(this.xmlGetChild(node, "sixml:WatermarkItemList")); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.SignatureData.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.SignatureData.prototype.resourceId = undefined; +timapi.protocol.sixml.SignatureData.prototype.timeout = undefined; +timapi.protocol.sixml.SignatureData.prototype.theme = undefined; +timapi.protocol.sixml.SignatureData.prototype.imageFileFormat = undefined; +timapi.protocol.sixml.SignatureData.prototype.imageHeight = undefined; +timapi.protocol.sixml.SignatureData.prototype.imageWidth = undefined; +timapi.protocol.sixml.SignatureData.prototype.backgroundColor = undefined; +timapi.protocol.sixml.SignatureData.prototype.watermarkColor = undefined; +timapi.protocol.sixml.SignatureData.prototype.signatureColor = undefined; +timapi.protocol.sixml.SignatureData.prototype.language = undefined; +timapi.protocol.sixml.SignatureData.prototype.watermarkItemList = undefined; +timapi.protocol.sixml.SignatureData.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:SignatureData"); + if (this.resourceId != undefined) { + this.xmlSetAttribute(node, "ResourceId", timapi.utils.StringHelper.makeString(this.resourceId)); + } + if (this.timeout != undefined) { + this.xmlSetAttribute(node, "Timeout", timapi.utils.StringHelper.makeString(this.timeout)); + } + if (this.theme != undefined) { + this.xmlSetAttribute(node, "Theme", this.theme); + } + if (this.imageFileFormat != undefined) { + this.xmlSetAttribute(node, "ImageFileFormat", this.imageFileFormat); + } + if (this.imageHeight != undefined) { + this.xmlSetAttribute(node, "ImageHeight", timapi.utils.StringHelper.makeString(this.imageHeight)); + } + if (this.imageWidth != undefined) { + this.xmlSetAttribute(node, "ImageWidth", timapi.utils.StringHelper.makeString(this.imageWidth)); + } + if (this.backgroundColor != undefined) { + this.xmlSetAttribute(node, "BackgroundColor", this.backgroundColor); + } + if (this.watermarkColor != undefined) { + this.xmlSetAttribute(node, "WatermarkColor", this.watermarkColor); + } + if (this.signatureColor != undefined) { + this.xmlSetAttribute(node, "SignatureColor", this.signatureColor); + } + if (this.language != undefined) { + this.xmlAddChild(node, "sixml:Language", this.language); + } + if (this.watermarkItemList != undefined) { + this.xmlAddChild(node, "sixml:WatermarkItemList", this.watermarkItemList); + } + return node; +}; +timapi.protocol.sixml.SignatureInformation = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.SignatureInformation) { + var value = a; + this.value = value.value; + this.imageFileFormat = value.imageFileFormat; + this.imageWidth = value.imageWidth; + this.imageHeight = value.imageHeight; + this.reason = value.reason; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + this.value = timapi.ConversionHelper.hexStringToByte(node.textContent); + if (this.xmlHasAttribute(node, "ImageFileFormat")) { + this.imageFileFormat = this.xmlGetAttribute(node, "ImageFileFormat"); + } + if (this.xmlHasAttribute(node, "ImageWidth")) { + this.imageWidth = (this.xmlGetAttribute(node, "ImageWidth") ? parseInt(this.xmlGetAttribute(node, "ImageWidth")) : 0); + } + if (this.xmlHasAttribute(node, "ImageHeight")) { + this.imageHeight = (this.xmlGetAttribute(node, "ImageHeight") ? parseInt(this.xmlGetAttribute(node, "ImageHeight")) : 0); + } + if (this.xmlHasAttribute(node, "Reason")) { + this.reason = this.xmlGetAttribute(node, "Reason"); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.SignatureInformation.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.SignatureInformation.prototype.value = new Uint8Array(0); +timapi.protocol.sixml.SignatureInformation.prototype.imageFileFormat = undefined; +timapi.protocol.sixml.SignatureInformation.prototype.imageWidth = undefined; +timapi.protocol.sixml.SignatureInformation.prototype.imageHeight = undefined; +timapi.protocol.sixml.SignatureInformation.prototype.reason = undefined; +timapi.protocol.sixml.SignatureInformation.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:SignatureInformation"); + node.textContent = timapi.protocol.ConversionHelper.byteToHexString(this.value); + if (this.imageFileFormat != undefined) { + this.xmlSetAttribute(node, "ImageFileFormat", this.imageFileFormat); + } + if (this.imageWidth != undefined) { + this.xmlSetAttribute(node, "ImageWidth", timapi.utils.StringHelper.makeString(this.imageWidth)); + } + if (this.imageHeight != undefined) { + this.xmlSetAttribute(node, "ImageHeight", timapi.utils.StringHelper.makeString(this.imageHeight)); + } + if (this.reason != undefined) { + this.xmlSetAttribute(node, "Reason", this.reason); + } + return node; +}; +timapi.protocol.sixml.Statistic = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Statistic) { + var value = a; + this.value = value.value; + this.statisticType = value.statisticType; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + this.value = node.textContent; + if (this.xmlHasAttribute(node, "StatisticType")) { + this.statisticType = this.xmlGetAttribute(node, "StatisticType"); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.Statistic.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.Statistic.prototype.value = ""; +timapi.protocol.sixml.Statistic.prototype.statisticType = undefined; +timapi.protocol.sixml.Statistic.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Statistic"); + node.textContent = this.value; + if (this.statisticType != undefined) { + this.xmlSetAttribute(node, "StatisticType", this.statisticType); + } + return node; +}; +timapi.protocol.sixml.StatisticsList = function (a) { + this.statistic = []; + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.StatisticsList) { + var value = a; + for (var each of value.statistic) { + this.statistic.push(each ? new timapi.protocol.sixml.Statistic(each) : undefined); + } + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + for (var each of this.xmlGetChildren(node, "sixml:Statistic")) { + this.statistic.push(new timapi.protocol.sixml.Statistic(each)); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.StatisticsList.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.StatisticsList.prototype.statistic = undefined; +timapi.protocol.sixml.StatisticsList.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:StatisticsList"); + for (var each of this.statistic) { + this.xmlAddChild(node, "sixml:Statistic", each); + } + return node; +}; +timapi.protocol.sixml.TimeoutData = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.TimeoutData) { + var value = a; + this.timeoutType = value.timeoutType; + this.extraTime = value.extraTime; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "TimeoutType")) { + this.timeoutType = this.xmlGetAttribute(node, "TimeoutType"); + } + if (this.xmlHasAttribute(node, "ExtraTime")) { + this.extraTime = (this.xmlGetAttribute(node, "ExtraTime") ? parseInt(this.xmlGetAttribute(node, "ExtraTime")) : 0); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.TimeoutData.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.TimeoutData.prototype.timeoutType = undefined; +timapi.protocol.sixml.TimeoutData.prototype.extraTime = undefined; +timapi.protocol.sixml.TimeoutData.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:TimeoutData"); + if (this.timeoutType != undefined) { + this.xmlSetAttribute(node, "TimeoutType", this.timeoutType); + } + if (this.extraTime != undefined) { + this.xmlSetAttribute(node, "ExtraTime", timapi.utils.StringHelper.makeString(this.extraTime)); + } + return node; +}; +timapi.protocol.sixml.Total = function (a) { + this.trxDetail = []; + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Total) { + var value = a; + this.currency = value.currency; + this.exponent = value.exponent; + this.count = value.count; + this.amountSum = value.amountSum; + for (var each of value.trxDetail) { + this.trxDetail.push(each ? new timapi.protocol.sixml.TrxDetail(each) : undefined); + } + this.amountSumOther = value.amountSumOther; + this.amountSumTip = value.amountSumTip; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "Currency")) { + this.currency = this.xmlGetAttribute(node, "Currency"); + } + if (this.xmlHasAttribute(node, "Exponent")) { + this.exponent = (this.xmlGetAttribute(node, "Exponent") ? parseInt(this.xmlGetAttribute(node, "Exponent")) : 0); + } + if (this.xmlHasAttribute(node, "Count")) { + this.count = (this.xmlGetAttribute(node, "Count") ? parseInt(this.xmlGetAttribute(node, "Count")) : 0); + } + if (this.xmlHasAttribute(node, "AmountSum")) { + this.amountSum = (this.xmlGetAttribute(node, "AmountSum") ? parseInt(this.xmlGetAttribute(node, "AmountSum")) : 0); + } + for (var each of this.xmlGetChildren(node, "sixml:TrxDetail")) { + this.trxDetail.push(new timapi.protocol.sixml.TrxDetail(each)); + } + if (this.xmlHasAttribute(node, "AmountSumOther")) { + this.amountSumOther = (this.xmlGetAttribute(node, "AmountSumOther") ? parseInt(this.xmlGetAttribute(node, "AmountSumOther")) : 0); + } + if (this.xmlHasAttribute(node, "AmountSumTip")) { + this.amountSumTip = (this.xmlGetAttribute(node, "AmountSumTip") ? parseInt(this.xmlGetAttribute(node, "AmountSumTip")) : 0); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.Total.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.Total.prototype.currency = undefined; +timapi.protocol.sixml.Total.prototype.exponent = undefined; +timapi.protocol.sixml.Total.prototype.count = undefined; +timapi.protocol.sixml.Total.prototype.amountSum = undefined; +timapi.protocol.sixml.Total.prototype.trxDetail = undefined; +timapi.protocol.sixml.Total.prototype.amountSumOther = undefined; +timapi.protocol.sixml.Total.prototype.amountSumTip = undefined; +timapi.protocol.sixml.Total.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Total"); + if (this.currency != undefined) { + this.xmlSetAttribute(node, "Currency", this.currency); + } + if (this.exponent != undefined) { + this.xmlSetAttribute(node, "Exponent", timapi.utils.StringHelper.makeString(this.exponent)); + } + if (this.count != undefined) { + this.xmlSetAttribute(node, "Count", timapi.utils.StringHelper.makeString(this.count)); + } + if (this.amountSum != undefined) { + this.xmlSetAttribute(node, "AmountSum", timapi.utils.StringHelper.makeString(this.amountSum)); + } + for (var each of this.trxDetail) { + this.xmlAddChild(node, "sixml:TrxDetail", each); + } + if (this.amountSumOther != undefined) { + this.xmlSetAttribute(node, "AmountSumOther", timapi.utils.StringHelper.makeString(this.amountSumOther)); + } + if (this.amountSumTip != undefined) { + this.xmlSetAttribute(node, "AmountSumTip", timapi.utils.StringHelper.makeString(this.amountSumTip)); + } + return node; +}; +timapi.protocol.sixml.TransactionData = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.TransactionData) { + var value = a; + this.dccAllowed = value.dccAllowed; + this.partialApprovalAllowed = value.partialApprovalAllowed; + this.trxOriginalDate = value.trxOriginalDate; + this.ecrSeqCounter = value.ecrSeqCounter; + this.transRef = value.transRef; + this.transSeq = value.transSeq; + this.cardRef = value.cardRef; + this.trmTransRef = value.trmTransRef; + this.acqTransRef = value.acqTransRef; + this.acqId = value.acqId; + this.phoneAuthCode = value.phoneAuthCode; + this.multiCurrencyFlag = value.multiCurrencyFlag; + this.tipAllowed = value.tipAllowed; + this.ngvmode = value.ngvmode; + this.ngvclearingDelay = value.ngvclearingDelay; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "DccAllowed")) { + this.dccAllowed = this.xmlGetAttribute(node, "DccAllowed") == "1"; + } + if (this.xmlHasAttribute(node, "PartialApprovalAllowed")) { + this.partialApprovalAllowed = this.xmlGetAttribute(node, "PartialApprovalAllowed") == "1"; + } + if (this.xmlHasAttribute(node, "TrxOriginalDate")) { + this.trxOriginalDate = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TrxOriginalDate")); + } + if (this.xmlHasAttribute(node, "EcrSeqCounter")) { + this.ecrSeqCounter = (this.xmlGetAttribute(node, "EcrSeqCounter") ? parseInt(this.xmlGetAttribute(node, "EcrSeqCounter")) : 0); + } + if (this.xmlHasAttribute(node, "TransRef")) { + this.transRef = (this.xmlGetAttribute(node, "TransRef") ? parseInt(this.xmlGetAttribute(node, "TransRef")) : 0); + } + if (this.xmlHasAttribute(node, "TransSeq")) { + this.transSeq = (this.xmlGetAttribute(node, "TransSeq") ? parseInt(this.xmlGetAttribute(node, "TransSeq")) : 0); + } + if (this.xmlHasAttribute(node, "CardRef")) { + this.cardRef = this.xmlGetAttribute(node, "CardRef"); + } + if (this.xmlHasAttribute(node, "TrmTransRef")) { + this.trmTransRef = this.xmlGetAttribute(node, "TrmTransRef"); + } + if (this.xmlHasAttribute(node, "AcqTransRef")) { + this.acqTransRef = this.xmlGetAttribute(node, "AcqTransRef"); + } + if (this.xmlHasAttribute(node, "AcqId")) { + this.acqId = (this.xmlGetAttribute(node, "AcqId") ? parseInt(this.xmlGetAttribute(node, "AcqId")) : 0); + } + if (this.xmlHasAttribute(node, "PhoneAuthCode")) { + this.phoneAuthCode = this.xmlGetAttribute(node, "PhoneAuthCode"); + } + if (this.xmlHasAttribute(node, "MultiCurrencyFlag")) { + this.multiCurrencyFlag = this.xmlGetAttribute(node, "MultiCurrencyFlag") == "1"; + } + if (this.xmlHasAttribute(node, "TipAllowed")) { + this.tipAllowed = this.xmlGetAttribute(node, "TipAllowed") == "1"; + } + if (this.xmlHasAttribute(node, "NGVMode")) { + this.ngvmode = this.xmlGetAttribute(node, "NGVMode"); + } + if (this.xmlHasAttribute(node, "NGVClearingDelay")) { + this.ngvclearingDelay = (this.xmlGetAttribute(node, "NGVClearingDelay") ? parseInt(this.xmlGetAttribute(node, "NGVClearingDelay")) : 0); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.TransactionData.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.TransactionData.prototype.dccAllowed = undefined; +timapi.protocol.sixml.TransactionData.prototype.partialApprovalAllowed = undefined; +timapi.protocol.sixml.TransactionData.prototype.trxOriginalDate = undefined; +timapi.protocol.sixml.TransactionData.prototype.ecrSeqCounter = undefined; +timapi.protocol.sixml.TransactionData.prototype.transRef = undefined; +timapi.protocol.sixml.TransactionData.prototype.transSeq = undefined; +timapi.protocol.sixml.TransactionData.prototype.cardRef = undefined; +timapi.protocol.sixml.TransactionData.prototype.trmTransRef = undefined; +timapi.protocol.sixml.TransactionData.prototype.acqTransRef = undefined; +timapi.protocol.sixml.TransactionData.prototype.acqId = undefined; +timapi.protocol.sixml.TransactionData.prototype.phoneAuthCode = undefined; +timapi.protocol.sixml.TransactionData.prototype.multiCurrencyFlag = undefined; +timapi.protocol.sixml.TransactionData.prototype.tipAllowed = undefined; +timapi.protocol.sixml.TransactionData.prototype.ngvmode = undefined; +timapi.protocol.sixml.TransactionData.prototype.ngvclearingDelay = undefined; +timapi.protocol.sixml.TransactionData.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:TransactionData"); + if (this.dccAllowed != undefined) { + this.xmlSetAttribute(node, "DccAllowed", (this.dccAllowed ? "1" : "0")); + } + if (this.partialApprovalAllowed != undefined) { + this.xmlSetAttribute(node, "PartialApprovalAllowed", (this.partialApprovalAllowed ? "1" : "0")); + } + if (this.trxOriginalDate != undefined) { + this.xmlSetAttribute(node, "TrxOriginalDate", this.trxOriginalDate.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.ecrSeqCounter != undefined) { + this.xmlSetAttribute(node, "EcrSeqCounter", timapi.utils.StringHelper.makeString(this.ecrSeqCounter)); + } + if (this.transRef != undefined) { + this.xmlSetAttribute(node, "TransRef", timapi.utils.StringHelper.makeString(this.transRef)); + } + if (this.transSeq != undefined) { + this.xmlSetAttribute(node, "TransSeq", timapi.utils.StringHelper.makeString(this.transSeq)); + } + if (this.cardRef != undefined) { + this.xmlSetAttribute(node, "CardRef", this.cardRef); + } + if (this.trmTransRef != undefined) { + this.xmlSetAttribute(node, "TrmTransRef", this.trmTransRef); + } + if (this.acqTransRef != undefined) { + this.xmlSetAttribute(node, "AcqTransRef", this.acqTransRef); + } + if (this.acqId != undefined) { + this.xmlSetAttribute(node, "AcqId", timapi.utils.StringHelper.makeString(this.acqId)); + } + if (this.phoneAuthCode != undefined) { + this.xmlSetAttribute(node, "PhoneAuthCode", this.phoneAuthCode); + } + if (this.multiCurrencyFlag != undefined) { + this.xmlSetAttribute(node, "MultiCurrencyFlag", (this.multiCurrencyFlag ? "1" : "0")); + } + if (this.tipAllowed != undefined) { + this.xmlSetAttribute(node, "TipAllowed", (this.tipAllowed ? "1" : "0")); + } + if (this.ngvmode != undefined) { + this.xmlSetAttribute(node, "NGVMode", this.ngvmode); + } + if (this.ngvclearingDelay != undefined) { + this.xmlSetAttribute(node, "NGVClearingDelay", timapi.utils.StringHelper.makeString(this.ngvclearingDelay)); + } + return node; +}; +timapi.protocol.sixml.TransactionInformation = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.TransactionInformation) { + var value = a; + this.posEntryMode = value.posEntryMode; + this.cvm = value.cvm; + this.merchantAction = value.merchantAction; + this.authCode = value.authCode; + this.timeStamp = value.timeStamp; + this.transRef = value.transRef; + this.transSeq = value.transSeq; + this.acqId = value.acqId; + this.trmTransRef = value.trmTransRef; + this.acqTransRef = value.acqTransRef; + this.ecrSeqCounter = value.ecrSeqCounter; + this.signatureInformation = value.signatureInformation ? new timapi.protocol.sixml.SignatureInformation(value.signatureInformation) : undefined; + this.cardholderName = value.cardholderName; + this.clientIdentifier = value.clientIdentifier; + this.accountNumber = value.accountNumber; + this.personOid = value.personOid; + this.cardId = value.cardId; + this.ngvusedFlag = value.ngvusedFlag; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "PosEntryMode")) { + this.posEntryMode = (this.xmlGetAttribute(node, "PosEntryMode") ? parseInt(this.xmlGetAttribute(node, "PosEntryMode")) : 0); + } + if (this.xmlHasAttribute(node, "Cvm")) { + this.cvm = this.xmlGetAttribute(node, "Cvm"); + } + if (this.xmlHasAttribute(node, "MerchantAction")) { + this.merchantAction = this.xmlGetAttribute(node, "MerchantAction"); + } + if (this.xmlHasAttribute(node, "AuthCode")) { + this.authCode = this.xmlGetAttribute(node, "AuthCode"); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasAttribute(node, "TransRef")) { + this.transRef = (this.xmlGetAttribute(node, "TransRef") ? parseInt(this.xmlGetAttribute(node, "TransRef")) : 0); + } + if (this.xmlHasAttribute(node, "TransSeq")) { + this.transSeq = (this.xmlGetAttribute(node, "TransSeq") ? parseInt(this.xmlGetAttribute(node, "TransSeq")) : 0); + } + if (this.xmlHasAttribute(node, "AcqId")) { + this.acqId = (this.xmlGetAttribute(node, "AcqId") ? parseInt(this.xmlGetAttribute(node, "AcqId")) : 0); + } + if (this.xmlHasAttribute(node, "TrmTransRef")) { + this.trmTransRef = this.xmlGetAttribute(node, "TrmTransRef"); + } + if (this.xmlHasAttribute(node, "AcqTransRef")) { + this.acqTransRef = this.xmlGetAttribute(node, "AcqTransRef"); + } + if (this.xmlHasAttribute(node, "EcrSeqCounter")) { + this.ecrSeqCounter = (this.xmlGetAttribute(node, "EcrSeqCounter") ? parseInt(this.xmlGetAttribute(node, "EcrSeqCounter")) : 0); + } + if (this.xmlHasChild(node, "sixml:SignatureInformation")) { + this.signatureInformation = new timapi.protocol.sixml.SignatureInformation(this.xmlGetChild(node, "sixml:SignatureInformation")); + } + if (this.xmlHasAttribute(node, "CardholderName")) { + this.cardholderName = this.xmlGetAttribute(node, "CardholderName"); + } + if (this.xmlHasAttribute(node, "ClientIdentifier")) { + this.clientIdentifier = this.xmlGetAttribute(node, "ClientIdentifier"); + } + if (this.xmlHasAttribute(node, "AccountNumber")) { + this.accountNumber = this.xmlGetAttribute(node, "AccountNumber"); + } + if (this.xmlHasAttribute(node, "PersonOid")) { + this.personOid = (this.xmlGetAttribute(node, "PersonOid") ? parseInt(this.xmlGetAttribute(node, "PersonOid")) : 0); + } + if (this.xmlHasAttribute(node, "CardId")) { + this.cardId = this.xmlGetAttribute(node, "CardId"); + } + if (this.xmlHasAttribute(node, "NGVUsedFlag")) { + this.ngvusedFlag = this.xmlGetAttribute(node, "NGVUsedFlag") == "1"; + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.TransactionInformation.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.TransactionInformation.prototype.posEntryMode = undefined; +timapi.protocol.sixml.TransactionInformation.prototype.cvm = undefined; +timapi.protocol.sixml.TransactionInformation.prototype.merchantAction = undefined; +timapi.protocol.sixml.TransactionInformation.prototype.authCode = undefined; +timapi.protocol.sixml.TransactionInformation.prototype.timeStamp = undefined; +timapi.protocol.sixml.TransactionInformation.prototype.transRef = undefined; +timapi.protocol.sixml.TransactionInformation.prototype.transSeq = undefined; +timapi.protocol.sixml.TransactionInformation.prototype.acqId = undefined; +timapi.protocol.sixml.TransactionInformation.prototype.trmTransRef = undefined; +timapi.protocol.sixml.TransactionInformation.prototype.acqTransRef = undefined; +timapi.protocol.sixml.TransactionInformation.prototype.ecrSeqCounter = undefined; +timapi.protocol.sixml.TransactionInformation.prototype.signatureInformation = undefined; +timapi.protocol.sixml.TransactionInformation.prototype.cardholderName = undefined; +timapi.protocol.sixml.TransactionInformation.prototype.clientIdentifier = undefined; +timapi.protocol.sixml.TransactionInformation.prototype.accountNumber = undefined; +timapi.protocol.sixml.TransactionInformation.prototype.personOid = undefined; +timapi.protocol.sixml.TransactionInformation.prototype.cardId = undefined; +timapi.protocol.sixml.TransactionInformation.prototype.ngvusedFlag = undefined; +timapi.protocol.sixml.TransactionInformation.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:TransactionInformation"); + if (this.posEntryMode != undefined) { + this.xmlSetAttribute(node, "PosEntryMode", timapi.utils.StringHelper.makeString(this.posEntryMode)); + } + if (this.cvm != undefined) { + this.xmlSetAttribute(node, "Cvm", this.cvm); + } + if (this.merchantAction != undefined) { + this.xmlSetAttribute(node, "MerchantAction", this.merchantAction); + } + if (this.authCode != undefined) { + this.xmlSetAttribute(node, "AuthCode", this.authCode); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.transRef != undefined) { + this.xmlSetAttribute(node, "TransRef", timapi.utils.StringHelper.makeString(this.transRef)); + } + if (this.transSeq != undefined) { + this.xmlSetAttribute(node, "TransSeq", timapi.utils.StringHelper.makeString(this.transSeq)); + } + if (this.acqId != undefined) { + this.xmlSetAttribute(node, "AcqId", timapi.utils.StringHelper.makeString(this.acqId)); + } + if (this.trmTransRef != undefined) { + this.xmlSetAttribute(node, "TrmTransRef", this.trmTransRef); + } + if (this.acqTransRef != undefined) { + this.xmlSetAttribute(node, "AcqTransRef", this.acqTransRef); + } + if (this.ecrSeqCounter != undefined) { + this.xmlSetAttribute(node, "EcrSeqCounter", timapi.utils.StringHelper.makeString(this.ecrSeqCounter)); + } + if (this.signatureInformation != undefined) { + this.xmlAddChild(node, "sixml:SignatureInformation", this.signatureInformation); + } + if (this.cardholderName != undefined) { + this.xmlSetAttribute(node, "CardholderName", this.cardholderName); + } + if (this.clientIdentifier != undefined) { + this.xmlSetAttribute(node, "ClientIdentifier", this.clientIdentifier); + } + if (this.accountNumber != undefined) { + this.xmlSetAttribute(node, "AccountNumber", this.accountNumber); + } + if (this.personOid != undefined) { + this.xmlSetAttribute(node, "PersonOid", timapi.utils.StringHelper.makeString(this.personOid)); + } + if (this.cardId != undefined) { + this.xmlSetAttribute(node, "CardId", this.cardId); + } + if (this.ngvusedFlag != undefined) { + this.xmlSetAttribute(node, "NGVUsedFlag", (this.ngvusedFlag ? "1" : "0")); + } + return node; +}; +timapi.protocol.sixml.TrxDetail = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.TrxDetail) { + var value = a; + this.aid = value.aid; + this.dccFlag = value.dccFlag; + this.transactionType = value.transactionType; + this.count = value.count; + this.markup = value.markup; + this.markupExponent = value.markupExponent; + this.amountSum = value.amountSum; + this.amountSumOther = value.amountSumOther; + this.amountSumTip = value.amountSumTip; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "Aid")) { + this.aid = this.xmlGetAttribute(node, "Aid"); + } + if (this.xmlHasAttribute(node, "DccFlag")) { + this.dccFlag = this.xmlGetAttribute(node, "DccFlag") == "1"; + } + if (this.xmlHasAttribute(node, "TransactionType")) { + this.transactionType = this.xmlGetAttribute(node, "TransactionType"); + } + if (this.xmlHasAttribute(node, "Count")) { + this.count = (this.xmlGetAttribute(node, "Count") ? parseInt(this.xmlGetAttribute(node, "Count")) : 0); + } + if (this.xmlHasAttribute(node, "Markup")) { + this.markup = (this.xmlGetAttribute(node, "Markup") ? parseInt(this.xmlGetAttribute(node, "Markup")) : 0); + } + if (this.xmlHasAttribute(node, "MarkupExponent")) { + this.markupExponent = (this.xmlGetAttribute(node, "MarkupExponent") ? parseInt(this.xmlGetAttribute(node, "MarkupExponent")) : 0); + } + if (this.xmlHasAttribute(node, "AmountSum")) { + this.amountSum = (this.xmlGetAttribute(node, "AmountSum") ? parseInt(this.xmlGetAttribute(node, "AmountSum")) : 0); + } + if (this.xmlHasAttribute(node, "AmountSumOther")) { + this.amountSumOther = (this.xmlGetAttribute(node, "AmountSumOther") ? parseInt(this.xmlGetAttribute(node, "AmountSumOther")) : 0); + } + if (this.xmlHasAttribute(node, "AmountSumTip")) { + this.amountSumTip = (this.xmlGetAttribute(node, "AmountSumTip") ? parseInt(this.xmlGetAttribute(node, "AmountSumTip")) : 0); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.TrxDetail.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.TrxDetail.prototype.aid = undefined; +timapi.protocol.sixml.TrxDetail.prototype.dccFlag = undefined; +timapi.protocol.sixml.TrxDetail.prototype.transactionType = undefined; +timapi.protocol.sixml.TrxDetail.prototype.count = undefined; +timapi.protocol.sixml.TrxDetail.prototype.markup = undefined; +timapi.protocol.sixml.TrxDetail.prototype.markupExponent = undefined; +timapi.protocol.sixml.TrxDetail.prototype.amountSum = undefined; +timapi.protocol.sixml.TrxDetail.prototype.amountSumOther = undefined; +timapi.protocol.sixml.TrxDetail.prototype.amountSumTip = undefined; +timapi.protocol.sixml.TrxDetail.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:TrxDetail"); + if (this.aid != undefined) { + this.xmlSetAttribute(node, "Aid", this.aid); + } + if (this.dccFlag != undefined) { + this.xmlSetAttribute(node, "DccFlag", (this.dccFlag ? "1" : "0")); + } + if (this.transactionType != undefined) { + this.xmlSetAttribute(node, "TransactionType", this.transactionType); + } + if (this.count != undefined) { + this.xmlSetAttribute(node, "Count", timapi.utils.StringHelper.makeString(this.count)); + } + if (this.markup != undefined) { + this.xmlSetAttribute(node, "Markup", timapi.utils.StringHelper.makeString(this.markup)); + } + if (this.markupExponent != undefined) { + this.xmlSetAttribute(node, "MarkupExponent", timapi.utils.StringHelper.makeString(this.markupExponent)); + } + if (this.amountSum != undefined) { + this.xmlSetAttribute(node, "AmountSum", timapi.utils.StringHelper.makeString(this.amountSum)); + } + if (this.amountSumOther != undefined) { + this.xmlSetAttribute(node, "AmountSumOther", timapi.utils.StringHelper.makeString(this.amountSumOther)); + } + if (this.amountSumTip != undefined) { + this.xmlSetAttribute(node, "AmountSumTip", timapi.utils.StringHelper.makeString(this.amountSumTip)); + } + return node; +}; +timapi.protocol.sixml.WatermarkItemList = function (a) { + this.watermarkItem = []; + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.WatermarkItemList) { + var value = a; + for (var each of value.watermarkItem) { + this.watermarkItem.push(each); + } + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + for (var each of this.xmlGetChildren(node, "sixml:WatermarkItem")) { + this.watermarkItem.push(each.textContent); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.WatermarkItemList.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.WatermarkItemList.prototype.watermarkItem = undefined; +timapi.protocol.sixml.WatermarkItemList.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:WatermarkItemList"); + for (var each of this.watermarkItem) { + this.xmlAddChild(node, "sixml:WatermarkItem", each); + } + return node; +}; +timapi.statemachine.states.ErrorState = function (context) { + if (context == undefined) { + throw new Error("Invalid argument. context is undefined"); + } + this.context = context; +}; +timapi.statemachine.states.ErrorState.loggerName = "timapi.statemachine.states.ErrorState"; +timapi.statemachine.states.ErrorState.classname = "ErrorState"; +timapi.statemachine.states.ErrorState.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.ErrorState.loggerName); +timapi.statemachine.states.ErrorState.prototype.enterState = function () { + this.context.actionErrorConnectionLost(); + this.context.actionDisconnect(); + this.context.actionClearPendingEvent(); + if (this.context.conditionIsEnabledAutoConnect() + && !this.context.conditionRunAwayProtection()) { + this.context.actionRunAwayProtection(); + this.context.actionConnect(); + this.context.setState(new timapi.statemachine.states.Connecting(this.context)); + return; + } + this.context.actionRunAwayProtection(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.ErrorState.prototype.exitState = function () { +}; +timapi.statemachine.states.ErrorState.prototype.activate = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.applicationInformation = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.balance = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.cancel = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.changeSettings = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.commit = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.connect = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.counterRequest = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.deactivate = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.disconnect = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.dccRates = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.hardwareInformation = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.initTransaction = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.login = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.logout = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.reboot = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.reconciliation = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.receiptRequest = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.reconfig = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.rollback = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.softwareUpdate = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.systemInformation = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.transaction = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.connected = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.connectFailed = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.disconnected = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.responseRequest = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.responseError = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.responseInvalid = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.responseBusy = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.notificationStatusChanged = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.notificationLicenseChanged = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.notificationKeepAlive = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.timeout = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.keepAliveTimeout = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.keepAliveTimer = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.trxStateBecameIdle = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.closeReader = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.openReader = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.ejectCard = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.openMaintenanceWindow = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.closeMaintenanceWindow = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.holdCommit = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.activateServiceMenu = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.amtAdjustment = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.balanceInquiry = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.openDialogMode = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.closeDialogMode = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.showSignatureCapture = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.showDialog = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.sendCardCommand = Object.illegalState; +timapi.statemachine.states.ErrorState.prototype.toString = function () { + return this.classname; +}; +timapi.statemachine.states.ErrorState.prototype.context = undefined; +timapi.statemachine.AbstractContext = function () { +}; +timapi.statemachine.AbstractContext.loggerName = "timapi.statemachine.AbstractContext"; +timapi.statemachine.AbstractContext.classname = "AbstractContext"; +timapi.statemachine.AbstractContext.logger = timapi.logging.Logger.getLogger(timapi.statemachine.AbstractContext.loggerName); +timapi.statemachine.AbstractContext.prototype.start = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "start"); + this.state = undefined; + this.setState(new timapi.statemachine.states.Initial(this)); + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "start"); +}; +timapi.statemachine.AbstractContext.prototype.conditionIsEnabledAutoConnect = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionIsEnabledAutoLogin = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionIsEnabledFetchBrands = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionIsEnabledAutoActivate = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionIsEnabledAutoCommit = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionIsEnabledAutoDeactivate = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionIsEnabledAutoLogout = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionIsEnabledAutoDisconnect = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionHasPendingEvent = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionHasPendingActivate = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionHasPendingApplicationInformation = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionHasPendingBalance = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionHasPendingChangeSettings = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionHasPendingCounterRequest = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionHasPendingCommit = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionHasPendingDccRates = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionHasPendingDeactivate = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionHasPendingHardwareInformation = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionHasPendingInitTransaction = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionHasPendingLogin = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionHasPendingLogout = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionHasPendingReboot = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionHasPendingReceiptRequest = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionHasPendingReconciliation = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionHasPendingReconfig = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionHasPendingSoftwareUpdate = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionHasPendingSystemInformation = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionHasPendingTransaction = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionHasPendingCancel = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionTransactionNoCommit = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionHasTerminalFeatures = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionSupportedFeatureAutoCommit = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionMandatoryFeatureAutoCommit = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionIsApplicationInformationNotSupported = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionCanRepeatRequest = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionRunAwayProtection = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionHasGuideBanking = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionHasGuideUnattended = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionHasPendingCloseReader = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionHasPendingOpenReader = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionHasPendingEjectCard = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionHasPendingOpenMaintenanceWindow = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionHasPendingCloseMaintenanceWindow = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionHasPendingActivateServiceMenu = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionHasGuideAdvancedRetail = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionHasPendingBalanceInquiry = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionHasGuideDialog = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionHasPendingOpenDialogMode = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionHasPendingCloseDialogMode = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionHasPendingShowSignatureCapture = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionHasPendingShowDialog = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.conditionHasPendingSendCardCommand = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionActivate = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionApplicationInformation = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionBalance = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionCancel = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionChangeSettings = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionCommit = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionCounterRequest = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionDccRates = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionDeactivate = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionHardwareInformation = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionInitTransaction = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionLogin = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionLogout = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionReboot = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionReconciliation = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionReconfig = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionReceiptRequest = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionRequestFeatures = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionRollback = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionSoftwareUpdate = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionSystemInformation = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionTransaction = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionSetDefaultLoginRequest = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionConnect = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionDisconnect = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionSendErrorResponseDisconnect = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionSendKeepAliveNotification = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionProcessResponseActivate = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionProcessResponseApplicationInformation = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionProcessResponseBalance = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionProcessResponseChangeSettings = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionProcessResponseCommit = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionProcessResponseCounterRequest = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionProcessResponseDeactivate = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionProcessResponseDccRates = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionProcessResponseError = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionProcessResponseFeatureRequest = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionProcessResponseHardwareInformation = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionProcessResponseInitTransaction = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionProcessResponseLogin = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionProcessResponseLogout = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionProcessResponseReboot = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionProcessResponseRollback = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionProcessResponseReceiptRequest = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionProcessResponseReconciliation = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionProcessResponseReconfig = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionProcessResponseSoftwareUpdate = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionProcessResponseSystemInformation = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionProcessResponseTransaction = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionProcessNotificationStatusChanged = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionProcessNotificationLicenseChanged = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionNotifyLoginCompleted = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionSimulateLogoutCompleted = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionSimulateCommitCompleted = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionClearPendingEvent = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionSetPendingActivate = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionSetPendingApplicationInformation = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionSetPendingBalance = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionSetPendingChangeSettings = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionSetPendingCounterRequest = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionSetPendingCommit = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionSetPendingDccRates = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionSetPendingDeactivate = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionSetPendingHardwareInformation = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionSetPendingInitTransaction = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionSetPendingLogin = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionSetPendingLogout = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionSetPendingReboot = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionSetPendingReceiptRequest = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionSetPendingReconciliation = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionSetPendingReconfig = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionSetPendingSoftwareUpdate = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionSetPendingSystemInformation = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionSetPendingTransaction = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionSetPendingCancel = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionClearPendingCancel = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionErrorConnectionLost = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionErrorInvalidResponse = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionErrorRequestInProgress = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionErrorWrongState = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionErrorTimeout = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionErrorDisabledFeature = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionArmTimeoutTransaction = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionArmTimeoutRequest = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionArmTimeoutLongRequest = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionCancelTimeout = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionRepeatRequest = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionRunAwayProtection = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionCloseReader = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionOpenReader = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionEjectCard = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionOpenMaintenanceWindow = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionCloseMaintenanceWindow = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionHoldCommit = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionAmtAdjustment = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionActivateServiceMenu = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionProcessResponseCloseReader = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionProcessResponseOpenReader = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionProcessResponseEjectCard = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionProcessResponseOpenMaintenanceWindow = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionProcessResponseCloseMaintenanceWindow = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionProcessResponseActivateServiceMenu = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionSetPendingCloseReader = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionSetPendingOpenReader = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionSetPendingEjectCard = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionSetPendingOpenMaintenanceWindow = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionSetPendingCloseMaintenanceWindow = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionSetPendingActivateServiceMenu = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionBalanceInquiry = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionProcessResponseBalanceInquiry = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionSetPendingBalanceInquiry = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionOpenDialogMode = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionCloseDialogMode = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionShowSignatureCapture = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionShowDialog = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionSendCardCommand = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionProcessResponseOpenDialogMode = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionProcessResponseCloseDialogMode = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionProcessResponseShowSignatureCapture = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionProcessResponseShowDialog = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionProcessResponseSendCardCommand = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionSetPendingOpenDialogMode = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionSetPendingCloseDialogMode = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionSetPendingShowSignatureCapture = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionSetPendingShowDialog = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.actionSetPendingSendCardCommand = Object.abstractFunction; +timapi.statemachine.AbstractContext.prototype.eventActivate = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventActivate"); + try { + this.state.activate(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventActivate failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventActivate"); +}; +timapi.statemachine.AbstractContext.prototype.eventApplicationInformation = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventApplicationInformation"); + try { + this.state.applicationInformation(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventApplicationInformation failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventApplicationInformation"); +}; +timapi.statemachine.AbstractContext.prototype.eventBalance = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventBalance"); + try { + this.state.balance(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventBalance failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventBalance"); +}; +timapi.statemachine.AbstractContext.prototype.eventCancel = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventCancel"); + try { + this.state.cancel(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventCancel failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventCancel"); +}; +timapi.statemachine.AbstractContext.prototype.eventChangeSettings = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventChangeSettings"); + try { + this.state.changeSettings(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventChangeSettings failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventChangeSettings"); +}; +timapi.statemachine.AbstractContext.prototype.eventCommit = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventCommit"); + try { + this.state.commit(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventCommit failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventCommit"); +}; +timapi.statemachine.AbstractContext.prototype.eventConnect = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventConnect"); + try { + this.state.connect(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventConnect failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventConnect"); +}; +timapi.statemachine.AbstractContext.prototype.eventCounterRequest = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventCounterRequest"); + try { + this.state.counterRequest(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventCounterRequest failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventCounterRequest"); +}; +timapi.statemachine.AbstractContext.prototype.eventDeactivate = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventDeactivate"); + try { + this.state.deactivate(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventDeactivate failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventDeactivate"); +}; +timapi.statemachine.AbstractContext.prototype.eventDisconnect = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventDisconnect"); + try { + this.state.disconnect(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventDisconnect failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventDisconnect"); +}; +timapi.statemachine.AbstractContext.prototype.eventDccRates = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventDccRates"); + try { + this.state.dccRates(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventDccRates failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventDccRates"); +}; +timapi.statemachine.AbstractContext.prototype.eventHardwareInformation = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventHardwareInformation"); + try { + this.state.hardwareInformation(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventHardwareInformation failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventHardwareInformation"); +}; +timapi.statemachine.AbstractContext.prototype.eventInitTransaction = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventInitTransaction"); + try { + this.state.initTransaction(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventInitTransaction failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventInitTransaction"); +}; +timapi.statemachine.AbstractContext.prototype.eventLogin = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventLogin"); + try { + this.state.login(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventLogin failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventLogin"); +}; +timapi.statemachine.AbstractContext.prototype.eventLogout = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventLogout"); + try { + this.state.logout(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventLogout failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventLogout"); +}; +timapi.statemachine.AbstractContext.prototype.eventReboot = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventReboot"); + try { + this.state.reboot(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventReboot failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventReboot"); +}; +timapi.statemachine.AbstractContext.prototype.eventReconciliation = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventReconciliation"); + try { + this.state.reconciliation(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventReconciliation failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventReconciliation"); +}; +timapi.statemachine.AbstractContext.prototype.eventReceiptRequest = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventReceiptRequest"); + try { + this.state.receiptRequest(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventReceiptRequest failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventReceiptRequest"); +}; +timapi.statemachine.AbstractContext.prototype.eventReconfig = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventReconfig"); + try { + this.state.reconfig(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventReconfig failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventReconfig"); +}; +timapi.statemachine.AbstractContext.prototype.eventRollback = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventRollback"); + try { + this.state.rollback(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventRollback failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventRollback"); +}; +timapi.statemachine.AbstractContext.prototype.eventSoftwareUpdate = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventSoftwareUpdate"); + try { + this.state.softwareUpdate(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventSoftwareUpdate failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventSoftwareUpdate"); +}; +timapi.statemachine.AbstractContext.prototype.eventSystemInformation = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventSystemInformation"); + try { + this.state.systemInformation(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventSystemInformation failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventSystemInformation"); +}; +timapi.statemachine.AbstractContext.prototype.eventTransaction = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventTransaction"); + try { + this.state.transaction(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventTransaction failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventTransaction"); +}; +timapi.statemachine.AbstractContext.prototype.eventConnected = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventConnected"); + try { + this.state.connected(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventConnected failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventConnected"); +}; +timapi.statemachine.AbstractContext.prototype.eventConnectFailed = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventConnectFailed"); + try { + this.state.connectFailed(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventConnectFailed failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventConnectFailed"); +}; +timapi.statemachine.AbstractContext.prototype.eventDisconnected = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventDisconnected"); + try { + this.state.disconnected(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventDisconnected failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventDisconnected"); +}; +timapi.statemachine.AbstractContext.prototype.eventResponseRequest = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventResponseRequest"); + try { + this.state.responseRequest(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventResponseRequest failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventResponseRequest"); +}; +timapi.statemachine.AbstractContext.prototype.eventResponseError = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventResponseError"); + try { + this.state.responseError(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventResponseError failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventResponseError"); +}; +timapi.statemachine.AbstractContext.prototype.eventResponseInvalid = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventResponseInvalid"); + try { + this.state.responseInvalid(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventResponseInvalid failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventResponseInvalid"); +}; +timapi.statemachine.AbstractContext.prototype.eventResponseBusy = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventResponseBusy"); + try { + this.state.responseBusy(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventResponseBusy failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventResponseBusy"); +}; +timapi.statemachine.AbstractContext.prototype.eventNotificationStatusChanged = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventNotificationStatusChanged"); + try { + this.state.notificationStatusChanged(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventNotificationStatusChanged failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventNotificationStatusChanged"); +}; +timapi.statemachine.AbstractContext.prototype.eventNotificationLicenseChanged = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventNotificationLicenseChanged"); + try { + this.state.notificationLicenseChanged(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventNotificationLicenseChanged failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventNotificationLicenseChanged"); +}; +timapi.statemachine.AbstractContext.prototype.eventNotificationKeepAlive = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventNotificationKeepAlive"); + try { + this.state.notificationKeepAlive(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventNotificationKeepAlive failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventNotificationKeepAlive"); +}; +timapi.statemachine.AbstractContext.prototype.eventTimeout = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventTimeout"); + try { + this.state.timeout(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventTimeout failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventTimeout"); +}; +timapi.statemachine.AbstractContext.prototype.eventKeepAliveTimeout = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventKeepAliveTimeout"); + try { + this.state.keepAliveTimeout(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventKeepAliveTimeout failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventKeepAliveTimeout"); +}; +timapi.statemachine.AbstractContext.prototype.eventKeepAliveTimer = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventKeepAliveTimer"); + try { + this.state.keepAliveTimer(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventKeepAliveTimer failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventKeepAliveTimer"); +}; +timapi.statemachine.AbstractContext.prototype.eventTrxStateBecameIdle = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventTrxStateBecameIdle"); + try { + this.state.trxStateBecameIdle(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventTrxStateBecameIdle failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventTrxStateBecameIdle"); +}; +timapi.statemachine.AbstractContext.prototype.eventCloseReader = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventCloseReader"); + try { + this.state.closeReader(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventCloseReader failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventCloseReader"); +}; +timapi.statemachine.AbstractContext.prototype.eventOpenReader = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventOpenReader"); + try { + this.state.openReader(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventOpenReader failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventOpenReader"); +}; +timapi.statemachine.AbstractContext.prototype.eventEjectCard = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventEjectCard"); + try { + this.state.ejectCard(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventEjectCard failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventEjectCard"); +}; +timapi.statemachine.AbstractContext.prototype.eventOpenMaintenanceWindow = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventOpenMaintenanceWindow"); + try { + this.state.openMaintenanceWindow(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventOpenMaintenanceWindow failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventOpenMaintenanceWindow"); +}; +timapi.statemachine.AbstractContext.prototype.eventCloseMaintenanceWindow = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventCloseMaintenanceWindow"); + try { + this.state.closeMaintenanceWindow(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventCloseMaintenanceWindow failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventCloseMaintenanceWindow"); +}; +timapi.statemachine.AbstractContext.prototype.eventHoldCommit = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventHoldCommit"); + try { + this.state.holdCommit(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventHoldCommit failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventHoldCommit"); +}; +timapi.statemachine.AbstractContext.prototype.eventActivateServiceMenu = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventActivateServiceMenu"); + try { + this.state.activateServiceMenu(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventActivateServiceMenu failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventActivateServiceMenu"); +}; +timapi.statemachine.AbstractContext.prototype.eventAmtAdjustment = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventAmtAdjustment"); + try { + this.state.amtAdjustment(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventAmtAdjustment failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventAmtAdjustment"); +}; +timapi.statemachine.AbstractContext.prototype.eventBalanceInquiry = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventBalanceInquiry"); + try { + this.state.balanceInquiry(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventBalanceInquiry failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventBalanceInquiry"); +}; +timapi.statemachine.AbstractContext.prototype.eventOpenDialogMode = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventOpenDialogMode"); + try { + this.state.openDialogMode(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventOpenDialogMode failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventOpenDialogMode"); +}; +timapi.statemachine.AbstractContext.prototype.eventCloseDialogMode = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventCloseDialogMode"); + try { + this.state.closeDialogMode(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventCloseDialogMode failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventCloseDialogMode"); +}; +timapi.statemachine.AbstractContext.prototype.eventShowSignatureCapture = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventShowSignatureCapture"); + try { + this.state.showSignatureCapture(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventShowSignatureCapture failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventShowSignatureCapture"); +}; +timapi.statemachine.AbstractContext.prototype.eventShowDialog = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventShowDialog"); + try { + this.state.showDialog(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventShowDialog failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventShowDialog"); +}; +timapi.statemachine.AbstractContext.prototype.eventSendCardCommand = function () { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "eventSendCardCommand"); + try { + this.state.sendCardCommand(); + } + catch (e) { + if (e.name == "TimError" && + (e.resultCode == timapi.constants.ResultCode.requestPending + || e.resultCode == timapi.constants.ResultCode.sixmlWrongState)) { + throw e; + } + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Sending event eventSendCardCommand failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "eventSendCardCommand"); +}; +timapi.statemachine.AbstractContext.prototype.setState = function (state) { + if (timapi.statemachine.AbstractContext.logger.isLoggable(timapi.logging.Level.FINEST)) { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "setState", this.state); + } + else { + timapi.statemachine.AbstractContext.logger.entering(timapi.statemachine.AbstractContext.classname, "setState"); + } + if (state == undefined) { + throw new Error("state is undefined"); + } + if (this.state != undefined) { + try { + this.state.exitState(); + } + catch (e) { + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Exit state failed on state " + + this.state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + return; + } + } + this.state = state; + try { + this.state.enterState(); + } + catch (e) { + timapi.statemachine.AbstractContext.logger.log(timapi.logging.Level.severe, "Enter state failed on state " + + state.classname + " with no Fail-State set", e); + this.setState(new timapi.statemachine.states.ErrorState(this)); + } + timapi.statemachine.AbstractContext.logger.exiting(timapi.statemachine.AbstractContext.classname, "setState"); +}; +timapi.statemachine.AbstractContext.prototype.state = undefined; +var timapi; +(function (timapi) { + var statemachine; + (function (statemachine) { + var sixml; + (function (sixml) { + class StateMachine extends timapi.statemachine.AbstractContext { + constructor(backend) { + super(backend); + StateMachine.logger.entering(StateMachine.CLASS_NAME, "<constructor>"); + if (backend == undefined) { + throw new Error(); + } + this.backend = backend; + for (var func in this.__proto__) { + if (this.__proto__[func] == undefined) { + StateMachine.logger.log(timapi.logging.Level.INFO, func + " not implemented!"); + this.__proto__[func] = function () { + StateMachine.logger.log(timapi.logging.Level.WARNING, "Called function not implemented!"); + }; + } + } + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "<constructor>"); + } + start() { + super.start(); + } + dispose() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "dispose"); + this.cancelTaskTimeout(); + this.cancelTaskKeepAliveCheck(); + this.cancelTaskKeepAliveDisconnect(); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "dispose"); + } + get $backend() { + return this.backend; + } + get $lastReceivedMessage() { + return this.lastReceivedMessage; + } + set $lastReceivedMessage(value) { + this.lastReceivedMessage = value; + } + set $requestChangeSettings(value) { + this.requestChangeSettings = value; + } + set $requestCounterRequest(value) { + this.requestCounterRequest = value; + } + set $requestLogin(value) { + this.requestLogin = value; + } + set $requestReceiptRequest(value) { + this.requestReceiptRequest = value; + } + set $requestShowSignatureCapture(value) { + this.requestShowSignatureCapture = value; + } + set $requestShowDialog(value) { + this.requestShowDialog = value; + } + set $notificationCancel(value) { + this.notificationCancel = value; + } + set $requestInitTransaction(value) { + this.requestInitTransaction = value; + } + set $requestTransaction(value) { + this.requestTransaction = value; + } + set $requestQueryLoyalty(value) { + this.requestQueryLoyalty = value; + } + conditionIsEnabledAutoConnect() { + return this.backend.$terminal.$settings.$autoConnect; + } + conditionIsEnabledAutoLogin() { + return this.backend.$terminal.$settings.$autoLogin; + } + conditionIsEnabledFetchBrands() { + return this.backend.$terminal.$settings.$fetchBrands; + } + conditionIsEnabledAutoActivate() { + return this.backend.$terminal.$settings.$autoActivate; + } + conditionIsEnabledAutoCommit() { + return this.backend.$terminal.$settings.$autoCommit; + } + conditionIsEnabledAutoDeactivate() { + return this.backend.$terminal.$settings.$autoDeactivate; + } + conditionIsEnabledAutoLogout() { + return this.backend.$terminal.$settings.$autoLogout; + } + conditionIsEnabledAutoDisconnect() { + return this.backend.$terminal.$settings.$autoDisconnect; + } + conditionHasTerminalFeatures() { + return this.backend.$features !== undefined; + } + conditionSupportedFeatureAutoCommit() { + return (this.backend.$features !== undefined && + this.backend.$features.$sixml.$autoCommit === + timapi.Support.supported); + } + conditionMandatoryFeatureAutoCommit() { + return (this.backend.$features !== undefined && + this.backend.$features.$sixml.$autoCommit === + timapi.Support.mandatory); + } + conditionIsApplicationInformationNotSupported() { + return (this.backend.$features !== undefined && + !this.backend.$features.$sixml.$statusFunctions.has(timapi.constants.StatusFunctions.applicationInformation)); + } + conditionHasPendingEvent() { + return this.pendingRequest !== undefined; + } + conditionHasPendingActivate() { + return this.pendingRequest === timapi.constants.RequestType.activate; + } + conditionHasPendingApplicationInformation() { + return (this.pendingRequest === + timapi.constants.RequestType.applicationInformation); + } + conditionHasPendingBalance() { + return this.pendingRequest === timapi.constants.RequestType.balance; + } + conditionHasPendingChangeSettings() { + return (this.pendingRequest === timapi.constants.RequestType.changeSettings); + } + conditionHasPendingCommit() { + return this.pendingRequest === timapi.constants.RequestType.commit; + } + conditionHasPendingCounterRequest() { + return (this.pendingRequest === timapi.constants.RequestType.counterRequest); + } + conditionHasPendingDccRates() { + return this.pendingRequest === timapi.constants.RequestType.dccRates; + } + conditionHasPendingDeactivate() { + return this.pendingRequest === timapi.constants.RequestType.deactivate; + } + conditionHasPendingHardwareInformation() { + return (this.pendingRequest === timapi.constants.RequestType.hardwareInformation); + } + conditionHasPendingInitTransaction() { + return (this.pendingRequest === timapi.constants.RequestType.initTransaction); + } + conditionHasPendingLogin() { + return this.pendingRequest === timapi.constants.RequestType.login; + } + conditionHasPendingLogout() { + return this.pendingRequest === timapi.constants.RequestType.logout; + } + conditionHasPendingReboot() { + return this.pendingRequest === timapi.constants.RequestType.reboot; + } + conditionHasPendingReceiptRequest() { + return (this.pendingRequest === timapi.constants.RequestType.receiptRequest); + } + conditionHasPendingReconfig() { + return this.pendingRequest === timapi.constants.RequestType.reconfig; + } + conditionHasPendingReconciliation() { + return (this.pendingRequest === timapi.constants.RequestType.reconciliation); + } + conditionHasPendingSoftwareUpdate() { + return (this.pendingRequest === timapi.constants.RequestType.softwareUpdate); + } + conditionHasPendingSystemInformation() { + return (this.pendingRequest === timapi.constants.RequestType.systemInformation); + } + conditionHasPendingTransaction() { + return this.pendingRequest === timapi.constants.RequestType.transaction; + } + conditionHasPendingCancel() { + return this.hasPendingCancel; + } + conditionTransactionNoCommit() { + if (this.lastReceivedMessage == undefined) { + return true; + } + switch (this.lastReceivedMessage.attributes.get("Function")) { + case timapi.protocol.constants.Function.credit: + case timapi.protocol.constants.Function.combined: + case timapi.protocol.constants.Function.giro: + case timapi.protocol.constants.Function.finalizePurchase: + case timapi.protocol.constants.Function.purchase: + case timapi.protocol.constants.Function.purchaseForcedAcceptance: + case timapi.protocol.constants.Function.purchasePhoneAuthorized: + case timapi.protocol.constants.Function.purchaseReservation: + case timapi.protocol.constants.Function.purchaseWithCashback: + return false; + case timapi.protocol.constants.Function.adjustReservation: + case timapi.protocol.constants.Function.authorizeCredit: + case timapi.protocol.constants.Function.authorizeDeposit: + case timapi.protocol.constants.Function.balanceInquiry: + case timapi.protocol.constants.Function.bankingBalanceInquiry: + case timapi.protocol.constants.Function.cancelReservation: + case timapi.protocol.constants.Function.cashAdvance: + case timapi.protocol.constants.Function.collectPoints: + case timapi.protocol.constants.Function.loadVoucher: + case timapi.protocol.constants.Function.preAuthorization: + case timapi.protocol.constants.Function.queryLoyalty: + case timapi.protocol.constants.Function.reservation: + case timapi.protocol.constants.Function.reversal: + default: + return true; + } + } + conditionRunAwayProtection() { + return (this.runAwayTime !== undefined && + new Date().getTime() - this.runAwayTime < 1000); + } + actionActivate() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionActivate"); + let message = new timapi.protocol.sixml.Request_Activate(); + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + message.usrId = this.backend.$terminal.$userId; + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionActivate"); + } + actionApplicationInformation() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionApplicationInformation"); + let message = new timapi.protocol.sixml.Request_ApplicationInformation(); + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionApplicationInformation"); + } + actionBalance() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionBalance"); + let message = new timapi.protocol.sixml.Request_Balance(); + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionBalance"); + } + actionCancel() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionCancel"); + let message = this.notificationCancel; + this.notificationCancel = undefined; + this.backend.sendNotification(message); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionCancel"); + } + actionChangeSettings() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionChangeSettings"); + let message = this.requestChangeSettings; + this.requestChangeSettings = undefined; + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionChangeSettings"); + } + actionCommit() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionCommit"); + let message = new timapi.protocol.sixml.Request_Commit(); + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionCommit"); + } + actionCounterRequest() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionCounterRequest"); + let message = this.requestCounterRequest; + this.requestCounterRequest = undefined; + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionCounterRequest"); + } + actionDccRates() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionDccRates"); + let message = new timapi.protocol.sixml.Request_DccRates(); + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionDccRates"); + } + actionDeactivate() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionDeactivate"); + let message = new timapi.protocol.sixml.Request_Deactivate(); + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionDeactivate"); + } + actionHardwareInformation() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionHardwareInformation"); + let message = new timapi.protocol.sixml.Request_HardwareInformation(); + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionHardwareInformation"); + } + actionInitTransaction() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionInitTransaction"); + let message = this.requestInitTransaction; + this.requestLogin = undefined; + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionInitTransaction"); + } + actionLogin() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionLogin"); + let message = this.requestLogin; + this.requestLogin = undefined; + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionLogin"); + } + actionLogout() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionLogout"); + let message = new timapi.protocol.sixml.Request_Logout(); + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionLogout"); + } + actionReboot() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionReboot"); + let message = new timapi.protocol.sixml.Request_Reboot(); + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionReboot"); + } + actionReconciliation() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionReconciliation"); + let message = new timapi.protocol.sixml.Request_Reconciliation(); + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionReconciliation"); + } + actionReconfig() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionReconfig"); + let message = new timapi.protocol.sixml.Request_Reconfig(); + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionReconfig"); + } + actionReceiptRequest() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionReceiptRequest"); + let message = this.requestReceiptRequest; + this.requestReceiptRequest = undefined; + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionReceiptRequest"); + } + actionRequestFeatures() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionRequestFeatures"); + let message = new timapi.protocol.sixml.Request_FeatureRequest(); + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionRequestFeatures"); + } + actionRollback() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionRollback"); + let message = new timapi.protocol.sixml.Request_Rollback(); + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionRollback"); + } + actionSoftwareUpdate() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionSoftwareUpdate"); + let message = new timapi.protocol.sixml.Request_SoftwareUpdate(); + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionSoftwareUpdate"); + } + actionSystemInformation() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionSystemInformation"); + let message = new timapi.protocol.sixml.Request_SystemInformation(); + if (this.backend.$terminal.$ecrData.length > 0) { + let ecrData = new timapi.protocol.sixml.EcrData(); + for (let entry of this.backend.$terminal.$ecrData) { + let ecrInfo = new timapi.protocol.sixml.EcrInfo(); + ecrInfo.ecrInfoArchitecture = entry.$architecture; + ecrInfo.ecrInfoManufacturerName = entry.$manufacturerName; + ecrInfo.ecrInfoName = entry.$name; + ecrInfo.ecrInfoSerialNumber = entry.$serialNumber; + ecrInfo.ecrInfoType = timapi.protocol.constants.EcrInfoType.timApi2Protocol(entry.$type); + ecrInfo.ecrInfoVers = entry.$version; + ecrInfo.integratorSolution = entry.$integratorSolution; + ecrInfo.remoteIp = entry.$remoteIp; + ecrData.ecrInfo.push(ecrInfo); + } + message.ecrData = ecrData; + } + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionSystemInformation"); + } + actionTransaction() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionTransaction"); + if (this.requestTransaction instanceof timapi.protocol.sixml.Request_Purchase) { + let message = this.requestTransaction; + this.requestTransaction = undefined; + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + } + else if (this.requestTransaction instanceof timapi.protocol.sixml.Request_Credit) { + let message = this.requestTransaction; + this.requestTransaction = undefined; + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + } + else if (this.requestTransaction instanceof timapi.protocol.sixml.Request_Reversal) { + let message = this.requestTransaction; + this.requestTransaction = undefined; + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + } + else if (this.requestTransaction instanceof timapi.protocol.sixml.Request_PreAuthorization) { + let message = this.requestTransaction; + this.requestTransaction = undefined; + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + } + else if (this.requestTransaction instanceof timapi.protocol.sixml.Request_FinalizePurchase) { + let message = this.requestTransaction; + this.requestTransaction = undefined; + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + } + else if (this.requestTransaction instanceof timapi.protocol.sixml.Request_PurchaseForcedAcceptance) { + let message = this.requestTransaction; + this.requestTransaction = undefined; + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + } + else if (this.requestTransaction instanceof timapi.protocol.sixml.Request_CashAdvance) { + let message = this.requestTransaction; + this.requestTransaction = undefined; + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + } + else if (this.requestTransaction instanceof timapi.protocol.sixml.Request_PurchaseWithCashback) { + let message = this.requestTransaction; + this.requestTransaction = undefined; + message.equenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + } + else if (this.requestTransaction instanceof timapi.protocol.sixml.Request_PurchasePhoneAuthorized) { + let message = this.requestTransaction; + this.requestTransaction = undefined; + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + } + else if (this.requestTransaction instanceof timapi.protocol.sixml.Request_Reservation) { + let message = this.requestTransaction; + this.requestTransaction = undefined; + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + } + else if (this.requestTransaction instanceof timapi.protocol.sixml.Request_AdjustReservation) { + let message = this.requestTransaction; + this.requestTransaction = undefined; + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + } + else if (this.requestTransaction instanceof timapi.protocol.sixml.Request_CancelReservation) { + let message = this.requestTransaction; + this.requestTransaction = undefined; + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + } + else if (this.requestTransaction instanceof timapi.protocol.sixml.Request_PurchaseReservation) { + let message = this.requestTransaction; + this.requestTransaction = undefined; + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + } + else { + throw new Error(); + } + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionTransaction"); + } + actionSetDefaultLoginRequest() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionSetDefaultLoginRequest"); + this.$requestLogin = timapi.statemachine.sixml.ConvertTimApi2SIXml.createLoginRequest(this.backend.$terminal); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionSetDefaultLoginRequest"); + } + actionConnect() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionConnect"); + this.backend.commConnect(); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionConnect"); + } + actionDisconnect() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionDisconnect"); + this.backend.commDisconnect(); + this.backend.setDisconnectedTerminalStatus(); + this.backend.notifyTerminalStatusChanged(); + this.backend.notifyDisconnected(); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionDisconnect"); + } + actionSendKeepAliveNotification() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionSendKeepAliveNotification"); + this.backend.sendNotification(new timapi.protocol.sixml.Notification_KeepAlive()); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionSendKeepAliveNotification"); + } + actionSendErrorResponseDisconnect() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionSendErrorResponseDisconnect"); + this.backend.failRunningRequest(new timapi.TimException(timapi.constants.ResultCode.apiConnectionLostTerminal)); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionSendErrorResponseDisconnect"); + } + actionProcessResponseActivate() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionProcessResponseActivate"); + let timResponse; + try { + let response = new timapi.protocol.sixml.Response_Activate(this.lastReceivedMessage); + timResponse = new timapi.ActivateResponse(timapi.statemachine.sixml.ConvertSIXml2TimApi.convertPrintDataOrNull(response.printData), response.actSeqCounter); + this.backend.notifyActivateCompleted(undefined, timResponse); + } + catch (error) { + this.backend.failRunningRequest(new timapi.TimException(timapi.constants.ResultCode.apiInvalidAnswer)); + StateMachine.logger.log(timapi.logging.Level.SEVERE, "actionProcessResponseActivate: exception", error); + throw error; + } + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionProcessResponseActivate"); + } + actionProcessResponseApplicationInformation() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionProcessResponseApplicationInformation"); + let timBrands = new Array(); + try { + let response = new timapi.protocol.sixml + .Response_ApplicationInformation(this.lastReceivedMessage); + for (let brand of response.brandList.brand) { + let timApplications = new Array(); + for (let application of brand.application) { + timApplications.push(new timapi.Application(application.$aid, application.$applicationLabel)); + } + let timCurrencies = new Array(); + for (let item of brand.currencyList.currencyItem) { + timCurrencies.push(new timapi.CurrencyItem(timapi.constants.Currency["item.value"], timapi.protocol.constants.CurrencyType.protocol2TimApi(item.currencyType))); + } + timBrands.push(new timapi.Brands(brand.brandName, brand.dccAvailable, timapi.protocol.constants.PaymentProtocol.protocol2TimApi(brand.paymentProtocol), brand.$acqId, timapi.statemachine.sixml.ConvertSIXml2TimApi.convertTimeDateOrNull(brand.$lastInitDate), timApplications, timCurrencies)); + } + } + catch (error) { + this.backend.failRunningRequest(new timapi.TimException(timapi.constants.ResultCode.apiInvalidAnswer)); + StateMachine.logger.log(timapi.logging.Level.SEVERE, "actionProcessResponseApplicationInformation: exception", error); + throw error; + } + this.backend.$brands(timBrands); + this.backend.notifyApplicationInformationCompleted(undefined); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionProcessResponseApplicationInformation"); + } + actionProcessResponseBalance() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionProcessResponseBalance"); + let timResponse; + try { + let response = new timapi.protocol.sixml.Response_Balance(this.lastReceivedMessage); + timResponse = new timapi.BalanceResponse(timapi.statemachine.sixml.ConvertSIXml2TimApi.convertCounters(response.counters), timapi.statemachine.sixml.ConvertSIXml2TimApi.convertPrintDataOrNull(response.printData)); + } + catch (error) { + this.backend.failRunningRequest(new timapi.TimException(timapi.constants.ResultCode.apiInvalidAnswer)); + StateMachine.logger.log(timapi.logging.Level.SEVERE, "actionProcessResponseBalance: exception", [error]); + throw error; + } + this.backend.notifyBalanceCompleted(undefined, timResponse); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionProcessResponseBalance"); + } + actionProcessResponseChangeSettings() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionProcessResponseChangeSettings"); + this.backend.notifyChangeSettingsCompleted(undefined); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionProcessResponseChangeSettings"); + } + actionProcessResponseCommit() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionProcessResponseCommit"); + this.backend.notifyCommitCompleted(undefined); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionProcessResponseCommit"); + } + actionProcessResponseCounterRequest() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionProcessResponseCounterRequest"); + let timCounters; + try { + let response = new timapi.protocol.sixml.Response_CounterRequest(this.lastReceivedMessage); + timCounters = timapi.statemachine.sixml.ConvertSIXml2TimApi.convertCounters(response.counters); + } + catch (error) { + this.backend.failRunningRequest(new timapi.TimException(timapi.constants.ResultCode.apiInvalidAnswer)); + StateMachine.logger.log(timapi.logging.Level.SEVERE, "actionProcessResponseCounterRequest: exception", [error]); + throw error; + } + this.backend.notifyCounterRequestCompleted(undefined, timCounters); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionProcessResponseCounterRequest"); + } + actionProcessResponseDeactivate() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionProcessResponseDeactivate"); + let timResponse; + try { + let response = new timapi.protocol.sixml.Response_Deactivate(this.lastReceivedMessage); + timResponse = new timapi.DeactivateResponse(timapi.statemachine.sixml.ConvertSIXml2TimApi.convertPrintDataOrNull(response.printData), timapi.statemachine.sixml.ConvertSIXml2TimApi.convertCountersOrNull(response.counters)); + } + catch (error) { + this.backend.failRunningRequest(new timapi.TimException(timapi.constants.ResultCode.apiInvalidAnswer)); + StateMachine.logger.log(timapi.logging.Level.SEVERE, "actionProcessResponseDeactivate: exception", [error]); + throw error; + } + this.backend.notifyDeactivateCompleted(undefined, timResponse); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionProcessResponseDeactivate"); + } + actionProcessResponseDccRates() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionProcessResponseDccRates"); + let timPrintData; + try { + let response = new timapi.protocol.sixml.Response_DccRates(this.lastReceivedMessage); + timPrintData = timapi.statemachine.sixml.ConvertSIXml2TimApi.convertPrintData(response.printData); + } + catch (error) { + this.backend.failRunningRequest(new timapi.TimException(timapi.constants.ResultCode.apiInvalidAnswer)); + StateMachine.logger.log(timapi.logging.Level.SEVERE, "actionProcessResponseDccRates: exception", [error]); + throw error; + } + this.backend.notifyDccRatesCompleted(undefined, timPrintData); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionProcessResponseDccRates"); + } + actionProcessResponseError() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionProcessResponseError"); + let response = new timapi.protocol.sixml.Response_Error(this.lastReceivedMessage); + let resultCode = timapi.protocol.constants.ResultCode.protocol2TimApi(response.resultCode); + if (resultCode == undefined) { + resultCode = timapi.constants.ResultCode.sixmlGeneralError; + } + let additionalErrorInfo = new Map(); + if (response.additionalErrorInfoList !== undefined) { + for (let each of response.additionalErrorInfoList.additionalErrorInfo) { + additionalErrorInfo.set(each.additionalErrorInfoType, each.value); + } + } + this.backend.failRunningRequest(new timapi.TimException(resultCode, timapi.ErrorMessages.getErrorMessage(resultCode, this.backend.$terminal), timapi.statemachine.sixml.ConvertSIXml2TimApi.convertNativeErrorOrNull(response.nativeError), timapi.statemachine.sixml.ConvertSIXml2TimApi.convertPpInfoOrNull(response.ppInfo), additionalErrorInfo, timapi.statemachine.sixml.ConvertSIXml2TimApi.convertPrintDataOrNull(response.printData))); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionProcessResponseError"); + } + actionProcessResponseFeatureRequest() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionProcessResponseFeatureRequest"); + let timFeatures; + let terminalId = ""; + try { + let response = new timapi.protocol.sixml.Response_FeatureRequest(this.lastReceivedMessage); + terminalId = response.terminalId; + let mapSupport = new Map([ + ["0", timapi.Support.disabled], + ["1", timapi.Support.supported], + ["2", timapi.Support.mandatory] + ]); + let hwCardholderDisplay = false; + let hwMerchantDisplay = false; + let hwPrinter = false; + let hwDisplayBrightness = false; + let hwDisplayContrast = false; + let hwAlertTones = false; + let hwKeypadTones = false; + let payDcc = false; + let payDeclinedReceipts = false; + let payPartialApproval = false; + let payEp2Available = false; + let payEp2Dcc = false; + let payEp2DeclinedReceipts = false; + let payEp2MultiAccountSelection = false; + let payEp2MultiContractSelection = false; + let sixmlAdminFunctions = new Set(); + let sixmlAutoCommit = timapi.Support.disabled; + let sixmlAutoShiftManagement = timapi.Support.disabled; + let sixmlAutoShutterManagement = timapi.Support.disabled; + let sixmlFinancialFunctions = new Set(); + let sixmlGuides = new Set(); + let sixmlNonFinancialFunctions = new Set(); + let sixmlProtocolLevels = new Set(); + let sixmlSleepTimer = false; + let sixmlStatusFunctions = new Set(); + let sixmlDialogFunctions = new Set(); + for (let feature of response.features.feature) { + switch (feature.featureType) { + case timapi.protocol.constants.FeatureType + .hardwareDisplayCardHolderInstalled: + hwCardholderDisplay = feature.value === "1"; + break; + case timapi.protocol.constants.FeatureType + .hardwareDisplayMerchantInstalled: + hwMerchantDisplay = feature.value === "1"; + break; + case timapi.protocol.constants.FeatureType.hardwarePrinterInstalled: + hwPrinter = feature.value === "1"; + break; + case timapi.protocol.constants.FeatureType + .hardwareSettingDisplayBrightness: + hwDisplayBrightness = feature.value === "1"; + break; + case timapi.protocol.constants.FeatureType + .hardwareSettingDisplayContrast: + hwDisplayContrast = feature.value === "1"; + break; + case timapi.protocol.constants.FeatureType + .hardwareSettingTonesAlert: + hwAlertTones = feature.value === "1"; + break; + case timapi.protocol.constants.FeatureType + .hardwareSettingTonesKeypad: + hwKeypadTones = feature.value === "1"; + break; + case timapi.protocol.constants.FeatureType.paymentDcc: + payDcc = feature.value === "1"; + break; + case timapi.protocol.constants.FeatureType.paymentDeclinedReceipts: + payDeclinedReceipts = feature.value === "1"; + break; + case timapi.protocol.constants.FeatureType.paymentPartialApproval: + payPartialApproval = feature.value === "1"; + break; + case timapi.protocol.constants.FeatureType.paymentPartialCommit: + break; + case timapi.protocol.constants.FeatureType.ep2Available: + payEp2Available = feature.value === "1"; + break; + case timapi.protocol.constants.FeatureType.ep2Dcc: + payEp2Dcc = feature.value === "1"; + break; + case timapi.protocol.constants.FeatureType.ep2DeclinedReceipts: + payEp2DeclinedReceipts = feature.value === "1"; + break; + case timapi.protocol.constants.FeatureType.ep2MultiAccountSelection: + payEp2MultiAccountSelection = feature.value === "1"; + break; + case timapi.protocol.constants.FeatureType + .ep2MultiContractSelection: + payEp2MultiContractSelection = feature.value === "1"; + break; + case timapi.protocol.constants.FeatureType.sixmlAdminFunctions: + sixmlAdminFunctions = timapi.protocol.constants.AdminFunctions.protocol2TimApi(parseInt(feature.value, 16)); + break; + case timapi.protocol.constants.FeatureType.sixmlAutoCommit: + sixmlAutoCommit = mapSupport.get(feature.value); + break; + case timapi.protocol.constants.FeatureType.sixmlAutoShiftManagement: + sixmlAutoShiftManagement = mapSupport.get(feature.value); + break; + case timapi.protocol.constants.FeatureType + .sixmlAutoShutterManagement: + sixmlAutoShutterManagement = mapSupport.get(feature.value); + break; + case timapi.protocol.constants.FeatureType.sixmlDialogFunctions: + sixmlDialogFunctions = timapi.protocol.constants.DialogFunctions.protocol2TimApi(parseInt(feature.value, 16)); + break; + case timapi.protocol.constants.FeatureType + .sixmlFinancialTransactions: + sixmlFinancialFunctions = timapi.protocol.constants.FinancialTransactions.protocol2TimApi(parseInt(feature.value, 16)); + break; + case timapi.protocol.constants.FeatureType.sixmlGuides: + sixmlGuides = timapi.protocol.constants.Guides.protocol2TimApi(parseInt(feature.value, 16)); + break; + case timapi.protocol.constants.FeatureType + .sixmlNonFinancialTransactions: + sixmlNonFinancialFunctions = timapi.protocol.constants.NonFinancialTransactions.protocol2TimApi(parseInt(feature.value, 16)); + break; + case timapi.protocol.constants.FeatureType.sixmlProtocolLevel: + { + let protocolValue = parseInt(feature.value, undefined); + let pl = timapi.protocol.constants.ProtocolLevel.protocol2TimApiIfValid(protocolValue); + if (pl !== undefined) { + sixmlProtocolLevels.add(pl); + } + } + break; + case timapi.protocol.constants.FeatureType.sixmlRemoteFunctions: + break; + case timapi.protocol.constants.FeatureType.sixmlSleepTimer: + sixmlSleepTimer = feature.value === "1"; + break; + case timapi.protocol.constants.FeatureType.sixmlStatusFunctions: + sixmlStatusFunctions = timapi.protocol.constants.StatusFunctions.protocol2TimApi(parseInt(feature.value, 16)); + break; + case timapi.protocol.constants.FeatureType.sixmlSwUpdateInformation: + break; + default: + break; + } + } + timFeatures = new timapi.Features(new timapi.FeaturesHardware(hwCardholderDisplay, hwMerchantDisplay, hwPrinter, hwDisplayBrightness, hwDisplayContrast, hwAlertTones, hwKeypadTones), new timapi.FeaturesPayment(payDcc, payDeclinedReceipts, payPartialApproval, payEp2Available, payEp2Dcc, payEp2DeclinedReceipts, payEp2MultiAccountSelection, payEp2MultiContractSelection), new timapi.FeaturesSixml(sixmlAdminFunctions, sixmlAutoCommit, sixmlAutoShiftManagement, sixmlAutoShutterManagement, sixmlFinancialFunctions, sixmlGuides, sixmlNonFinancialFunctions, sixmlProtocolLevels, sixmlSleepTimer, sixmlStatusFunctions, sixmlDialogFunctions)); + } + catch (error) { + this.backend.failRunningRequest(new timapi.TimException(timapi.constants.ResultCode.apiInvalidAnswer)); + StateMachine.logger.log(timapi.logging.Level.SEVERE, "actionProcessResponseFeatureRequest: exception", [error]); + throw error; + } + this.backend.$terminalId = terminalId; + this.backend.$features = timFeatures; + if (this.requestLogin !== undefined) { + if (this.backend.$terminal.$settings.$autoCommit && + timFeatures.$sixml.$autoCommit === timapi.Support.disabled) { + for (let each of this.requestLogin.protocolOptionList.protocolOption) { + if (each.optionType === timapi.protocol.constants.OptionType.sixmlAutoCommit) { + each.value = 0; + } + } + } + let protocolLevel = timapi.statemachine.sixml.ConvertTimApi2SIXml.findMatchingProtocolLevel(this.backend.$terminal); + if (protocolLevel != 0) { + for (let each of this.requestLogin.protocolOptionList.protocolOption) { + if (each.optionType === timapi.protocol.constants.OptionType.sixmlProtocolLevel) { + each.value = String(protocolLevel); + } + } + } + else { + this.backend.failRunningRequest(new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed)); + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + } + if (this.pendingRequest !== undefined && + !this.backend.isPendingRequestAllowed()) { + this.backend.failRunningRequest(new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed)); + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionProcessResponseFeatureRequest"); + } + actionProcessResponseHardwareInformation() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionProcessResponseHardwareInformation"); + let timResponse; + try { + let response = new timapi.protocol.sixml.Response_HardwareInformation(this.lastReceivedMessage); + let timHardwares = new Array(); + for (let hardware of response.hardwareList.hardware) { + timHardwares.push(new timapi.Hardware(timapi.protocol.constants.HardwareType.protocol2TimApi(hardware.hardwareType), hardware.serialNumber, timapi.statemachine.sixml.ConvertSIXml2TimApi.convertTimeDateOrNull(hardware.productionDate), hardware.productVersion, hardware.firmwareVersion, timapi.protocol.constants.SecurityStatus.protocol2TimApi(hardware.securityStatus), timapi.statemachine.sixml.ConvertSIXml2TimApi.convertTimeDateOrNull(hardware.lastCleaningDate))); + } + let timKernelVersions = new Map(); + for (let kernelVersion of response.kernelVersionList.kernelVersion) { + timKernelVersions.set(timapi.protocol.constants.KernelType.protocol2TimApi(kernelVersion.kernelType), kernelVersion.value); + } + let timSettings = new Map(); + for (let setting of response.settingsList.setting) { + timSettings.set(timapi.protocol.constants.SettingType.protocol2TimApi(setting.settingType), setting.value); + } + let timStatistics = new Map(); + if (this.backend.$terminal.$settings.$guides.has(timapi.constants.Guides.unattended)) { + for (let statistic of response.statisticsList.statistic) { + timStatistics.set(statistic.statisticType, statistic.value); + } + } + timResponse = new timapi.HardwareInformationResponse(timHardwares, timKernelVersions, timSettings, timStatistics); + } + catch (error) { + this.backend.failRunningRequest(new timapi.TimException(timapi.constants.ResultCode.apiInvalidAnswer)); + StateMachine.logger.log(timapi.logging.Level.SEVERE, "actionProcessResponseHardwareInformation: exception", [error]); + throw error; + } + this.backend.notifyHardwareInformationCompleted(undefined, timResponse); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionProcessResponseHardwareInformation"); + } + actionProcessResponseInitTransaction() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionProcessResponseInitTransaction"); + let timResponse; + try { + let response = new timapi.protocol.sixml.Response_InitTransaction(this.lastReceivedMessage); + timResponse = sixml.ConvertSIXml2TimApi.convertCardDataOrNull(response.cardData); + } + catch (error) { + this.backend.failRunningRequest(new timapi.TimException(timapi.constants.ResultCode.apiInvalidAnswer)); + StateMachine.logger.log(timapi.logging.Level.SEVERE, "actionProcessResponseInitTransaction: exception", [error]); + throw error; + } + this.backend.notifyInitTransactionCompleted(undefined, timResponse); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionProcessResponseInitTransaction", [timResponse]); + } + actionProcessResponseLogin() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionProcessResponseLogin"); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionProcessResponseLogin"); + } + actionProcessResponseLogout() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionProcessResponseLogout"); + this.backend.notifyLogoutCompleted(undefined); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionProcessResponseLogout"); + } + actionProcessResponseReboot() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionProcessResponseReboot"); + this.backend.notifyRebootCompleted(undefined); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionProcessResponseReboot"); + } + actionProcessResponseRollback() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionProcessResponseRollback"); + let timPrintData; + try { + let response = new timapi.protocol.sixml.Response_Rollback(this.lastReceivedMessage); + timPrintData = sixml.ConvertSIXml2TimApi.convertPrintDataOrNull(response.printData); + } + catch (error) { + this.backend.failRunningRequest(new timapi.TimException(timapi.constants.ResultCode.apiInvalidAnswer)); + StateMachine.logger.log(timapi.logging.Level.SEVERE, "actionProcessResponseRollback: exception", [error]); + throw error; + } + this.backend.notifyRollbackCompleted(undefined, timPrintData); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionProcessResponseRollback"); + } + actionProcessResponseReceiptRequest() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionProcessResponseReceiptRequest"); + let timResponse; + try { + let response = new timapi.protocol.sixml.Response_ReceiptRequest(this.lastReceivedMessage); + timResponse = new timapi.ReceiptRequestResponse(sixml.ConvertSIXml2TimApi.convertPrintDataOrNull(response.printData), response.getHasMoreReceipts()); + } + catch (error) { + this.backend.failRunningRequest(new timapi.TimException(timapi.constants.ResultCode.apiInvalidAnswer)); + StateMachine.logger.log(timapi.logging.Level.SEVERE, "actionProcessResponseReceiptRequest: exception", [error]); + throw error; + } + this.backend.notifyReceiptRequestCompleted(undefined, timResponse); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionProcessResponseReceiptRequest"); + } + actionProcessResponseReconciliation() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionProcessResponseReconciliation"); + let timResponse; + try { + let response = new timapi.protocol.sixml.Response_Reconciliation(this.lastReceivedMessage); + timResponse = new timapi.ReconciliationResponse(sixml.ConvertSIXml2TimApi.convertCounters(response.counters), sixml.ConvertSIXml2TimApi.convertPrintDataOrNull(response.printData)); + } + catch (error) { + this.backend.failRunningRequest(new timapi.TimException(timapi.constants.ResultCode.apiInvalidAnswer)); + StateMachine.logger.log(timapi.logging.Level.SEVERE, "actionProcessResponseReconciliation: exception", error); + throw error; + } + this.backend.notifyReconciliationCompleted(undefined, timResponse); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionProcessResponseReconciliation"); + } + actionProcessResponseReconfig() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionProcessResponseReconfig"); + let timPrintData; + try { + let response = new timapi.protocol.sixml.Response_Reconfig(this.lastReceivedMessage); + timPrintData = sixml.ConvertSIXml2TimApi.convertPrintDataOrNull(response.printData); + } + catch (error) { + this.backend.failRunningRequest(new timapi.TimException(timapi.constants.ResultCode.apiInvalidAnswer)); + StateMachine.logger.log(timapi.logging.Level.SEVERE, "actionProcessResponseReconfig: exception", [error]); + throw error; + } + this.backend.notifyReconfigCompleted(undefined, timPrintData); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionProcessResponseReconfig"); + } + actionProcessResponseSoftwareUpdate() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionProcessResponseSoftwareUpdate"); + let timStatus; + try { + let response = new timapi.protocol.sixml.Response_SoftwareUpdate(this.lastReceivedMessage); + timStatus = timapi.protocol.constants.UpdateStatus.protocol2TimApi(response.getUpdateStatus()); + } + catch (error) { + this.backend.failRunningRequest(new timapi.TimException(timapi.constants.ResultCode.apiInvalidAnswer)); + StateMachine.logger.log(timapi.logging.Level.SEVERE, "actionProcessResponseSoftwareUpdate: exception", [error]); + throw error; + } + this.backend.notifySoftwareUpdateCompleted(undefined, timStatus); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionProcessResponseSoftwareUpdate"); + } + actionProcessResponseSystemInformation() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionProcessResponseSystemInformation"); + let timResponse; + try { + let response = new timapi.protocol.sixml.Response_SystemInformation(this.lastReceivedMessage); + let timReceiptHeader = new Array(); + for (let header of response.configData.receiptHeader) { + while (timReceiptHeader.length < header.lineNum) { + timReceiptHeader.push(""); + } + timReceiptHeader[header.lineNum - 1] = header.value; + } + this.backend.$configData(new timapi.ConfigData(timReceiptHeader, response.configData.language)); + timResponse = new timapi.SystemInformationResponse(new timapi.NetworkInformation(response.networkInformation.terminalIp, response.networkInformation.terminalIpMask, response.networkInformation.terminalIpGw, response.networkInformation.terminalIpDns)); + } + catch (error) { + this.backend.failRunningRequest(new timapi.TimException(timapi.constants.ResultCode.apiInvalidAnswer)); + StateMachine.logger.log(timapi.logging.Level.SEVERE, "actionProcessResponseSystemInformation: exception", [error]); + throw error; + } + this.backend.notifySystemInformationCompleted(undefined, timResponse); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionProcessResponseSystemInformation"); + } + actionProcessResponseTransaction() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionProcessResponseTransaction"); + let timResponse; + try { + let guides = this.backend.$terminal.$settings.$guides; + switch (this.lastReceivedMessage.attributes.get("Function")) { + case timapi.protocol.constants.Function.purchase: + { + let response = new timapi.protocol.sixml.Response_Purchase(this.lastReceivedMessage); + let tipAmount; + if (guides.has(timapi.constants.Guides.gastro)) { + tipAmount = sixml.ConvertSIXml2TimApi.convertAmountTipOrNull(response.amountTip); + } + timResponse = new timapi.TransactionResponse(timapi.constants.TransactionType.purchase, sixml.ConvertSIXml2TimApi.convertAmount(response.amount), sixml.ConvertSIXml2TimApi.convertAmountOrNull(response.amountDue), sixml.ConvertSIXml2TimApi.convertAmountDccOrNull(response.amountDcc), sixml.ConvertSIXml2TimApi.convertAmountOrNull(response.amountSaldo), sixml.ConvertSIXml2TimApi.convertTransactionInformationOrNull(response.transactionInformation), response.dccDisclaimer, sixml.ConvertSIXml2TimApi.convertCardDataOrNull(response.cardData), sixml.ConvertSIXml2TimApi.convertPrintDataOrNull(response.printData), tipAmount, sixml.ConvertSIXml2TimApi.convertAdditionalInfoOrEmpty(response.additionalInfoList), sixml.ConvertSIXml2TimApi.convertBasketOrEmpty(response.basket)); + } + break; + case timapi.protocol.constants.Function.credit: + { + let response = new timapi.protocol.sixml.Response_Credit(this.lastReceivedMessage); + timResponse = new timapi.TransactionResponse(timapi.constants.TransactionType.credit, sixml.ConvertSIXml2TimApi.convertAmountOrNull(response.amount), undefined, sixml.ConvertSIXml2TimApi.convertAmountDccOrNull(response.amountDcc), sixml.ConvertSIXml2TimApi.convertAmountOrNull(response.amountSaldo), sixml.ConvertSIXml2TimApi.convertTransactionInformationOrNull(response.transactionInformation), response.dccDisclaimer, sixml.ConvertSIXml2TimApi.convertCardDataOrNull(response.cardData), sixml.ConvertSIXml2TimApi.convertPrintDataOrNull(response.printData), undefined, new Map(), new Array()); + } + break; + case timapi.protocol.constants.Function.reversal: + { + let response = new timapi.protocol.sixml.Response_Reversal(this.lastReceivedMessage); + timResponse = new timapi.TransactionResponse(timapi.constants.TransactionType.reversal, sixml.ConvertSIXml2TimApi.convertAmountOrNull(response.amount), undefined, sixml.ConvertSIXml2TimApi.convertAmountDccOrNull(response.amountDcc), sixml.ConvertSIXml2TimApi.convertAmountOrNull(response.amountSaldo), sixml.ConvertSIXml2TimApi.convertTransactionInformationOrNull(response.transactionInformation), response.dccDisclaimer, undefined, sixml.ConvertSIXml2TimApi.convertPrintDataOrNull(response.printData), undefined, new Map(), new Array()); + } + break; + case timapi.protocol.constants.Function.preAuhtorization: + { + let response = new timapi.protocol.sixml + .Response_PreAuthorization(this.lastReceivedMessage); + timResponse = new timapi.TransactionResponse(timapi.constants.TransactionType.PRE_AUTHORIZATION, sixml.ConvertSIXml2TimApi.convertAmount(response.amount), undefined, sixml.ConvertSIXml2TimApi.convertAmountDccOrNull(response.amountDcc), sixml.ConvertSIXml2TimApi.convertAmountOrNull(response.amountSaldo), sixml.ConvertSIXml2TimApi.convertTransactionInformation(response.transactionInformation), response.dccDisclaimer, sixml.ConvertSIXml2TimApi.convertCardDataOrNull(response.cardData), sixml.ConvertSIXml2TimApi.convertPrintDataOrNull(response.printData), undefined, sixml.ConvertSIXml2TimApi.convertAdditionalInfoOrEmpty(response.additionalInfoList), sixml.ConvertSIXml2TimApi.convertBasketOrEmpty(response.basket)); + } + break; + case timapi.protocol.constants.Function.finalizePurchase: + { + let response = new timapi.protocol.sixml + .Response_FinalizePurchase(this.lastReceivedMessage); + timResponse = new timapi.TransactionResponse(timapi.constants.TransactionType.finalizePurchase, sixml.ConvertSIXml2TimApi.convertAmount(response.amount), undefined, undefined, undefined, undefined, undefined, undefined, sixml.ConvertSIXml2TimApi.convertPrintDataOrNull(response.printData), undefined, new Map(), sixml.ConvertSIXml2TimApi.convertBasketOrEmpty(response.basket)); + } + break; + case timapi.protocol.constants.Function.purchaseForcedAcceptance: + { + let response = new timapi.protocol.sixml + .Response_PurchaseForcedAcceptance(this.lastReceivedMessage); + timResponse = new timapi.TransactionResponse(timapi.constants.TransactionType.purchaseForcedAcceptance, sixml.ConvertSIXml2TimApi.convertAmount(response.amount), sixml.ConvertSIXml2TimApi.convertAmountOrNull(response.amountDue), sixml.ConvertSIXml2TimApi.convertAmountDccOrNull(response.amountDcc), sixml.ConvertSIXml2TimApi.convertAmountOrNull(response.amountSaldo), sixml.ConvertSIXml2TimApi.convertTransactionInformationOrNull(response.transactionInformation), response.dccDisclaimer, sixml.ConvertSIXml2TimApi.convertCardDataOrNull(response.cardData), sixml.ConvertSIXml2TimApi.convertPrintDataOrNull(response.printData), undefined, new Map(), new Array()); + } + break; + case timapi.protocol.constants.Function.cashAdvance: + { + let response = new timapi.protocol.sixml.Response_CashAdvance(this.lastReceivedMessage); + timResponse = new timapi.TransactionResponse(timapi.constants.TransactionType.cashAdvance, sixml.ConvertSIXml2TimApi.convertAmount(response.amount), sixml.ConvertSIXml2TimApi.convertAmountOrNull(response.amountDue), sixml.ConvertSIXml2TimApi.convertAmountDccOrNull(response.amountDcc), sixml.ConvertSIXml2TimApi.convertAmountOrNull(response.amountSaldo), sixml.ConvertSIXml2TimApi.convertTransactionInformationOrNull(response.transactionInformation), response.dccDisclaimer, sixml.ConvertSIXml2TimApi.convertCardDataOrNull(response.cardData), sixml.ConvertSIXml2TimApi.convertPrintDataOrNull(response.printData), undefined, new Map(), new Array()); + } + break; + case timapi.protocol.constants.Function.purchaseWithCashback: + { + let response = new timapi.protocol.sixml + .Response_PurchaseWithCashback(this.lastReceivedMessage); + timResponse = new timapi.TransactionResponse(timapi.constants.TransactionType.purchaseWithCashback, sixml.ConvertSIXml2TimApi.convertAmount(response.amount), sixml.ConvertSIXml2TimApi.convertAmountOrNull(response.amountDue), sixml.ConvertSIXml2TimApi.convertAmountDccOrNull(response.amountDcc), sixml.ConvertSIXml2TimApi.convertAmountOrNull(response.amountSaldo), sixml.ConvertSIXml2TimApi.convertTransactionInformationOrNull(response.transactionInformation), response.dccDisclaimer, sixml.ConvertSIXml2TimApi.convertCardDataOrNull(response.cardData), sixml.ConvertSIXml2TimApi.convertPrintDataOrNull(response.printData), undefined, new Map(), new Array()); + } + break; + case timapi.protocol.constants.Function.purchasePhoneAuthorized: + { + let response = new timapi.protocol.sixml.Response_PurchasePhoneAuthorized(this.lastReceivedMessage); + timResponse = new timapi.TransactionResponse(timapi.constants.TransactionType.purchasePhoneAuthorized, sixml.ConvertSIXml2TimApi.convertAmount(response.amount), sixml.ConvertSIXml2TimApi.convertAmountOrNull(response.amountDue), sixml.ConvertSIXml2TimApi.convertAmountDccOrNull(response.amountDcc), sixml.ConvertSIXml2TimApi.convertAmountOrNull(response.amountSaldo), sixml.ConvertSIXml2TimApi.convertTransactionInformationOrNull(response.transactionInformation), response.dccDisclaimer, sixml.ConvertSIXml2TimApi.convertCardDataOrNull(response.cardData), sixml.ConvertSIXml2TimApi.convertPrintDataOrNull(response.printData), undefined, new Map(), new Array()); + } + break; + case timapi.protocol.constants.Function.reservation: + { + let response = new timapi.protocol.sixml.Response_Reservation(this.lastReceivedMessage); + timResponse = new timapi.TransactionResponse(timapi.constants.TransactionType.reservation, sixml.ConvertSIXml2TimApi.convertAmount(response.amount), sixml.ConvertSIXml2TimApi.convertAmountOrNull(response.amountDue), sixml.ConvertSIXml2TimApi.convertAmountDccOrNull(response.amountDcc), undefined, sixml.ConvertSIXml2TimApi.convertTransactionInformationOrNull(response.transactionInformation), response.dccDisclaimer, sixml.ConvertSIXml2TimApi.convertCardDataOrNull(response.cardData), sixml.ConvertSIXml2TimApi.convertPrintDataOrNull(response.printData), undefined, new Map(), undefined); + } + break; + case timapi.protocol.constants.Function.adjustReservation: + { + let response = new timapi.protocol.sixml.Response_AdjustReservation(this.lastReceivedMessage); + timResponse = new timapi.TransactionResponse(timapi.constants.TransactionType.adjustReservation, sixml.ConvertSIXml2TimApi.convertAmount(response.amount), sixml.ConvertSIXml2TimApi.convertAmountOrNull(response.amountDue), sixml.ConvertSIXml2TimApi.convertAmountDccOrNull(response.amountDcc), undefined, sixml.ConvertSIXml2TimApi.convertTransactionInformationOrNull(response.transactionInformation, this.$backend.$terminalId), response.dccDisclaimer, sixml.ConvertSIXml2TimApi.convertCardDataOrNull(response.cardData), sixml.ConvertSIXml2TimApi.convertPrintDataOrNull(response.printData), undefined, new Map(), undefined); + } + break; + case timapi.protocol.constants.Function.cancelReservation: + { + let response = new timapi.protocol.sixml.Response_CancelReservation(this.lastReceivedMessage); + timResponse = new timapi.TransactionResponse(timapi.constants.TransactionType.cancelReservation, sixml.ConvertSIXml2TimApi.convertAmount(response.amount), undefined, undefined, undefined, sixml.ConvertSIXml2TimApi.convertTransactionInformationOrNull(response.transactionInformation, this.$backend.$terminalId), undefined, undefined, sixml.ConvertSIXml2TimApi.convertPrintDataOrNull(response.printData), undefined, new Map(), undefined); + } + break; + case timapi.protocol.constants.Function.purchaseReservation: + { + let response = new timapi.protocol.sixml.Response_PurchaseReservation(this.lastReceivedMessage); + let tipAmount = undefined; + if (guides.has(timapi.constants.Guides.gastro)) { + tipAmount = sixml.ConvertSIXml2TimApi.convertAmountTipOrNull(response.amountTip); + } + timResponse = new timapi.TransactionResponse(timapi.constants.TransactionType.purchaseReservation, sixml.ConvertSIXml2TimApi.convertAmount(response.amount), sixml.ConvertSIXml2TimApi.convertAmountOrNull(response.amountDue), sixml.ConvertSIXml2TimApi.convertAmountDccOrNull(response.amountDcc), undefined, sixml.ConvertSIXml2TimApi.convertTransactionInformationOrNull(response.transactionInformation, this.$backend.$terminalId), response.dccDisclaimer, sixml.ConvertSIXml2TimApi.convertCardDataOrNull(response.cardData), sixml.ConvertSIXml2TimApi.convertPrintDataOrNull(response.printData), tipAmount, new Map(), undefined); + } + break; + default: + throw new Error(); + } + } + catch (error) { + this.backend.failRunningRequest(new timapi.TimException(timapi.constants.ResultCode.apiInvalidAnswer)); + StateMachine.logger.log(timapi.logging.Level.SEVERE, "actionProcessResponseTransaction: exception", [error]); + throw error; + } + this.backend.notifyTransactionCompleted(undefined, timResponse); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionProcessResponseTransaction"); + } + actionProcessNotificationStatusChanged() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionProcessNotificationStatusChanged"); + let notification = new timapi.protocol.sixml.Notification_TerminalStatus(this.lastReceivedMessage); + let timDisplay = new Array(); + for (let line of notification.displayContent.displayLine) { + let lineNum = line.lineNum; + while (timDisplay.length < lineNum) { + timDisplay.push(""); + } + timDisplay[lineNum - 1] = line.value; + } + this.backend.$terminalStatus = + new timapi.TerminalStatus(timDisplay, timapi.protocol.constants.ConnectionStatus.protocol2TimApi(notification.connectionStatus), timapi.protocol.constants.ManagementStatus.protocol2TimApi(notification.managementStatus), timapi.protocol.constants.CardReaderStatus.protocol2TimApi(notification.cardReaderStatus), timapi.protocol.constants.TransactionStatus.protocol2TimApi(notification.transactionStatus), timapi.protocol.constants.SleepModeStatus.protocol2TimApiIfValid(notification.sleepModeStatus), notification.receiptInformation !== undefined + ? notification.receiptInformation + : false, sixml.ConvertSIXml2TimApi.convertCardDataOrNull(notification.cardData), notification.swUpdateAvailable !== undefined + ? notification.swUpdateAvailable + : false); + this.backend.notifyTerminalStatusChanged(); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionProcessNotificationStatusChanged"); + } + actionProcessNotificationLicenseChanged() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionProcessNotificationLicenseChanged"); + this.backend.$license(new timapi.protocol.sixml.Notification_LicenseChanged(this.lastReceivedMessage).license); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionProcessNotificationLicenseChanged"); + } + actionNotifyLoginCompleted() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionNotifyLoginCompleted"); + this.backend.notifyLoginCompleted(undefined); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionNotifyLoginCompleted"); + } + actionSimulateActivateCompleted() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionSimulateActivateCompleted"); + this.backend.notifyActivateCompleted(undefined, undefined); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionSimulateActivateCompleted"); + } + actionSimulateDeactivateCompleted() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionSimulateDeactivateCompleted"); + this.backend.notifyDeactivateCompleted(undefined, undefined); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionSimulateDeactivateCompleted"); + } + actionSimulateLogoutCompleted() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionSimulateLogoutCompleted"); + this.backend.notifyLogoutCompleted(undefined); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionSimulateLogoutCompleted"); + } + actionSimulateCommitCompleted() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionSimulateCommitCompleted"); + this.backend.notifyCommitCompleted(undefined); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionSimulateCommitCompleted"); + } + actionClearPendingEvent() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionClearPendingEvent"); + this.pendingRequest = undefined; + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionClearPendingEvent"); + } + actionClearPendingCancel() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionClearPendingCancel"); + this.hasPendingCancel = false; + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionClearPendingCancel"); + } + actionSetPendingActivate() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionSetPendingActivate"); + this.pendingRequest = timapi.constants.RequestType.activate; + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionSetPendingActivate"); + } + actionSetPendingApplicationInformation() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionSetPendingApplicationInformation"); + this.pendingRequest = timapi.constants.RequestType.applicationInformation; + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionSetPendingApplicationInformation"); + } + actionSetPendingBalance() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionSetPendingBalance"); + this.pendingRequest = timapi.constants.RequestType.balance; + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionSetPendingBalance"); + } + actionSetPendingChangeSettings() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionSetPendingChangeSettings"); + this.pendingRequest = timapi.constants.RequestType.changeSettings; + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionSetPendingChangeSettings"); + } + actionSetPendingCounterRequest() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionSetPendingCounterRequest"); + this.pendingRequest = timapi.constants.RequestType.counterRequest; + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionSetPendingCounterRequest"); + } + actionSetPendingCommit() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionSetPendingCommit"); + this.pendingRequest = timapi.constants.RequestType.commit; + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionSetPendingCommit"); + } + actionSetPendingDccRates() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionSetPendingDccRates"); + this.pendingRequest = timapi.constants.RequestType.dccRates; + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionSetPendingDccRates"); + } + actionSetPendingDeactivate() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionSetPendingDeactivate"); + this.pendingRequest = timapi.constants.RequestType.deactivate; + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionSetPendingDeactivate"); + } + actionSetPendingHardwareInformation() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionSetPendingHardwareInformation"); + this.pendingRequest = timapi.constants.RequestType.hardwareInformation; + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionSetPendingHardwareInformation"); + } + actionSetPendingInitTransaction() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionSetPendingInitTransaction"); + this.pendingRequest = timapi.constants.RequestType.initTransaction; + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionSetPendingInitTransaction"); + } + actionSetPendingLogin() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionSetPendingLogin"); + this.pendingRequest = timapi.constants.RequestType.login; + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionSetPendingLogin"); + } + actionSetPendingLogout() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionSetPendingLogout"); + this.pendingRequest = timapi.constants.RequestType.logout; + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionSetPendingLogout"); + } + actionSetPendingReboot() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionSetPendingReboot"); + this.pendingRequest = timapi.constants.RequestType.reboot; + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionSetPendingReboot"); + } + actionSetPendingReconfig() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionSetPendingReconfig"); + this.pendingRequest = timapi.constants.RequestType.reconfig; + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionSetPendingReconfig"); + } + actionSetPendingReceiptRequest() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionSetPendingReceiptRequest"); + this.pendingRequest = timapi.constants.RequestType.receiptRequest; + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionSetPendingReceiptRequest"); + } + actionSetPendingReconciliation() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionSetPendingReconciliation"); + this.pendingRequest = timapi.constants.RequestType.reconciliation; + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionSetPendingReconciliation"); + } + actionSetPendingSoftwareUpdate() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionSetPendingSoftwareUpdate"); + this.pendingRequest = timapi.constants.RequestType.softwareUpdate; + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionSetPendingSoftwareUpdate"); + } + actionSetPendingSystemInformation() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionSetPendingSystemInformation"); + this.pendingRequest = timapi.constants.RequestType.systemInformation; + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionSetPendingSystemInformation"); + } + actionSetPendingTransaction() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionSetPendingTransaction"); + this.pendingRequest = timapi.constants.RequestType.transaction; + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionSetPendingTransaction"); + } + actionSetPendingCancel() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionSetPendingCancel"); + this.hasPendingCancel = true; + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionSetPendingCancel"); + } + actionErrorConnectionLost() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionErrorConnectionLost"); + this.backend.failRunningRequest(new timapi.TimException(timapi.constants.ResultCode.apiConnectionLostTerminal)); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionErrorConnectionLost"); + } + actionErrorInvalidResponse() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionErrorInvalidResponse"); + this.backend.failRunningRequest(new timapi.TimException(timapi.constants.ResultCode.apiInvalidAnswer)); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionErrorInvalidResponse"); + } + actionErrorRequestInProgress() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionErrorRequestInProgress"); + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + actionErrorWrongState() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionErrorWrongState"); + throw new timapi.TimException(timapi.constants.ResultCode.sixmlWrongState); + } + actionErrorTimeout() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionErrorTimeout"); + this.backend.failRunningRequest(new timapi.TimException(timapi.constants.ResultCode.timCommunicationFailure)); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionErrorTimeout"); + } + actionErrorDisabledFeature() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionErrorDisabledFeature"); + throw new timapi.TimException(timapi.constants.ResultCode.apiDisabledFeature); + } + actionArmTimeoutTransaction() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionArmTimeoutTransaction"); + this.actionCancelTimeout(); + this.taskTimeout = new sixml.TaskTimeout(this, 30 * 1000); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionArmTimeoutTransaction"); + } + actionArmTimeoutRequest() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionArmTimeoutRequest"); + this.actionCancelTimeout(); + this.taskTimeout = new sixml.TaskTimeout(this, 300 * 1000); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionArmTimeoutRequest"); + } + actionArmTimeoutLongRequest() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionArmTimeoutLongRequest"); + this.actionCancelTimeout(); + this.taskTimeout = new sixml.TaskTimeout(this, 180 * 1000); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionArmTimeoutLongRequest"); + } + actionCancelTimeout() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionCancelTimeout"); + this.cancelTaskTimeout(); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionCancelTimeout"); + } + actionRunAwayProtection() { + this.runAwayTime = new Date().getTime(); + } + conditionHasGuideUnattended() { + return this.backend.$terminal.$settings.$guides.has(timapi.constants.Guides.unattended); + } + conditionHasPendingCloseReader() { + return this.pendingRequest === timapi.constants.RequestType.closeReader; + } + conditionHasPendingOpenReader() { + return this.pendingRequest === timapi.constants.RequestType.openReader; + } + conditionHasPendingEjectCard() { + return this.pendingRequest === timapi.constants.RequestType.ejectCard; + } + conditionHasPendingOpenMaintenanceWindow() { + return (this.pendingRequest === + timapi.constants.RequestType.openMaintenanceWindow); + } + conditionHasPendingCloseMaintenanceWindow() { + return (this.pendingRequest === + timapi.constants.RequestType.closeMaintenanceWindow); + } + conditionHasPendingActivateServiceMenu() { + return (this.pendingRequest === timapi.constants.RequestType.activateServiceMenu); + } + conditionHasGuideAdvancedRetail() { + return this.backend.$terminal.$settings.$guides.has(timapi.constants.Guides.advancedRetail); + } + conditionHasPendingBalanceInquiry() { + return (this.pendingRequest === timapi.constants.RequestType.balanceInquiry); + } + conditionHasPendingQueryLoyalty() { + return this.pendingRequest === timapi.constants.RequestType.queryLoyalty; + } + actionCloseReader() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionCloseReader"); + let message = new timapi.protocol.sixml.Request_CloseReader(); + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionCloseReader"); + } + actionOpenReader() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionOpenReader"); + let message = new timapi.protocol.sixml.Request_OpenReader(); + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionOpenReader"); + } + actionEjectCard() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionEjectCard"); + let message = new timapi.protocol.sixml.Request_EjectCard(); + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionEjectCard"); + } + actionOpenMaintenanceWindow() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionOpenMaintenanceWindow"); + let message = new timapi.protocol.sixml.Request_OpenMaintenanceWindow(); + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionOpenMaintenanceWindow"); + } + actionCloseMaintenanceWindow() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionCloseMaintenanceWindow"); + let message = new timapi.protocol.sixml.Request_CloseMaintenanceWindow(); + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionCloseMaintenanceWindow"); + } + actionHoldCommit() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionHoldCommit"); + this.backend.sendMessage(new timapi.protocol.sixml.Notification_HoldCommit()); + this.armKeepAliveTimer(); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionHoldCommit"); + } + actionActivateServiceMenu() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionActivateServiceMenu"); + let message = new timapi.protocol.sixml.Request_ActivateServiceMenu(); + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionActivateServiceMenu"); + } + actionProcessResponseCloseReader() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionProcessResponseCloseReader"); + this.backend.notifyCloseReaderCompleted(undefined); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionProcessResponseCloseReader"); + } + actionProcessResponseOpenReader() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionProcessResponseOpenReader"); + this.backend.notifyOpenReaderCompleted(undefined); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionProcessResponseOpenReader"); + } + actionProcessResponseEjectCard() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionProcessResponseEjectCard"); + this.backend.notifyEjectCardCompleted(undefined); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionProcessResponseEjectCard"); + } + actionProcessResponseOpenMaintenanceWindow() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionProcessResponseOpenMaintenanceWindow"); + this.backend.notifyOpenMaintenanceWindowCompleted(undefined); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionProcessResponseOpenMaintenanceWindow"); + } + actionProcessResponseCloseMaintenanceWindow() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionProcessResponseCloseMaintenanceWindow"); + this.backend.notifyCloseMaintenanceWindowCompleted(undefined); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionProcessResponseCloseMaintenanceWindow"); + } + actionProcessResponseActivateServiceMenu() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionProcessResponseActivateServiceMenu"); + this.backend.notifyActivateServiceMenuCompleted(undefined); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionProcessResponseActivateServiceMenu"); + } + actionSetPendingCloseReader() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionSetPendingCloseReader"); + this.pendingRequest = timapi.constants.RequestType.closeReader; + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionSetPendingCloseReader"); + } + actionSetPendingOpenReader() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionSetPendingOpenReader"); + this.pendingRequest = timapi.constants.RequestType.openReader; + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionSetPendingOpenReader"); + } + actionSetPendingEjectCard() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionSetPendingEjectCard"); + this.pendingRequest = timapi.constants.RequestType.ejectCard; + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionSetPendingEjectCard"); + } + actionSetPendingOpenMaintenanceWindow() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionSetPendingOpenMaintenanceWindow"); + this.pendingRequest = timapi.constants.RequestType.openMaintenanceWindow; + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionSetPendingOpenMaintenanceWindow"); + } + actionSetPendingCloseMaintenanceWindow() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionSetPendingCloseMaintenanceWindow"); + this.pendingRequest = timapi.constants.RequestType.closeMaintenanceWindow; + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionSetPendingCloseMaintenanceWindow"); + } + actionSetPendingActivateServiceMenu() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionSetPendingActivateServiceMenu"); + this.pendingRequest = timapi.constants.RequestType.activateServiceMenu; + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionSetPendingActivateServiceMenu"); + } + actionBalanceInquiry() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionBalanceInquiry"); + let message = new timapi.protocol.sixml.Request_BalanceInquiry(); + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionBalanceInquiry"); + } + actionQueryLoyalty() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionQueryLoyalty"); + let message = this.requestQueryLoyalty; + this.requestQueryLoyalty = undefined; + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionQueryLoyalty"); + } + actionProcessResponseBalanceInquiry() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionProcessResponseBalanceInquiry"); + let response = new timapi.protocol.sixml.Response_BalanceInquiry(this.lastReceivedMessage); + this.backend.notifyBalanceInquiryCompleted(undefined, new timapi.BalanceInquiryResponse(sixml.ConvertSIXml2TimApi.convertAmount(response.amountSaldo), sixml.ConvertSIXml2TimApi.convertPrintDataOrNull(response.printData))); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionProcessResponseBalanceInquiry"); + } + actionProcessResponseQueryLoyalty() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionProcessResponseQueryLoyalty"); + let response = new timapi.protocol.sixml.Response_QueryLoyalty(this.lastReceivedMessage); + this.backend.notifyQueryLoyaltyCompleted(undefined, sixml.ConvertSIXml2TimApi.convertCardData(response.cardData)); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionProcessResponseQueryLoyalty"); + } + actionSetPendingBalanceInquiry() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionSetPendingBalanceInquiry"); + this.pendingRequest = timapi.constants.RequestType.balanceInquiry; + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionSetPendingBalanceInquiry"); + } + actionSetPendingQueryLoyalty() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionSetPendingQueryLoyalty"); + this.pendingRequest = timapi.constants.RequestType.queryLoyalty; + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionSetPendingQueryLoyalty"); + } + conditionHasGuideDialog() { + return this.backend.$terminal.$settings.$guides.has(timapi.constants.Guides.DIALOG); + } + conditionHasPendingOpenDialogMode() { + return (this.pendingRequest === timapi.constants.RequestType.openDialogMode); + } + conditionHasPendingCloseDialogMode() { + return (this.pendingRequest === timapi.constants.RequestType.closeDialogMode); + } + conditionHasPendingShowSignatureCapture() { + return (this.pendingRequest === + timapi.constants.RequestType.showSignatureCapture); + } + conditionHasPendingShowDialog() { + return this.pendingRequest === timapi.constants.RequestType.showDialog; + } + conditionHasPendingSendCardCommand() { + return false; + } + actionOpenDialogMode() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionOpenDialogMode"); + let message = new timapi.protocol.sixml.Request_OpenDialogMode(); + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionOpenDialogMode"); + } + actionCloseDialogMode() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionCloseDialogMode"); + let message = new timapi.protocol.sixml.Request_CloseDialogMode(); + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionCloseDialogMode"); + } + actionShowSignatureCapture() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionShowSignatureCapture"); + let message = this.requestShowSignatureCapture; + this.requestShowSignatureCapture = undefined; + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionShowSignatureCapture"); + } + actionShowDialog() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionShowDialog"); + let message = this.requestShowDialog; + this.requestShowDialog = undefined; + message.sequenceNumber = this.backend.consumeNextSequenceNumber(); + this.backend.sendMessage(message); + this.armKeepAliveTimer(); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionShowDialog"); + } + actionProcessResponseOpenDialogMode() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionProcessResponseOpenDialogMode"); + this.backend.notifyOpenDialogModeCompleted(undefined); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionProcessResponseOpenDialogMode"); + } + actionProcessResponseCloseDialogMode() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionProcessResponseCloseDialogMode"); + this.backend.notifyCloseDialogModeCompleted(undefined); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionProcessResponseCloseDialogMode"); + } + actionProcessResponseShowSignatureCapture() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionProcessResponseShowSignatureCapture"); + let response = new timapi.protocol.sixml.Response_ShowSignatureCapture(this.lastReceivedMessage); + let siginfo = response.signatureInformation; + this.backend.notifyShowSignatureCaptureCompleted(undefined, new timapi.ShowSignatureCaptureResponse(timapi.protocol.constants.Reason.protocol2TimApi(siginfo.reason), timapi.protocol.constants.ImageFileFormat.protocol2TimApi(siginfo.imageFileFormat), siginfo.imageWidth, siginfo.imageHeight, siginfo.value)); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionProcessResponseShowSignatureCapture"); + } + actionProcessResponseShowDialog() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionProcessResponseShowDialog"); + let response = new timapi.protocol.sixml.Response_ShowDialog(this.lastReceivedMessage); + let resinfo = response.resourceInformation; + this.backend.notifyShowDialogCompleted(undefined, new timapi.ShowDialogResponse(timapi.protocol.constants.Reason.protocol2TimApi(resinfo.reason), resinfo.inputValue, sixml.ConvertSIXml2TimApi.convertCardDataOrNull(resinfo.cardData))); + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionProcessResponseShowDialog"); + } + actionSetPendingOpenDialogMode() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionSetPendingOpenDialogMode"); + this.pendingRequest = timapi.constants.RequestType.openDialogMode; + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionSetPendingOpenDialogMode"); + } + actionSetPendingCloseDialogMode() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionSetPendingCloseDialogMode"); + this.pendingRequest = timapi.constants.RequestType.closeDialogMode; + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionSetPendingCloseDialogMode"); + } + actionSetPendingShowSignatureCapture() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionSetPendingShowSignatureCapture"); + this.pendingRequest = timapi.constants.RequestType.showSignatureCapture; + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionSetPendingShowSignatureCapture"); + } + actionSetPendingShowDialog() { + StateMachine.logger.entering(StateMachine.CLASS_NAME, "actionSetPendingShowDialog"); + this.pendingRequest = timapi.constants.RequestType.showDialog; + StateMachine.logger.exiting(StateMachine.CLASS_NAME, "actionSetPendingShowDialog"); + } + cancelTaskTimeout() { + if (this.taskTimeout !== undefined) { + this.taskTimeout.cancel(); + this.taskTimeout = undefined; + } + } + cancelTaskKeepAliveDisconnect() { + if (this.taskKeepAliveDisconnect !== undefined) { + this.taskKeepAliveDisconnect.cancel(); + this.taskKeepAliveDisconnect = undefined; + } + } + cancelTaskKeepAliveCheck() { + if (this.taskKeepAliveCheck !== undefined) { + this.taskKeepAliveCheck.cancel(); + this.taskKeepAliveCheck = undefined; + } + } + armKeepAliveTimeout() { + if (this.backend.$terminal.$settings.$enableKeepAlive == true) { + this.cancelTaskKeepAliveDisconnect(); + this.taskKeepAliveDisconnect = new sixml.TaskKeepAliveDisconnect(this, 22 * 1000); + } + } + armKeepAliveTimer() { + if (this.backend.$terminal.$settings.$enableKeepAlive == true) { + this.cancelTaskKeepAliveCheck(); + this.taskKeepAliveCheck = new sixml.TaskKeepAliveCheck(this, 10 * 1000); + } + } + get $pendingRequest() { + return this.pendingRequest; + } + } + StateMachine.LOGGER_NAME = "StateMachineLogger"; + StateMachine.CLASS_NAME = "StateMachine"; + StateMachine.logger = timapi.logging.Logger.getLogger(StateMachine.LOGGER_NAME); + sixml.StateMachine = StateMachine; + })(sixml = statemachine.sixml || (statemachine.sixml = {})); + })(statemachine = timapi.statemachine || (timapi.statemachine = {})); +})(timapi || (timapi = {})); +timapi.statemachine.states.DefaultState = function (context) { + if (context == undefined) { + throw new Error("Invalid argument. context is undefined"); + } + this.context = context; +}; +timapi.statemachine.states.DefaultState.loggerName = "timapi.statemachine.states.DefaultState"; +timapi.statemachine.states.DefaultState.classname = "DefaultState"; +timapi.statemachine.states.DefaultState.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.DefaultState.loggerName); +timapi.statemachine.states.DefaultState.prototype.enterState = function () { +}; +timapi.statemachine.states.DefaultState.prototype.exitState = function () { +}; +timapi.statemachine.states.DefaultState.prototype.activate = function () { + this.context.actionErrorWrongState(); +}; +timapi.statemachine.states.DefaultState.prototype.applicationInformation = function () { + this.context.actionErrorWrongState(); +}; +timapi.statemachine.states.DefaultState.prototype.balance = function () { + this.context.actionErrorWrongState(); +}; +timapi.statemachine.states.DefaultState.prototype.cancel = function () { + this.context.actionErrorWrongState(); +}; +timapi.statemachine.states.DefaultState.prototype.changeSettings = function () { + this.context.actionErrorWrongState(); +}; +timapi.statemachine.states.DefaultState.prototype.commit = function () { + this.context.actionErrorWrongState(); +}; +timapi.statemachine.states.DefaultState.prototype.connect = Object.illegalState; +timapi.statemachine.states.DefaultState.prototype.counterRequest = function () { + this.context.actionErrorWrongState(); +}; +timapi.statemachine.states.DefaultState.prototype.deactivate = function () { + this.context.actionErrorWrongState(); +}; +timapi.statemachine.states.DefaultState.prototype.disconnect = function () { + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.DefaultState.prototype.dccRates = function () { + this.context.actionErrorWrongState(); +}; +timapi.statemachine.states.DefaultState.prototype.hardwareInformation = function () { + this.context.actionErrorWrongState(); +}; +timapi.statemachine.states.DefaultState.prototype.initTransaction = function () { + this.context.actionErrorWrongState(); +}; +timapi.statemachine.states.DefaultState.prototype.login = function () { + this.context.actionErrorWrongState(); +}; +timapi.statemachine.states.DefaultState.prototype.logout = function () { + this.context.actionErrorWrongState(); +}; +timapi.statemachine.states.DefaultState.prototype.reboot = function () { + this.context.actionErrorWrongState(); +}; +timapi.statemachine.states.DefaultState.prototype.reconciliation = function () { + this.context.actionErrorWrongState(); +}; +timapi.statemachine.states.DefaultState.prototype.receiptRequest = function () { + this.context.actionErrorWrongState(); +}; +timapi.statemachine.states.DefaultState.prototype.reconfig = function () { + this.context.actionErrorWrongState(); +}; +timapi.statemachine.states.DefaultState.prototype.rollback = function () { + this.context.actionErrorWrongState(); +}; +timapi.statemachine.states.DefaultState.prototype.softwareUpdate = function () { + this.context.actionErrorWrongState(); +}; +timapi.statemachine.states.DefaultState.prototype.systemInformation = function () { + this.context.actionErrorWrongState(); +}; +timapi.statemachine.states.DefaultState.prototype.transaction = function () { + this.context.actionErrorWrongState(); +}; +timapi.statemachine.states.DefaultState.prototype.connected = Object.illegalState; +timapi.statemachine.states.DefaultState.prototype.connectFailed = function () { + this.context.actionClearPendingEvent(); + this.context.setState(new timapi.statemachine.states.ErrorState(this.context)); +}; +timapi.statemachine.states.DefaultState.prototype.disconnected = function () { + if (this.context.conditionIsEnabledAutoConnect() + && !this.context.conditionRunAwayProtection()) { + this.context.actionErrorConnectionLost(); + this.context.actionConnect(); + this.context.setState(new timapi.statemachine.states.Connecting(this.context)); + return; + } + this.context.actionErrorConnectionLost(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.DefaultState.prototype.responseRequest = function () { + this.context.actionDisconnect(); + this.context.actionErrorInvalidResponse(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.DefaultState.prototype.responseError = function () { + this.context.actionDisconnect(); + this.context.actionErrorInvalidResponse(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.DefaultState.prototype.responseInvalid = function () { + this.context.actionDisconnect(); + this.context.actionErrorInvalidResponse(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.DefaultState.prototype.responseBusy = function () { + this.context.actionDisconnect(); + this.context.actionErrorInvalidResponse(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.DefaultState.prototype.notificationStatusChanged = function () { + this.context.actionProcessNotificationStatusChanged(); +}; +timapi.statemachine.states.DefaultState.prototype.notificationLicenseChanged = function () { + this.context.actionProcessNotificationLicenseChanged(); +}; +timapi.statemachine.states.DefaultState.prototype.notificationKeepAlive = function () { +}; +timapi.statemachine.states.DefaultState.prototype.timeout = Object.illegalState; +timapi.statemachine.states.DefaultState.prototype.keepAliveTimeout = function () { + try { + this.context.actionErrorConnectionLost(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } + catch (e) { + timapi.statemachine.states.DefaultState.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } +}; +timapi.statemachine.states.DefaultState.prototype.keepAliveTimer = function () { + this.context.actionSendKeepAliveNotification(); +}; +timapi.statemachine.states.DefaultState.prototype.trxStateBecameIdle = function () { +}; +timapi.statemachine.states.DefaultState.prototype.closeReader = function () { + this.context.actionErrorWrongState(); +}; +timapi.statemachine.states.DefaultState.prototype.openReader = function () { + this.context.actionErrorWrongState(); +}; +timapi.statemachine.states.DefaultState.prototype.ejectCard = function () { + this.context.actionErrorWrongState(); +}; +timapi.statemachine.states.DefaultState.prototype.openMaintenanceWindow = function () { + this.context.actionErrorWrongState(); +}; +timapi.statemachine.states.DefaultState.prototype.closeMaintenanceWindow = function () { + this.context.actionErrorWrongState(); +}; +timapi.statemachine.states.DefaultState.prototype.holdCommit = function () { + if (!this.context.conditionHasGuideUnattended()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionErrorWrongState(); +}; +timapi.statemachine.states.DefaultState.prototype.activateServiceMenu = function () { + this.context.actionErrorWrongState(); +}; +timapi.statemachine.states.DefaultState.prototype.amtAdjustment = function () { + if (!this.context.conditionHasGuideUnattended()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionErrorWrongState(); +}; +timapi.statemachine.states.DefaultState.prototype.balanceInquiry = function () { + this.context.actionErrorWrongState(); +}; +timapi.statemachine.states.DefaultState.prototype.openDialogMode = function () { + this.context.actionErrorWrongState(); +}; +timapi.statemachine.states.DefaultState.prototype.closeDialogMode = function () { + this.context.actionErrorWrongState(); +}; +timapi.statemachine.states.DefaultState.prototype.showSignatureCapture = function () { + this.context.actionErrorWrongState(); +}; +timapi.statemachine.states.DefaultState.prototype.showDialog = function () { + this.context.actionErrorWrongState(); +}; +timapi.statemachine.states.DefaultState.prototype.sendCardCommand = function () { + this.context.actionErrorWrongState(); +}; +timapi.statemachine.states.DefaultState.prototype.toString = function () { + return this.classname; +}; +timapi.statemachine.states.DefaultState.prototype.context = undefined; +timapi.statemachine.states.Activating = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.Activating.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.Activating.loggerName = "timapi.statemachine.states.Activating"; +timapi.statemachine.states.Activating.classname = "Activating"; +timapi.statemachine.states.Activating.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.Activating.loggerName); +timapi.statemachine.states.Activating.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); +}; +timapi.statemachine.states.Activating.prototype.activate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Activating.prototype.applicationInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Activating.prototype.balance = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Activating.prototype.cancel = function () { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); +}; +timapi.statemachine.states.Activating.prototype.changeSettings = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Activating.prototype.commit = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Activating.prototype.connect = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Activating.prototype.counterRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Activating.prototype.deactivate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Activating.prototype.disconnect = function () { + this.context.actionSendErrorResponseDisconnect(); + this.context.actionClearPendingEvent(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.Activating.prototype.dccRates = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Activating.prototype.hardwareInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Activating.prototype.initTransaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Activating.prototype.login = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Activating.prototype.logout = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Activating.prototype.reboot = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Activating.prototype.reconciliation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Activating.prototype.receiptRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Activating.prototype.reconfig = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Activating.prototype.rollback = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Activating.prototype.softwareUpdate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Activating.prototype.systemInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Activating.prototype.transaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Activating.prototype.connected = function () { +}; +timapi.statemachine.states.Activating.prototype.connectFailed = function () { + this.context.actionClearPendingEvent(); + this.context.setState(new timapi.statemachine.states.ErrorState(this.context)); +}; +timapi.statemachine.states.Activating.prototype.responseRequest = function () { + this.context.actionProcessResponseActivate(); + this.context.setState(new timapi.statemachine.states.Open(this.context)); +}; +timapi.statemachine.states.Activating.prototype.responseError = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.LoggedIn(this.context)); +}; +timapi.statemachine.states.Activating.prototype.responseBusy = function () { + if (!this.context.conditionHasPendingEvent()) { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.LoggedIn(this.context)); + return; + } +}; +timapi.statemachine.states.Activating.prototype.timeout = function () { + this.context.actionErrorTimeout(); + this.context.setState(new timapi.statemachine.states.LoggedIn(this.context)); +}; +timapi.statemachine.states.Activating.prototype.keepAliveTimeout = function () { + try { + this.context.actionErrorConnectionLost(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } + catch (e) { + timapi.statemachine.states.Activating.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } +}; +timapi.statemachine.states.Activating.prototype.trxStateBecameIdle = function () { + if (this.context.conditionHasPendingEvent()) { + this.context.actionActivate(); + return; + } +}; +timapi.statemachine.states.Activating.prototype.closeReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Activating.prototype.openReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Activating.prototype.ejectCard = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Activating.prototype.openMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Activating.prototype.closeMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Activating.prototype.activateServiceMenu = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Activating.prototype.balanceInquiry = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Activating.prototype.openDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Activating.prototype.closeDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Activating.prototype.showSignatureCapture = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Activating.prototype.showDialog = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Activating.prototype.sendCardCommand = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Connecting = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.Connecting.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.Connecting.loggerName = "timapi.statemachine.states.Connecting"; +timapi.statemachine.states.Connecting.classname = "Connecting"; +timapi.statemachine.states.Connecting.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.Connecting.loggerName); +timapi.statemachine.states.Connecting.prototype.activate = function () { + if (this.context.conditionHasPendingEvent()) { + this.context.actionErrorRequestInProgress(); + return; + } + this.context.actionSetPendingActivate(); +}; +timapi.statemachine.states.Connecting.prototype.applicationInformation = function () { + if (this.context.conditionHasPendingEvent()) { + this.context.actionErrorRequestInProgress(); + return; + } + this.context.actionSetPendingApplicationInformation(); +}; +timapi.statemachine.states.Connecting.prototype.cancel = function () { + this.context.actionSetPendingCancel(); +}; +timapi.statemachine.states.Connecting.prototype.changeSettings = function () { + if (this.context.conditionHasPendingEvent()) { + this.context.actionErrorRequestInProgress(); + return; + } + this.context.actionSetPendingChangeSettings(); +}; +timapi.statemachine.states.Connecting.prototype.commit = function () { + if (this.context.conditionHasPendingEvent()) { + this.context.actionErrorRequestInProgress(); + return; + } + this.context.actionSetPendingCommit(); +}; +timapi.statemachine.states.Connecting.prototype.connect = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Connecting.prototype.counterRequest = function () { + if (this.context.conditionHasPendingEvent()) { + this.context.actionErrorRequestInProgress(); + return; + } + this.context.actionSetPendingCounterRequest(); +}; +timapi.statemachine.states.Connecting.prototype.deactivate = function () { + if (this.context.conditionHasPendingEvent()) { + this.context.actionErrorRequestInProgress(); + return; + } + this.context.actionSetPendingDeactivate(); +}; +timapi.statemachine.states.Connecting.prototype.dccRates = function () { + if (this.context.conditionHasPendingEvent()) { + this.context.actionErrorRequestInProgress(); + return; + } + this.context.actionSetPendingDccRates(); +}; +timapi.statemachine.states.Connecting.prototype.hardwareInformation = function () { + if (this.context.conditionHasPendingEvent()) { + this.context.actionErrorRequestInProgress(); + return; + } + this.context.actionSetPendingHardwareInformation(); +}; +timapi.statemachine.states.Connecting.prototype.initTransaction = function () { + if (this.context.conditionHasPendingEvent()) { + this.context.actionErrorRequestInProgress(); + return; + } + this.context.actionSetPendingInitTransaction(); +}; +timapi.statemachine.states.Connecting.prototype.login = function () { + if (this.context.conditionHasPendingEvent()) { + this.context.actionErrorRequestInProgress(); + return; + } + this.context.actionSetPendingLogin(); +}; +timapi.statemachine.states.Connecting.prototype.logout = function () { + if (this.context.conditionHasPendingEvent()) { + this.context.actionErrorRequestInProgress(); + return; + } + this.context.actionSetPendingLogout(); +}; +timapi.statemachine.states.Connecting.prototype.reboot = function () { + if (this.context.conditionHasPendingEvent()) { + this.context.actionErrorRequestInProgress(); + return; + } + this.context.actionSetPendingReboot(); +}; +timapi.statemachine.states.Connecting.prototype.reconciliation = function () { + if (this.context.conditionHasPendingEvent()) { + this.context.actionErrorRequestInProgress(); + return; + } + this.context.actionSetPendingReconciliation(); +}; +timapi.statemachine.states.Connecting.prototype.receiptRequest = function () { + if (this.context.conditionHasPendingEvent()) { + this.context.actionErrorRequestInProgress(); + return; + } + this.context.actionSetPendingReceiptRequest(); +}; +timapi.statemachine.states.Connecting.prototype.reconfig = function () { + if (this.context.conditionHasPendingEvent()) { + this.context.actionErrorRequestInProgress(); + return; + } + this.context.actionSetPendingReconfig(); +}; +timapi.statemachine.states.Connecting.prototype.softwareUpdate = function () { + if (this.context.conditionHasPendingEvent()) { + this.context.actionErrorRequestInProgress(); + return; + } + this.context.actionSetPendingSoftwareUpdate(); +}; +timapi.statemachine.states.Connecting.prototype.systemInformation = function () { + if (this.context.conditionHasPendingEvent()) { + this.context.actionErrorRequestInProgress(); + return; + } + this.context.actionSetPendingSystemInformation(); +}; +timapi.statemachine.states.Connecting.prototype.transaction = function () { + if (this.context.conditionHasPendingEvent()) { + this.context.actionErrorRequestInProgress(); + return; + } + this.context.actionSetPendingTransaction(); +}; +timapi.statemachine.states.Connecting.prototype.connected = function () { + if (this.context.conditionIsEnabledAutoLogin()) { + this.context.actionSetDefaultLoginRequest(); + this.context.setState(new timapi.statemachine.states.LoginRequest(this.context)); + return; + } + this.context.setState(new timapi.statemachine.states.LoggedOut(this.context)); +}; +timapi.statemachine.states.Connecting.prototype.connectFailed = function () { + if (this.context.conditionIsEnabledAutoConnect() + && !this.context.conditionRunAwayProtection()) { + this.context.actionRunAwayProtection(); + this.context.actionClearPendingEvent(); + this.context.actionConnect(); + this.context.setState(new timapi.statemachine.states.Connecting(this.context)); + return; + } + this.context.actionClearPendingEvent(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.Connecting.prototype.notificationKeepAlive = function () { +}; +timapi.statemachine.states.Connecting.prototype.keepAliveTimeout = function () { +}; +timapi.statemachine.states.Connecting.prototype.keepAliveTimer = function () { +}; +timapi.statemachine.states.Connecting.prototype.closeReader = function () { + if (!this.context.conditionHasGuideUnattended()) { + this.context.actionErrorDisabledFeature(); + return; + } + if (this.context.conditionHasPendingEvent()) { + this.context.actionErrorRequestInProgress(); + return; + } + this.context.actionSetPendingCloseReader(); +}; +timapi.statemachine.states.Connecting.prototype.openReader = function () { + if (!this.context.conditionHasGuideUnattended()) { + this.context.actionErrorDisabledFeature(); + return; + } + if (this.context.conditionHasPendingEvent()) { + this.context.actionErrorRequestInProgress(); + return; + } + this.context.actionSetPendingOpenReader(); +}; +timapi.statemachine.states.Connecting.prototype.ejectCard = function () { + if (!this.context.conditionHasGuideUnattended() + && !this.context.conditionHasGuideAdvancedRetail()) { + this.context.actionErrorDisabledFeature(); + return; + } + if (this.context.conditionHasPendingEvent()) { + this.context.actionErrorRequestInProgress(); + return; + } + this.context.actionSetPendingEjectCard(); +}; +timapi.statemachine.states.Connecting.prototype.openMaintenanceWindow = function () { + if (!this.context.conditionHasGuideUnattended()) { + this.context.actionErrorDisabledFeature(); + return; + } + if (this.context.conditionHasPendingEvent()) { + this.context.actionErrorRequestInProgress(); + return; + } + this.context.actionSetPendingOpenMaintenanceWindow(); +}; +timapi.statemachine.states.Connecting.prototype.closeMaintenanceWindow = function () { + if (!this.context.conditionHasGuideUnattended()) { + this.context.actionErrorDisabledFeature(); + return; + } + if (this.context.conditionHasPendingEvent()) { + this.context.actionErrorRequestInProgress(); + return; + } + this.context.actionSetPendingCloseMaintenanceWindow(); +}; +timapi.statemachine.states.Connecting.prototype.activateServiceMenu = function () { + if (!this.context.conditionHasGuideUnattended()) { + this.context.actionErrorDisabledFeature(); + return; + } + if (this.context.conditionHasPendingEvent()) { + this.context.actionErrorRequestInProgress(); + return; + } + this.context.actionSetPendingActivateServiceMenu(); +}; +timapi.statemachine.states.Connecting.prototype.balanceInquiry = function () { + if (!this.context.conditionHasGuideAdvancedRetail() + && !this.context.conditionHasGuideBanking()) { + this.context.actionErrorDisabledFeature(); + return; + } + if (this.context.conditionHasPendingEvent()) { + this.context.actionErrorRequestInProgress(); + return; + } + this.context.actionSetPendingBalanceInquiry(); +}; +timapi.statemachine.states.Connecting.prototype.openDialogMode = function () { + if (!this.context.conditionHasGuideDialog()) { + this.context.actionErrorDisabledFeature(); + return; + } + if (this.context.conditionHasPendingEvent()) { + this.context.actionErrorRequestInProgress(); + return; + } + this.context.actionSetPendingOpenDialogMode(); +}; +timapi.statemachine.states.Connecting.prototype.closeDialogMode = function () { + if (!this.context.conditionHasGuideDialog()) { + this.context.actionErrorDisabledFeature(); + return; + } + if (this.context.conditionHasPendingEvent()) { + this.context.actionErrorRequestInProgress(); + return; + } + this.context.actionSetPendingCloseDialogMode(); +}; +timapi.statemachine.states.Connecting.prototype.showSignatureCapture = function () { + if (!this.context.conditionHasGuideDialog()) { + this.context.actionErrorDisabledFeature(); + return; + } + if (this.context.conditionHasPendingEvent()) { + this.context.actionErrorRequestInProgress(); + return; + } + this.context.actionSetPendingShowSignatureCapture(); +}; +timapi.statemachine.states.Connecting.prototype.showDialog = function () { + if (!this.context.conditionHasGuideDialog()) { + this.context.actionErrorDisabledFeature(); + return; + } + if (this.context.conditionHasPendingEvent()) { + this.context.actionErrorRequestInProgress(); + return; + } + this.context.actionSetPendingShowDialog(); +}; +timapi.statemachine.states.Connecting.prototype.sendCardCommand = function () { + if (!this.context.conditionHasGuideDialog()) { + this.context.actionErrorDisabledFeature(); + return; + } + if (this.context.conditionHasPendingEvent()) { + this.context.actionErrorRequestInProgress(); + return; + } + this.context.actionSetPendingSendCardCommand(); +}; +timapi.statemachine.states.Deactivating = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.Deactivating.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.Deactivating.loggerName = "timapi.statemachine.states.Deactivating"; +timapi.statemachine.states.Deactivating.classname = "Deactivating"; +timapi.statemachine.states.Deactivating.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.Deactivating.loggerName); +timapi.statemachine.states.Deactivating.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); +}; +timapi.statemachine.states.Deactivating.prototype.activate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Deactivating.prototype.applicationInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Deactivating.prototype.balance = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Deactivating.prototype.cancel = function () { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); +}; +timapi.statemachine.states.Deactivating.prototype.changeSettings = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Deactivating.prototype.commit = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Deactivating.prototype.connect = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Deactivating.prototype.counterRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Deactivating.prototype.deactivate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Deactivating.prototype.disconnect = function () { + this.context.actionSendErrorResponseDisconnect(); + this.context.actionClearPendingEvent(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.Deactivating.prototype.dccRates = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Deactivating.prototype.hardwareInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Deactivating.prototype.initTransaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Deactivating.prototype.login = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Deactivating.prototype.logout = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Deactivating.prototype.reboot = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Deactivating.prototype.reconciliation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Deactivating.prototype.receiptRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Deactivating.prototype.reconfig = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Deactivating.prototype.rollback = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Deactivating.prototype.softwareUpdate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Deactivating.prototype.systemInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Deactivating.prototype.transaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Deactivating.prototype.connected = function () { +}; +timapi.statemachine.states.Deactivating.prototype.connectFailed = function () { + this.context.actionClearPendingEvent(); + this.context.setState(new timapi.statemachine.states.ErrorState(this.context)); +}; +timapi.statemachine.states.Deactivating.prototype.responseRequest = function () { + if (this.context.conditionIsEnabledAutoLogout() + && !this.context.conditionHasPendingEvent()) { + this.context.actionProcessResponseDeactivate(); + this.context.actionLogout(); + this.context.setState(new timapi.statemachine.states.LoggingOut(this.context)); + return; + } + this.context.actionProcessResponseDeactivate(); + this.context.setState(new timapi.statemachine.states.LoggedIn(this.context)); +}; +timapi.statemachine.states.Deactivating.prototype.responseError = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.Open(this.context)); +}; +timapi.statemachine.states.Deactivating.prototype.responseBusy = function () { + if (!this.context.conditionHasPendingEvent()) { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.Open(this.context)); + return; + } +}; +timapi.statemachine.states.Deactivating.prototype.timeout = function () { + this.context.actionErrorTimeout(); + this.context.setState(new timapi.statemachine.states.Open(this.context)); +}; +timapi.statemachine.states.Deactivating.prototype.keepAliveTimeout = function () { + try { + this.context.actionErrorConnectionLost(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } + catch (e) { + timapi.statemachine.states.Deactivating.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } +}; +timapi.statemachine.states.Deactivating.prototype.trxStateBecameIdle = function () { + if (this.context.conditionHasPendingEvent()) { + this.context.actionDeactivate(); + return; + } +}; +timapi.statemachine.states.Deactivating.prototype.closeReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Deactivating.prototype.openReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Deactivating.prototype.ejectCard = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Deactivating.prototype.openMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Deactivating.prototype.closeMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Deactivating.prototype.activateServiceMenu = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Deactivating.prototype.balanceInquiry = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Deactivating.prototype.openDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Deactivating.prototype.closeDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Deactivating.prototype.showSignatureCapture = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Deactivating.prototype.showDialog = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Deactivating.prototype.sendCardCommand = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.DialogMode = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.DialogMode.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.DialogMode.loggerName = "timapi.statemachine.states.DialogMode"; +timapi.statemachine.states.DialogMode.classname = "DialogMode"; +timapi.statemachine.states.DialogMode.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.DialogMode.loggerName); +timapi.statemachine.states.DialogMode.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + this.context.actionCancelTimeout(); + if (this.context.conditionHasPendingOpenDialogMode()) { + this.context.actionClearPendingEvent(); + } + if (this.context.conditionHasPendingCloseDialogMode()) { + this.context.actionClearPendingEvent(); + this.context.actionCloseDialogMode(); + this.context.setState(new timapi.statemachine.states.WaitCloseDialogMode(this.context)); + return; + } + if (this.context.conditionHasPendingShowSignatureCapture()) { + this.context.actionShowSignatureCapture(); + this.context.setState(new timapi.statemachine.states.WaitShowSignatureCapture(this.context)); + return; + } + if (this.context.conditionHasPendingShowDialog()) { + this.context.actionShowDialog(); + this.context.setState(new timapi.statemachine.states.WaitShowDialog(this.context)); + return; + } + if (this.context.conditionHasPendingSendCardCommand()) { + this.context.actionSendCardCommand(); + this.context.setState(new timapi.statemachine.states.WaitSendCardCommand(this.context)); + return; + } +}; +timapi.statemachine.states.DialogMode.prototype.applicationInformation = function () { + this.context.actionSetPendingApplicationInformation(); + this.context.actionCloseDialogMode(); + this.context.setState(new timapi.statemachine.states.WaitCloseDialogMode(this.context)); +}; +timapi.statemachine.states.DialogMode.prototype.balance = function () { + this.context.actionSetPendingBalance(); + this.context.actionCloseDialogMode(); + this.context.setState(new timapi.statemachine.states.WaitCloseDialogMode(this.context)); +}; +timapi.statemachine.states.DialogMode.prototype.cancel = function () { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); +}; +timapi.statemachine.states.DialogMode.prototype.changeSettings = function () { + this.context.actionSetPendingChangeSettings(); + this.context.actionCloseDialogMode(); + this.context.setState(new timapi.statemachine.states.WaitCloseDialogMode(this.context)); +}; +timapi.statemachine.states.DialogMode.prototype.counterRequest = function () { + this.context.actionSetPendingCounterRequest(); + this.context.actionCloseDialogMode(); + this.context.setState(new timapi.statemachine.states.WaitCloseDialogMode(this.context)); +}; +timapi.statemachine.states.DialogMode.prototype.deactivate = function () { + this.context.actionSetPendingDeactivate(); + this.context.actionCloseDialogMode(); + this.context.setState(new timapi.statemachine.states.WaitCloseDialogMode(this.context)); +}; +timapi.statemachine.states.DialogMode.prototype.dccRates = function () { + this.context.actionSetPendingDccRates(); + this.context.actionCloseDialogMode(); + this.context.setState(new timapi.statemachine.states.WaitCloseDialogMode(this.context)); +}; +timapi.statemachine.states.DialogMode.prototype.hardwareInformation = function () { + this.context.actionSetPendingHardwareInformation(); + this.context.actionCloseDialogMode(); + this.context.setState(new timapi.statemachine.states.WaitCloseDialogMode(this.context)); +}; +timapi.statemachine.states.DialogMode.prototype.initTransaction = function () { + this.context.actionSetPendingInitTransaction(); + this.context.actionCloseDialogMode(); + this.context.setState(new timapi.statemachine.states.WaitCloseDialogMode(this.context)); +}; +timapi.statemachine.states.DialogMode.prototype.login = function () { + this.context.actionSetPendingLogin(); + this.context.actionCloseDialogMode(); + this.context.setState(new timapi.statemachine.states.WaitCloseDialogMode(this.context)); +}; +timapi.statemachine.states.DialogMode.prototype.logout = function () { + this.context.actionSetPendingLogout(); + this.context.actionCloseDialogMode(); + this.context.setState(new timapi.statemachine.states.WaitCloseDialogMode(this.context)); +}; +timapi.statemachine.states.DialogMode.prototype.reboot = function () { + this.context.actionSetPendingReboot(); + this.context.actionCloseDialogMode(); + this.context.setState(new timapi.statemachine.states.WaitCloseDialogMode(this.context)); +}; +timapi.statemachine.states.DialogMode.prototype.receiptRequest = function () { + this.context.actionSetPendingReceiptRequest(); + this.context.actionCloseDialogMode(); + this.context.setState(new timapi.statemachine.states.WaitCloseDialogMode(this.context)); +}; +timapi.statemachine.states.DialogMode.prototype.reconfig = function () { + this.context.actionSetPendingReconfig(); + this.context.actionCloseDialogMode(); + this.context.setState(new timapi.statemachine.states.WaitCloseDialogMode(this.context)); +}; +timapi.statemachine.states.DialogMode.prototype.softwareUpdate = function () { + this.context.actionSetPendingSoftwareUpdate(); + this.context.actionCloseDialogMode(); + this.context.setState(new timapi.statemachine.states.WaitCloseDialogMode(this.context)); +}; +timapi.statemachine.states.DialogMode.prototype.systemInformation = function () { + this.context.actionSetPendingSystemInformation(); + this.context.actionCloseDialogMode(); + this.context.setState(new timapi.statemachine.states.WaitCloseDialogMode(this.context)); +}; +timapi.statemachine.states.DialogMode.prototype.transaction = function () { + this.context.actionSetPendingTransaction(); + this.context.actionCloseDialogMode(); + this.context.setState(new timapi.statemachine.states.WaitCloseDialogMode(this.context)); +}; +timapi.statemachine.states.DialogMode.prototype.closeReader = function () { + if (!this.context.conditionHasGuideUnattended()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionSetPendingCloseReader(); + this.context.actionCloseDialogMode(); + this.context.setState(new timapi.statemachine.states.WaitCloseDialogMode(this.context)); +}; +timapi.statemachine.states.DialogMode.prototype.openReader = function () { + if (!this.context.conditionHasGuideUnattended()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionSetPendingOpenReader(); + this.context.actionCloseDialogMode(); + this.context.setState(new timapi.statemachine.states.WaitCloseDialogMode(this.context)); +}; +timapi.statemachine.states.DialogMode.prototype.ejectCard = function () { + if (!this.context.conditionHasGuideUnattended() + && !this.context.conditionHasGuideAdvancedRetail()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionSetPendingEjectCard(); + this.context.actionCloseDialogMode(); + this.context.setState(new timapi.statemachine.states.WaitCloseDialogMode(this.context)); +}; +timapi.statemachine.states.DialogMode.prototype.openMaintenanceWindow = function () { + this.context.actionSetPendingOpenMaintenanceWindow(); + this.context.actionCloseDialogMode(); + this.context.setState(new timapi.statemachine.states.WaitCloseDialogMode(this.context)); +}; +timapi.statemachine.states.DialogMode.prototype.closeMaintenanceWindow = function () { + this.context.actionSetPendingCloseMaintenanceWindow(); + this.context.actionCloseDialogMode(); + this.context.setState(new timapi.statemachine.states.WaitCloseDialogMode(this.context)); +}; +timapi.statemachine.states.DialogMode.prototype.activateServiceMenu = function () { + this.context.actionSetPendingActivateServiceMenu(); + this.context.actionCloseDialogMode(); + this.context.setState(new timapi.statemachine.states.WaitCloseDialogMode(this.context)); +}; +timapi.statemachine.states.DialogMode.prototype.balanceInquiry = function () { + if (!this.context.conditionHasGuideAdvancedRetail() + && !this.context.conditionHasGuideBanking()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionSetPendingBalanceInquiry(); + this.context.actionCloseDialogMode(); + this.context.setState(new timapi.statemachine.states.WaitCloseDialogMode(this.context)); +}; +timapi.statemachine.states.DialogMode.prototype.closeDialogMode = function () { + this.context.actionCloseDialogMode(); + this.context.setState(new timapi.statemachine.states.WaitCloseDialogMode(this.context)); +}; +timapi.statemachine.states.DialogMode.prototype.showSignatureCapture = function () { + this.context.actionShowSignatureCapture(); + this.context.setState(new timapi.statemachine.states.WaitShowSignatureCapture(this.context)); +}; +timapi.statemachine.states.DialogMode.prototype.showDialog = function () { + this.context.actionShowDialog(); + this.context.setState(new timapi.statemachine.states.WaitShowDialog(this.context)); +}; +timapi.statemachine.states.DialogMode.prototype.sendCardCommand = function () { + this.context.actionSendCardCommand(); + this.context.setState(new timapi.statemachine.states.WaitSendCardCommand(this.context)); +}; +timapi.statemachine.states.Disconnected = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.Disconnected.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.Disconnected.loggerName = "timapi.statemachine.states.Disconnected"; +timapi.statemachine.states.Disconnected.classname = "Disconnected"; +timapi.statemachine.states.Disconnected.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.Disconnected.loggerName); +timapi.statemachine.states.Disconnected.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + this.context.actionCancelTimeout(); + if (this.context.conditionHasPendingEvent()) { + this.context.actionConnect(); + this.context.setState(new timapi.statemachine.states.Connecting(this.context)); + return; + } +}; +timapi.statemachine.states.Disconnected.prototype.activate = function () { + this.context.actionSetPendingActivate(); + this.context.actionConnect(); + this.context.setState(new timapi.statemachine.states.Connecting(this.context)); +}; +timapi.statemachine.states.Disconnected.prototype.applicationInformation = function () { + this.context.actionSetPendingApplicationInformation(); + this.context.actionConnect(); + this.context.setState(new timapi.statemachine.states.Connecting(this.context)); +}; +timapi.statemachine.states.Disconnected.prototype.balance = function () { + this.context.actionSetPendingBalance(); + this.context.actionConnect(); + this.context.setState(new timapi.statemachine.states.Connecting(this.context)); +}; +timapi.statemachine.states.Disconnected.prototype.cancel = function () { + this.context.actionSetPendingCancel(); + this.context.actionConnect(); + this.context.setState(new timapi.statemachine.states.Connecting(this.context)); +}; +timapi.statemachine.states.Disconnected.prototype.changeSettings = function () { + this.context.actionSetPendingChangeSettings(); + this.context.actionConnect(); + this.context.setState(new timapi.statemachine.states.Connecting(this.context)); +}; +timapi.statemachine.states.Disconnected.prototype.commit = function () { + this.context.actionSetPendingCommit(); + this.context.actionConnect(); + this.context.setState(new timapi.statemachine.states.Connecting(this.context)); +}; +timapi.statemachine.states.Disconnected.prototype.connect = function () { + this.context.actionConnect(); + this.context.setState(new timapi.statemachine.states.Connecting(this.context)); +}; +timapi.statemachine.states.Disconnected.prototype.counterRequest = function () { + this.context.actionSetPendingCounterRequest(); + this.context.actionConnect(); + this.context.setState(new timapi.statemachine.states.Connecting(this.context)); +}; +timapi.statemachine.states.Disconnected.prototype.deactivate = function () { + this.context.actionSetPendingDeactivate(); + this.context.actionConnect(); + this.context.setState(new timapi.statemachine.states.Connecting(this.context)); +}; +timapi.statemachine.states.Disconnected.prototype.disconnect = function () { + this.context.actionErrorWrongState(); +}; +timapi.statemachine.states.Disconnected.prototype.dccRates = function () { + this.context.actionSetPendingDccRates(); + this.context.actionConnect(); + this.context.setState(new timapi.statemachine.states.Connecting(this.context)); +}; +timapi.statemachine.states.Disconnected.prototype.hardwareInformation = function () { + this.context.actionSetPendingHardwareInformation(); + this.context.actionConnect(); + this.context.setState(new timapi.statemachine.states.Connecting(this.context)); +}; +timapi.statemachine.states.Disconnected.prototype.initTransaction = function () { + this.context.actionSetPendingInitTransaction(); + this.context.actionConnect(); + this.context.setState(new timapi.statemachine.states.Connecting(this.context)); +}; +timapi.statemachine.states.Disconnected.prototype.login = function () { + this.context.actionSetPendingLogin(); + this.context.actionConnect(); + this.context.setState(new timapi.statemachine.states.Connecting(this.context)); +}; +timapi.statemachine.states.Disconnected.prototype.logout = function () { + this.context.actionSetPendingLogout(); + this.context.actionConnect(); + this.context.setState(new timapi.statemachine.states.Connecting(this.context)); +}; +timapi.statemachine.states.Disconnected.prototype.reboot = function () { + this.context.actionSetPendingReboot(); + this.context.actionConnect(); + this.context.setState(new timapi.statemachine.states.Connecting(this.context)); +}; +timapi.statemachine.states.Disconnected.prototype.reconciliation = function () { + this.context.actionSetPendingReconciliation(); + this.context.actionConnect(); + this.context.setState(new timapi.statemachine.states.Connecting(this.context)); +}; +timapi.statemachine.states.Disconnected.prototype.receiptRequest = function () { + this.context.actionSetPendingReceiptRequest(); + this.context.actionConnect(); + this.context.setState(new timapi.statemachine.states.Connecting(this.context)); +}; +timapi.statemachine.states.Disconnected.prototype.reconfig = function () { + this.context.actionSetPendingReconfig(); + this.context.actionConnect(); + this.context.setState(new timapi.statemachine.states.Connecting(this.context)); +}; +timapi.statemachine.states.Disconnected.prototype.softwareUpdate = function () { + this.context.actionSetPendingSoftwareUpdate(); + this.context.actionConnect(); + this.context.setState(new timapi.statemachine.states.Connecting(this.context)); +}; +timapi.statemachine.states.Disconnected.prototype.systemInformation = function () { + this.context.actionSetPendingSystemInformation(); + this.context.actionConnect(); + this.context.setState(new timapi.statemachine.states.Connecting(this.context)); +}; +timapi.statemachine.states.Disconnected.prototype.transaction = function () { + this.context.actionSetPendingTransaction(); + this.context.actionConnect(); + this.context.setState(new timapi.statemachine.states.Connecting(this.context)); +}; +timapi.statemachine.states.Disconnected.prototype.connected = function () { + this.context.setState(new timapi.statemachine.states.LoggedOut(this.context)); +}; +timapi.statemachine.states.Disconnected.prototype.connectFailed = function () { + if (this.context.conditionIsEnabledAutoConnect() + && !this.context.conditionRunAwayProtection()) { + this.context.actionRunAwayProtection(); + this.context.actionConnect(); + this.context.setState(new timapi.statemachine.states.Connecting(this.context)); + return; + } +}; +timapi.statemachine.states.Disconnected.prototype.disconnected = function () { +}; +timapi.statemachine.states.Disconnected.prototype.notificationKeepAlive = function () { +}; +timapi.statemachine.states.Disconnected.prototype.keepAliveTimeout = function () { +}; +timapi.statemachine.states.Disconnected.prototype.keepAliveTimer = function () { +}; +timapi.statemachine.states.Disconnected.prototype.closeReader = function () { + if (!this.context.conditionHasGuideUnattended()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionSetPendingCloseReader(); + this.context.actionConnect(); + this.context.setState(new timapi.statemachine.states.Connecting(this.context)); +}; +timapi.statemachine.states.Disconnected.prototype.openReader = function () { + if (!this.context.conditionHasGuideUnattended()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionSetPendingOpenReader(); + this.context.actionConnect(); + this.context.setState(new timapi.statemachine.states.Connecting(this.context)); +}; +timapi.statemachine.states.Disconnected.prototype.ejectCard = function () { + if (!this.context.conditionHasGuideUnattended() + && !this.context.conditionHasGuideAdvancedRetail()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionSetPendingEjectCard(); + this.context.actionConnect(); + this.context.setState(new timapi.statemachine.states.Connecting(this.context)); +}; +timapi.statemachine.states.Disconnected.prototype.openMaintenanceWindow = function () { + if (!this.context.conditionHasGuideUnattended()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionSetPendingOpenMaintenanceWindow(); + this.context.actionConnect(); + this.context.setState(new timapi.statemachine.states.Connecting(this.context)); +}; +timapi.statemachine.states.Disconnected.prototype.closeMaintenanceWindow = function () { + if (!this.context.conditionHasGuideUnattended()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionSetPendingCloseMaintenanceWindow(); + this.context.actionConnect(); + this.context.setState(new timapi.statemachine.states.Connecting(this.context)); +}; +timapi.statemachine.states.Disconnected.prototype.activateServiceMenu = function () { + if (!this.context.conditionHasGuideUnattended()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionSetPendingActivateServiceMenu(); + this.context.actionConnect(); + this.context.setState(new timapi.statemachine.states.Connecting(this.context)); +}; +timapi.statemachine.states.Disconnected.prototype.balanceInquiry = function () { + if (!this.context.conditionHasGuideAdvancedRetail() + && !this.context.conditionHasGuideBanking()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionSetPendingBalanceInquiry(); + this.context.actionConnect(); + this.context.setState(new timapi.statemachine.states.Connecting(this.context)); +}; +timapi.statemachine.states.Disconnected.prototype.openDialogMode = function () { + if (!this.context.conditionHasGuideDialog()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionSetPendingOpenDialogMode(); + this.context.actionConnect(); + this.context.setState(new timapi.statemachine.states.Connecting(this.context)); +}; +timapi.statemachine.states.Disconnected.prototype.closeDialogMode = function () { + if (!this.context.conditionHasGuideDialog()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionSetPendingCloseDialogMode(); + this.context.actionConnect(); + this.context.setState(new timapi.statemachine.states.Connecting(this.context)); +}; +timapi.statemachine.states.Disconnected.prototype.showSignatureCapture = function () { + if (!this.context.conditionHasGuideDialog()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionSetPendingShowSignatureCapture(); + this.context.actionConnect(); + this.context.setState(new timapi.statemachine.states.Connecting(this.context)); +}; +timapi.statemachine.states.Disconnected.prototype.showDialog = function () { + if (!this.context.conditionHasGuideDialog()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionSetPendingShowDialog(); + this.context.actionConnect(); + this.context.setState(new timapi.statemachine.states.Connecting(this.context)); +}; +timapi.statemachine.states.Disconnected.prototype.sendCardCommand = function () { + if (!this.context.conditionHasGuideDialog()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionSetPendingSendCardCommand(); + this.context.actionConnect(); + this.context.setState(new timapi.statemachine.states.Connecting(this.context)); +}; +timapi.statemachine.states.Initial = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.Initial.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.Initial.loggerName = "timapi.statemachine.states.Initial"; +timapi.statemachine.states.Initial.classname = "Initial"; +timapi.statemachine.states.Initial.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.Initial.loggerName); +timapi.statemachine.states.Initial.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + if (this.context.conditionIsEnabledAutoConnect()) { + this.context.actionConnect(); + this.context.setState(new timapi.statemachine.states.Connecting(this.context)); + return; + } + if (!this.context.conditionIsEnabledAutoConnect()) { + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + return; + } +}; +timapi.statemachine.states.LoggedIn = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.LoggedIn.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.LoggedIn.loggerName = "timapi.statemachine.states.LoggedIn"; +timapi.statemachine.states.LoggedIn.classname = "LoggedIn"; +timapi.statemachine.states.LoggedIn.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.LoggedIn.loggerName); +timapi.statemachine.states.LoggedIn.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + this.context.actionCancelTimeout(); + if (this.context.conditionHasPendingLogin()) { + this.context.actionClearPendingEvent(); + this.context.actionLogin(); + this.context.setState(new timapi.statemachine.states.LoggingIn(this.context)); + return; + } + if (this.context.conditionHasPendingDeactivate()) { + this.context.actionClearPendingEvent(); + this.context.actionDeactivate(); + this.context.setState(new timapi.statemachine.states.Deactivating(this.context)); + return; + } + if (this.context.conditionHasPendingApplicationInformation()) { + this.context.actionApplicationInformation(); + this.context.setState(new timapi.statemachine.states.WaitApplicationInformation(this.context)); + return; + } + if (this.context.conditionHasPendingBalance()) { + this.context.actionBalance(); + this.context.setState(new timapi.statemachine.states.WaitBalance(this.context)); + return; + } + if (this.context.conditionHasPendingCancel()) { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); + } + if (this.context.conditionHasPendingChangeSettings()) { + this.context.actionChangeSettings(); + this.context.setState(new timapi.statemachine.states.WaitChangeSettings(this.context)); + return; + } + if (this.context.conditionHasPendingDccRates()) { + this.context.actionDccRates(); + this.context.setState(new timapi.statemachine.states.WaitDccRates(this.context)); + return; + } + if (this.context.conditionHasPendingHardwareInformation()) { + this.context.actionHardwareInformation(); + this.context.setState(new timapi.statemachine.states.WaitHardwareInformation(this.context)); + return; + } + if (this.context.conditionHasPendingLogout()) { + this.context.actionLogout(); + this.context.setState(new timapi.statemachine.states.LoggingOut(this.context)); + return; + } + if (this.context.conditionHasPendingReboot()) { + this.context.actionReboot(); + this.context.setState(new timapi.statemachine.states.WaitReboot(this.context)); + return; + } + if (this.context.conditionHasPendingReconfig()) { + this.context.actionReconfig(); + this.context.setState(new timapi.statemachine.states.WaitReconfig(this.context)); + return; + } + if (this.context.conditionHasPendingReconciliation()) { + this.context.actionReconciliation(); + this.context.setState(new timapi.statemachine.states.WaitReconciliation(this.context)); + return; + } + if (this.context.conditionHasPendingReceiptRequest()) { + this.context.actionReceiptRequest(); + this.context.setState(new timapi.statemachine.states.WaitReceiptRequestClosed(this.context)); + return; + } + if (this.context.conditionHasPendingSoftwareUpdate()) { + this.context.actionSoftwareUpdate(); + this.context.setState(new timapi.statemachine.states.WaitSoftwareUpdate(this.context)); + return; + } + if (this.context.conditionHasPendingSystemInformation()) { + this.context.actionSystemInformation(); + this.context.setState(new timapi.statemachine.states.WaitSystemInformation(this.context)); + return; + } + if (this.context.conditionHasPendingOpenMaintenanceWindow()) { + this.context.actionOpenMaintenanceWindow(); + this.context.setState(new timapi.statemachine.states.WaitOpenMaintenanceWindow(this.context)); + return; + } + if (this.context.conditionHasPendingCloseMaintenanceWindow()) { + this.context.actionCloseMaintenanceWindow(); + this.context.setState(new timapi.statemachine.states.WaitCloseMaintenanceWindow(this.context)); + return; + } + if (this.context.conditionHasPendingActivateServiceMenu()) { + this.context.actionActivateServiceMenu(); + this.context.setState(new timapi.statemachine.states.WaitActivateServiceMenu(this.context)); + return; + } + if (this.context.conditionHasPendingActivate() + || this.context.conditionHasPendingCommit() + || this.context.conditionHasPendingCounterRequest() + || this.context.conditionHasPendingInitTransaction() + || this.context.conditionHasPendingTransaction() + || this.context.conditionHasPendingCloseReader() + || this.context.conditionHasPendingOpenReader() + || this.context.conditionHasPendingEjectCard() + || this.context.conditionHasPendingBalanceInquiry() + || this.context.conditionHasPendingOpenDialogMode() + || this.context.conditionHasPendingCloseDialogMode() + || this.context.conditionHasPendingShowSignatureCapture() + || this.context.conditionHasPendingShowDialog() + || this.context.conditionHasPendingSendCardCommand()) { + this.context.actionActivate(); + this.context.setState(new timapi.statemachine.states.Activating(this.context)); + return; + } +}; +timapi.statemachine.states.LoggedIn.prototype.activate = function () { + this.context.actionActivate(); + this.context.setState(new timapi.statemachine.states.Activating(this.context)); +}; +timapi.statemachine.states.LoggedIn.prototype.applicationInformation = function () { + this.context.actionApplicationInformation(); + this.context.setState(new timapi.statemachine.states.WaitApplicationInformation(this.context)); +}; +timapi.statemachine.states.LoggedIn.prototype.balance = function () { + this.context.actionBalance(); + this.context.setState(new timapi.statemachine.states.WaitBalance(this.context)); +}; +timapi.statemachine.states.LoggedIn.prototype.cancel = function () { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); +}; +timapi.statemachine.states.LoggedIn.prototype.changeSettings = function () { + this.context.actionChangeSettings(); + this.context.setState(new timapi.statemachine.states.WaitChangeSettings(this.context)); +}; +timapi.statemachine.states.LoggedIn.prototype.commit = function () { + this.context.actionSetPendingCommit(); + this.context.actionActivate(); + this.context.setState(new timapi.statemachine.states.Activating(this.context)); +}; +timapi.statemachine.states.LoggedIn.prototype.counterRequest = function () { + this.context.actionSetPendingCounterRequest(); + this.context.actionActivate(); + this.context.setState(new timapi.statemachine.states.Activating(this.context)); +}; +timapi.statemachine.states.LoggedIn.prototype.deactivate = function () { + this.context.actionDeactivate(); + this.context.setState(new timapi.statemachine.states.Deactivating(this.context)); +}; +timapi.statemachine.states.LoggedIn.prototype.dccRates = function () { + this.context.actionDccRates(); + this.context.setState(new timapi.statemachine.states.WaitDccRates(this.context)); +}; +timapi.statemachine.states.LoggedIn.prototype.hardwareInformation = function () { + this.context.actionHardwareInformation(); + this.context.setState(new timapi.statemachine.states.WaitHardwareInformation(this.context)); +}; +timapi.statemachine.states.LoggedIn.prototype.initTransaction = function () { + this.context.actionSetPendingInitTransaction(); + this.context.actionActivate(); + this.context.setState(new timapi.statemachine.states.Activating(this.context)); +}; +timapi.statemachine.states.LoggedIn.prototype.login = function () { + this.context.actionLogin(); + this.context.setState(new timapi.statemachine.states.LoggingIn(this.context)); +}; +timapi.statemachine.states.LoggedIn.prototype.logout = function () { + this.context.actionLogout(); + this.context.setState(new timapi.statemachine.states.LoggingOut(this.context)); +}; +timapi.statemachine.states.LoggedIn.prototype.reboot = function () { + this.context.actionReboot(); + this.context.setState(new timapi.statemachine.states.WaitReboot(this.context)); +}; +timapi.statemachine.states.LoggedIn.prototype.reconciliation = function () { + this.context.actionReconciliation(); + this.context.setState(new timapi.statemachine.states.WaitReconciliation(this.context)); +}; +timapi.statemachine.states.LoggedIn.prototype.receiptRequest = function () { + this.context.actionReceiptRequest(); + this.context.setState(new timapi.statemachine.states.WaitReceiptRequestClosed(this.context)); +}; +timapi.statemachine.states.LoggedIn.prototype.reconfig = function () { + this.context.actionReconfig(); + this.context.setState(new timapi.statemachine.states.WaitReconfig(this.context)); +}; +timapi.statemachine.states.LoggedIn.prototype.softwareUpdate = function () { + this.context.actionSoftwareUpdate(); + this.context.setState(new timapi.statemachine.states.WaitSoftwareUpdate(this.context)); +}; +timapi.statemachine.states.LoggedIn.prototype.systemInformation = function () { + this.context.actionSystemInformation(); + this.context.setState(new timapi.statemachine.states.WaitSystemInformation(this.context)); +}; +timapi.statemachine.states.LoggedIn.prototype.transaction = function () { + this.context.actionSetPendingTransaction(); + this.context.actionActivate(); + this.context.setState(new timapi.statemachine.states.Activating(this.context)); +}; +timapi.statemachine.states.LoggedIn.prototype.closeReader = function () { + if (!this.context.conditionHasGuideUnattended()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionSetPendingCloseReader(); + this.context.actionActivate(); + this.context.setState(new timapi.statemachine.states.Activating(this.context)); +}; +timapi.statemachine.states.LoggedIn.prototype.openReader = function () { + if (!this.context.conditionHasGuideUnattended()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionSetPendingOpenReader(); + this.context.actionActivate(); + this.context.setState(new timapi.statemachine.states.Activating(this.context)); +}; +timapi.statemachine.states.LoggedIn.prototype.ejectCard = function () { + if (!this.context.conditionHasGuideUnattended() + && !this.context.conditionHasGuideAdvancedRetail()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionSetPendingEjectCard(); + this.context.actionActivate(); + this.context.setState(new timapi.statemachine.states.Activating(this.context)); +}; +timapi.statemachine.states.LoggedIn.prototype.openMaintenanceWindow = function () { + if (!this.context.conditionHasGuideUnattended()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionOpenMaintenanceWindow(); + this.context.setState(new timapi.statemachine.states.WaitOpenMaintenanceWindow(this.context)); +}; +timapi.statemachine.states.LoggedIn.prototype.closeMaintenanceWindow = function () { + if (!this.context.conditionHasGuideUnattended()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionCloseMaintenanceWindow(); + this.context.setState(new timapi.statemachine.states.WaitCloseMaintenanceWindow(this.context)); +}; +timapi.statemachine.states.LoggedIn.prototype.activateServiceMenu = function () { + if (!this.context.conditionHasGuideUnattended()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionActivateServiceMenu(); + this.context.setState(new timapi.statemachine.states.WaitActivateServiceMenu(this.context)); +}; +timapi.statemachine.states.LoggedIn.prototype.balanceInquiry = function () { + if (!this.context.conditionHasGuideAdvancedRetail() + && !this.context.conditionHasGuideBanking()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionSetPendingBalanceInquiry(); + this.context.actionActivate(); + this.context.setState(new timapi.statemachine.states.Activating(this.context)); +}; +timapi.statemachine.states.LoggedIn.prototype.openDialogMode = function () { + if (!this.context.conditionHasGuideDialog()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionSetPendingOpenDialogMode(); + this.context.actionActivate(); + this.context.setState(new timapi.statemachine.states.Activating(this.context)); +}; +timapi.statemachine.states.LoggedIn.prototype.closeDialogMode = function () { + if (!this.context.conditionHasGuideDialog()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionSetPendingCloseDialogMode(); + this.context.actionActivate(); + this.context.setState(new timapi.statemachine.states.Activating(this.context)); +}; +timapi.statemachine.states.LoggedIn.prototype.showSignatureCapture = function () { + if (!this.context.conditionHasGuideDialog()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionSetPendingShowSignatureCapture(); + this.context.actionActivate(); + this.context.setState(new timapi.statemachine.states.Activating(this.context)); +}; +timapi.statemachine.states.LoggedIn.prototype.showDialog = function () { + if (!this.context.conditionHasGuideDialog()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionSetPendingShowDialog(); + this.context.actionActivate(); + this.context.setState(new timapi.statemachine.states.Activating(this.context)); +}; +timapi.statemachine.states.LoggedIn.prototype.sendCardCommand = function () { + if (!this.context.conditionHasGuideDialog()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionSetPendingSendCardCommand(); + this.context.actionActivate(); + this.context.setState(new timapi.statemachine.states.Activating(this.context)); +}; +timapi.statemachine.states.LoggedOut = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.LoggedOut.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.LoggedOut.loggerName = "timapi.statemachine.states.LoggedOut"; +timapi.statemachine.states.LoggedOut.classname = "LoggedOut"; +timapi.statemachine.states.LoggedOut.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.LoggedOut.loggerName); +timapi.statemachine.states.LoggedOut.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + this.context.actionCancelTimeout(); + if (this.context.conditionHasPendingLogout()) { + this.context.actionClearPendingEvent(); + this.context.actionSimulateLogoutCompleted(); + } + if (this.context.conditionHasPendingCancel()) { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); + } + if (this.context.conditionHasPendingActivate() + || this.context.conditionHasPendingApplicationInformation() + || this.context.conditionHasPendingBalance() + || this.context.conditionHasPendingChangeSettings() + || this.context.conditionHasPendingCommit() + || this.context.conditionHasPendingCounterRequest() + || this.context.conditionHasPendingDccRates() + || this.context.conditionHasPendingDeactivate() + || this.context.conditionHasPendingHardwareInformation() + || this.context.conditionHasPendingInitTransaction() + || this.context.conditionHasPendingLogin() + || this.context.conditionHasPendingReboot() + || this.context.conditionHasPendingReconfig() + || this.context.conditionHasPendingReceiptRequest() + || this.context.conditionHasPendingReconciliation() + || this.context.conditionHasPendingSoftwareUpdate() + || this.context.conditionHasPendingSystemInformation() + || this.context.conditionHasPendingTransaction() + || this.context.conditionHasPendingCloseReader() + || this.context.conditionHasPendingOpenReader() + || this.context.conditionHasPendingEjectCard() + || this.context.conditionHasPendingOpenMaintenanceWindow() + || this.context.conditionHasPendingCloseMaintenanceWindow() + || this.context.conditionHasPendingActivateServiceMenu() + || this.context.conditionHasPendingBalanceInquiry() + || this.context.conditionHasPendingOpenDialogMode() + || this.context.conditionHasPendingCloseDialogMode() + || this.context.conditionHasPendingShowSignatureCapture() + || this.context.conditionHasPendingShowDialog() + || this.context.conditionHasPendingSendCardCommand()) { + this.context.actionSetDefaultLoginRequest(); + this.context.setState(new timapi.statemachine.states.LoginRequest(this.context)); + return; + } +}; +timapi.statemachine.states.LoggedOut.prototype.activate = function () { + this.context.actionSetPendingActivate(); + this.context.actionSetDefaultLoginRequest(); + this.context.setState(new timapi.statemachine.states.LoginRequest(this.context)); +}; +timapi.statemachine.states.LoggedOut.prototype.applicationInformation = function () { + this.context.actionSetPendingApplicationInformation(); + this.context.actionSetDefaultLoginRequest(); + this.context.setState(new timapi.statemachine.states.LoginRequest(this.context)); +}; +timapi.statemachine.states.LoggedOut.prototype.balance = function () { + this.context.actionSetPendingBalance(); + this.context.actionSetDefaultLoginRequest(); + this.context.setState(new timapi.statemachine.states.LoginRequest(this.context)); +}; +timapi.statemachine.states.LoggedOut.prototype.cancel = function () { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); +}; +timapi.statemachine.states.LoggedOut.prototype.changeSettings = function () { + this.context.actionSetPendingChangeSettings(); + this.context.actionSetDefaultLoginRequest(); + this.context.setState(new timapi.statemachine.states.LoginRequest(this.context)); +}; +timapi.statemachine.states.LoggedOut.prototype.commit = function () { + this.context.actionSetPendingCommit(); + this.context.actionSetDefaultLoginRequest(); + this.context.setState(new timapi.statemachine.states.LoginRequest(this.context)); +}; +timapi.statemachine.states.LoggedOut.prototype.connect = function () { + this.context.actionErrorWrongState(); +}; +timapi.statemachine.states.LoggedOut.prototype.counterRequest = function () { + this.context.actionSetPendingCounterRequest(); + this.context.actionSetDefaultLoginRequest(); + this.context.setState(new timapi.statemachine.states.LoginRequest(this.context)); +}; +timapi.statemachine.states.LoggedOut.prototype.deactivate = function () { + this.context.actionSetPendingDeactivate(); + this.context.actionSetDefaultLoginRequest(); + this.context.setState(new timapi.statemachine.states.LoginRequest(this.context)); +}; +timapi.statemachine.states.LoggedOut.prototype.dccRates = function () { + this.context.actionSetPendingDccRates(); + this.context.actionSetDefaultLoginRequest(); + this.context.setState(new timapi.statemachine.states.LoginRequest(this.context)); +}; +timapi.statemachine.states.LoggedOut.prototype.hardwareInformation = function () { + this.context.actionSetPendingHardwareInformation(); + this.context.actionSetDefaultLoginRequest(); + this.context.setState(new timapi.statemachine.states.LoginRequest(this.context)); +}; +timapi.statemachine.states.LoggedOut.prototype.initTransaction = function () { + this.context.actionSetPendingInitTransaction(); + this.context.actionSetDefaultLoginRequest(); + this.context.setState(new timapi.statemachine.states.LoginRequest(this.context)); +}; +timapi.statemachine.states.LoggedOut.prototype.login = function () { + this.context.actionSetDefaultLoginRequest(); + this.context.setState(new timapi.statemachine.states.LoginRequest(this.context)); +}; +timapi.statemachine.states.LoggedOut.prototype.logout = function () { + this.context.actionSimulateLogoutCompleted(); +}; +timapi.statemachine.states.LoggedOut.prototype.reboot = function () { + this.context.actionSetPendingReboot(); + this.context.actionSetDefaultLoginRequest(); + this.context.setState(new timapi.statemachine.states.LoginRequest(this.context)); +}; +timapi.statemachine.states.LoggedOut.prototype.reconciliation = function () { + this.context.actionSetPendingReconciliation(); + this.context.actionSetDefaultLoginRequest(); + this.context.setState(new timapi.statemachine.states.LoginRequest(this.context)); +}; +timapi.statemachine.states.LoggedOut.prototype.receiptRequest = function () { + this.context.actionSetPendingReceiptRequest(); + this.context.actionSetDefaultLoginRequest(); + this.context.setState(new timapi.statemachine.states.LoginRequest(this.context)); +}; +timapi.statemachine.states.LoggedOut.prototype.reconfig = function () { + this.context.actionSetPendingReconfig(); + this.context.actionSetDefaultLoginRequest(); + this.context.setState(new timapi.statemachine.states.LoginRequest(this.context)); +}; +timapi.statemachine.states.LoggedOut.prototype.softwareUpdate = function () { + this.context.actionSetPendingSoftwareUpdate(); + this.context.actionSetDefaultLoginRequest(); + this.context.setState(new timapi.statemachine.states.LoginRequest(this.context)); +}; +timapi.statemachine.states.LoggedOut.prototype.systemInformation = function () { + this.context.actionSetPendingSystemInformation(); + this.context.actionSetDefaultLoginRequest(); + this.context.setState(new timapi.statemachine.states.LoginRequest(this.context)); +}; +timapi.statemachine.states.LoggedOut.prototype.transaction = function () { + this.context.actionSetPendingTransaction(); + this.context.actionSetDefaultLoginRequest(); + this.context.setState(new timapi.statemachine.states.LoginRequest(this.context)); +}; +timapi.statemachine.states.LoggedOut.prototype.notificationKeepAlive = function () { +}; +timapi.statemachine.states.LoggedOut.prototype.keepAliveTimeout = function () { +}; +timapi.statemachine.states.LoggedOut.prototype.keepAliveTimer = function () { +}; +timapi.statemachine.states.LoggedOut.prototype.closeReader = function () { + if (!this.context.conditionHasGuideUnattended()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionSetPendingCloseReader(); + this.context.actionSetDefaultLoginRequest(); + this.context.setState(new timapi.statemachine.states.LoginRequest(this.context)); +}; +timapi.statemachine.states.LoggedOut.prototype.openReader = function () { + if (!this.context.conditionHasGuideUnattended()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionSetPendingOpenReader(); + this.context.actionSetDefaultLoginRequest(); + this.context.setState(new timapi.statemachine.states.LoginRequest(this.context)); +}; +timapi.statemachine.states.LoggedOut.prototype.ejectCard = function () { + if (!this.context.conditionHasGuideUnattended() + && !this.context.conditionHasGuideAdvancedRetail()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionSetPendingEjectCard(); + this.context.actionSetDefaultLoginRequest(); + this.context.setState(new timapi.statemachine.states.LoginRequest(this.context)); +}; +timapi.statemachine.states.LoggedOut.prototype.openMaintenanceWindow = function () { + if (!this.context.conditionHasGuideUnattended()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionSetPendingOpenMaintenanceWindow(); + this.context.actionSetDefaultLoginRequest(); + this.context.setState(new timapi.statemachine.states.LoginRequest(this.context)); +}; +timapi.statemachine.states.LoggedOut.prototype.closeMaintenanceWindow = function () { + if (!this.context.conditionHasGuideUnattended()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionSetPendingCloseMaintenanceWindow(); + this.context.actionSetDefaultLoginRequest(); + this.context.setState(new timapi.statemachine.states.LoginRequest(this.context)); +}; +timapi.statemachine.states.LoggedOut.prototype.activateServiceMenu = function () { + if (!this.context.conditionHasGuideUnattended()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionSetPendingActivateServiceMenu(); + this.context.actionSetDefaultLoginRequest(); + this.context.setState(new timapi.statemachine.states.LoginRequest(this.context)); +}; +timapi.statemachine.states.LoggedOut.prototype.balanceInquiry = function () { + if (!this.context.conditionHasGuideAdvancedRetail() + && !this.context.conditionHasGuideBanking()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionSetPendingBalanceInquiry(); + this.context.actionSetDefaultLoginRequest(); + this.context.setState(new timapi.statemachine.states.LoginRequest(this.context)); +}; +timapi.statemachine.states.LoggedOut.prototype.openDialogMode = function () { + if (!this.context.conditionHasGuideDialog()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionSetPendingOpenDialogMode(); + this.context.actionSetDefaultLoginRequest(); + this.context.setState(new timapi.statemachine.states.LoginRequest(this.context)); +}; +timapi.statemachine.states.LoggedOut.prototype.closeDialogMode = function () { + if (!this.context.conditionHasGuideDialog()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionSetPendingCloseDialogMode(); + this.context.actionSetDefaultLoginRequest(); + this.context.setState(new timapi.statemachine.states.LoginRequest(this.context)); +}; +timapi.statemachine.states.LoggedOut.prototype.showSignatureCapture = function () { + if (!this.context.conditionHasGuideDialog()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionSetPendingShowSignatureCapture(); + this.context.actionSetDefaultLoginRequest(); + this.context.setState(new timapi.statemachine.states.LoginRequest(this.context)); +}; +timapi.statemachine.states.LoggedOut.prototype.showDialog = function () { + if (!this.context.conditionHasGuideDialog()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionSetPendingShowDialog(); + this.context.actionSetDefaultLoginRequest(); + this.context.setState(new timapi.statemachine.states.LoginRequest(this.context)); +}; +timapi.statemachine.states.LoggedOut.prototype.sendCardCommand = function () { + if (!this.context.conditionHasGuideDialog()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionSetPendingSendCardCommand(); + this.context.actionSetDefaultLoginRequest(); + this.context.setState(new timapi.statemachine.states.LoginRequest(this.context)); +}; +timapi.statemachine.states.LoggingIn = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.LoggingIn.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.LoggingIn.loggerName = "timapi.statemachine.states.LoggingIn"; +timapi.statemachine.states.LoggingIn.classname = "LoggingIn"; +timapi.statemachine.states.LoggingIn.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.LoggingIn.loggerName); +timapi.statemachine.states.LoggingIn.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + if (this.context.conditionHasPendingLogin()) { + this.context.actionClearPendingEvent(); + } + this.context.actionArmTimeoutRequest(); +}; +timapi.statemachine.states.LoggingIn.prototype.activate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingIn.prototype.applicationInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingIn.prototype.balance = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingIn.prototype.cancel = function () { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); +}; +timapi.statemachine.states.LoggingIn.prototype.changeSettings = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingIn.prototype.commit = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingIn.prototype.connect = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingIn.prototype.counterRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingIn.prototype.deactivate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingIn.prototype.disconnect = function () { + this.context.actionSendErrorResponseDisconnect(); + this.context.actionClearPendingEvent(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.LoggingIn.prototype.dccRates = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingIn.prototype.hardwareInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingIn.prototype.initTransaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingIn.prototype.login = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingIn.prototype.logout = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingIn.prototype.reboot = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingIn.prototype.reconciliation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingIn.prototype.receiptRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingIn.prototype.reconfig = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingIn.prototype.rollback = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingIn.prototype.softwareUpdate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingIn.prototype.systemInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingIn.prototype.transaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingIn.prototype.connected = function () { +}; +timapi.statemachine.states.LoggingIn.prototype.connectFailed = function () { + this.context.actionClearPendingEvent(); + this.context.setState(new timapi.statemachine.states.ErrorState(this.context)); +}; +timapi.statemachine.states.LoggingIn.prototype.responseRequest = function () { + try { + if (this.context.conditionIsEnabledFetchBrands() + && !this.context.conditionIsApplicationInformationNotSupported()) { + try { + this.context.actionProcessResponseLogin(); + this.context.actionApplicationInformation(); + } + catch (e) { + timapi.statemachine.states.LoggingIn.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.LoggingInFailedLogout(this.context)); + return; + } + this.context.setState(new timapi.statemachine.states.LoggingInBrands(this.context)); + return; + } + if (this.context.conditionIsEnabledAutoActivate() + && !this.context.conditionHasPendingEvent()) { + try { + this.context.actionProcessResponseLogin(); + this.context.actionNotifyLoginCompleted(); + this.context.actionActivate(); + } + catch (e) { + timapi.statemachine.states.LoggingIn.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.LoggingInFailedLogout(this.context)); + return; + } + this.context.setState(new timapi.statemachine.states.Activating(this.context)); + return; + } + this.context.actionProcessResponseLogin(); + this.context.actionNotifyLoginCompleted(); + this.context.setState(new timapi.statemachine.states.LoggedIn(this.context)); + } + catch (e) { + timapi.statemachine.states.LoggingIn.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.LoggingInFailed(this.context)); + } +}; +timapi.statemachine.states.LoggingIn.prototype.responseError = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.LoggingInFailed(this.context)); +}; +timapi.statemachine.states.LoggingIn.prototype.responseBusy = function () { + if (!this.context.conditionHasPendingEvent()) { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.LoggingInFailed(this.context)); + return; + } +}; +timapi.statemachine.states.LoggingIn.prototype.notificationKeepAlive = function () { +}; +timapi.statemachine.states.LoggingIn.prototype.timeout = function () { + this.context.actionErrorConnectionLost(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.LoggingIn.prototype.keepAliveTimeout = function () { +}; +timapi.statemachine.states.LoggingIn.prototype.keepAliveTimer = function () { +}; +timapi.statemachine.states.LoggingIn.prototype.trxStateBecameIdle = function () { + if (this.context.conditionHasPendingEvent()) { + this.context.actionLogin(); + this.context.actionArmTimeoutRequest(); + return; + } +}; +timapi.statemachine.states.LoggingIn.prototype.closeReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingIn.prototype.openReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingIn.prototype.ejectCard = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingIn.prototype.openMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingIn.prototype.closeMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingIn.prototype.activateServiceMenu = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingIn.prototype.balanceInquiry = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingIn.prototype.openDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingIn.prototype.closeDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingIn.prototype.showSignatureCapture = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingIn.prototype.showDialog = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingIn.prototype.sendCardCommand = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingInBrands = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.LoggingInBrands.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.LoggingInBrands.loggerName = "timapi.statemachine.states.LoggingInBrands"; +timapi.statemachine.states.LoggingInBrands.classname = "LoggingInBrands"; +timapi.statemachine.states.LoggingInBrands.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.LoggingInBrands.loggerName); +timapi.statemachine.states.LoggingInBrands.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); +}; +timapi.statemachine.states.LoggingInBrands.prototype.activate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingInBrands.prototype.applicationInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingInBrands.prototype.balance = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingInBrands.prototype.cancel = function () { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); +}; +timapi.statemachine.states.LoggingInBrands.prototype.changeSettings = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingInBrands.prototype.commit = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingInBrands.prototype.connect = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingInBrands.prototype.counterRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingInBrands.prototype.deactivate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingInBrands.prototype.disconnect = function () { + this.context.actionSendErrorResponseDisconnect(); + this.context.actionClearPendingEvent(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.LoggingInBrands.prototype.dccRates = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingInBrands.prototype.hardwareInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingInBrands.prototype.initTransaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingInBrands.prototype.login = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingInBrands.prototype.logout = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingInBrands.prototype.reboot = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingInBrands.prototype.reconciliation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingInBrands.prototype.receiptRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingInBrands.prototype.reconfig = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingInBrands.prototype.rollback = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingInBrands.prototype.softwareUpdate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingInBrands.prototype.systemInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingInBrands.prototype.transaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingInBrands.prototype.connected = function () { +}; +timapi.statemachine.states.LoggingInBrands.prototype.connectFailed = function () { + this.context.actionClearPendingEvent(); + this.context.setState(new timapi.statemachine.states.ErrorState(this.context)); +}; +timapi.statemachine.states.LoggingInBrands.prototype.responseRequest = function () { + try { + if (this.context.conditionIsEnabledAutoActivate() + && !this.context.conditionHasPendingEvent()) { + try { + this.context.actionProcessResponseApplicationInformation(); + this.context.actionActivate(); + } + catch (e) { + timapi.statemachine.states.LoggingInBrands.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.LoggingInFailedLogout(this.context)); + return; + } + this.context.setState(new timapi.statemachine.states.Activating(this.context)); + return; + } + this.context.actionProcessResponseApplicationInformation(); + this.context.actionNotifyLoginCompleted(); + this.context.setState(new timapi.statemachine.states.LoggedIn(this.context)); + } + catch (e) { + timapi.statemachine.states.LoggingInBrands.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.LoggingInFailedLogout(this.context)); + } +}; +timapi.statemachine.states.LoggingInBrands.prototype.responseError = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.LoggingInFailedLogout(this.context)); +}; +timapi.statemachine.states.LoggingInBrands.prototype.responseBusy = function () { + if (!this.context.conditionHasPendingEvent()) { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.LoggingInFailedLogout(this.context)); + return; + } +}; +timapi.statemachine.states.LoggingInBrands.prototype.timeout = function () { + this.context.actionErrorTimeout(); + this.context.setState(new timapi.statemachine.states.LoggingInFailedLogout(this.context)); +}; +timapi.statemachine.states.LoggingInBrands.prototype.keepAliveTimeout = function () { + try { + this.context.actionErrorConnectionLost(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } + catch (e) { + timapi.statemachine.states.LoggingInBrands.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } +}; +timapi.statemachine.states.LoggingInBrands.prototype.trxStateBecameIdle = function () { + if (this.context.conditionHasPendingEvent()) { + this.context.actionApplicationInformation(); + return; + } +}; +timapi.statemachine.states.LoggingInBrands.prototype.closeReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingInBrands.prototype.openReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingInBrands.prototype.ejectCard = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingInBrands.prototype.openMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingInBrands.prototype.closeMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingInBrands.prototype.activateServiceMenu = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingInBrands.prototype.balanceInquiry = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingInBrands.prototype.openDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingInBrands.prototype.closeDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingInBrands.prototype.showSignatureCapture = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingInBrands.prototype.showDialog = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingInBrands.prototype.sendCardCommand = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingInFailed = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.LoggingInFailed.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.LoggingInFailed.loggerName = "timapi.statemachine.states.LoggingInFailed"; +timapi.statemachine.states.LoggingInFailed.classname = "LoggingInFailed"; +timapi.statemachine.states.LoggingInFailed.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.LoggingInFailed.loggerName); +timapi.statemachine.states.LoggingInFailed.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + if (this.context.conditionIsEnabledAutoDisconnect()) { + try { + this.context.actionClearPendingEvent(); + this.context.actionDisconnect(); + } + catch (e) { + timapi.statemachine.states.LoggingInFailed.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + return; + } + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + return; + } + try { + this.context.actionClearPendingEvent(); + } + catch (e) { + timapi.statemachine.states.LoggingInFailed.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.ErrorState(this.context)); + return; + } + this.context.setState(new timapi.statemachine.states.LoggedOut(this.context)); + return; +}; +timapi.statemachine.states.LoggingInFailedLogout = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.LoggingInFailedLogout.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.LoggingInFailedLogout.loggerName = "timapi.statemachine.states.LoggingInFailedLogout"; +timapi.statemachine.states.LoggingInFailedLogout.classname = "LoggingInFailedLogout"; +timapi.statemachine.states.LoggingInFailedLogout.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.LoggingInFailedLogout.loggerName); +timapi.statemachine.states.LoggingInFailedLogout.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + this.context.actionClearPendingEvent(); + this.context.actionLogout(); +}; +timapi.statemachine.states.LoggingInFailedLogout.prototype.responseRequest = function () { + if (this.context.conditionIsEnabledAutoDisconnect()) { + this.context.actionProcessResponseLogout(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + return; + } + this.context.actionProcessResponseLogout(); + this.context.setState(new timapi.statemachine.states.LoggedOut(this.context)); +}; +timapi.statemachine.states.LoggingInFailedLogout.prototype.responseError = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.ErrorState(this.context)); +}; +timapi.statemachine.states.LoggingInFailedLogout.prototype.responseBusy = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.ErrorState(this.context)); +}; +timapi.statemachine.states.LoggingInFailedLogout.prototype.timeout = function () { + this.context.actionErrorTimeout(); + this.context.setState(new timapi.statemachine.states.ErrorState(this.context)); +}; +timapi.statemachine.states.LoggingOut = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.LoggingOut.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.LoggingOut.loggerName = "timapi.statemachine.states.LoggingOut"; +timapi.statemachine.states.LoggingOut.classname = "LoggingOut"; +timapi.statemachine.states.LoggingOut.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.LoggingOut.loggerName); +timapi.statemachine.states.LoggingOut.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + if (this.context.conditionHasPendingLogout()) { + this.context.actionClearPendingEvent(); + } +}; +timapi.statemachine.states.LoggingOut.prototype.activate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingOut.prototype.applicationInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingOut.prototype.balance = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingOut.prototype.cancel = function () { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); +}; +timapi.statemachine.states.LoggingOut.prototype.changeSettings = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingOut.prototype.commit = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingOut.prototype.connect = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingOut.prototype.counterRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingOut.prototype.deactivate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingOut.prototype.disconnect = function () { + this.context.actionSendErrorResponseDisconnect(); + this.context.actionClearPendingEvent(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.LoggingOut.prototype.dccRates = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingOut.prototype.hardwareInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingOut.prototype.initTransaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingOut.prototype.login = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingOut.prototype.logout = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingOut.prototype.reboot = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingOut.prototype.reconciliation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingOut.prototype.receiptRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingOut.prototype.reconfig = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingOut.prototype.rollback = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingOut.prototype.softwareUpdate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingOut.prototype.systemInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingOut.prototype.transaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingOut.prototype.connected = function () { +}; +timapi.statemachine.states.LoggingOut.prototype.connectFailed = function () { + this.context.actionClearPendingEvent(); + this.context.setState(new timapi.statemachine.states.ErrorState(this.context)); +}; +timapi.statemachine.states.LoggingOut.prototype.responseRequest = function () { + if (this.context.conditionIsEnabledAutoDisconnect()) { + try { + this.context.actionProcessResponseLogout(); + this.context.actionDisconnect(); + } + catch (e) { + timapi.statemachine.states.LoggingOut.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.LoggedOut(this.context)); + return; + } + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + return; + } + this.context.actionProcessResponseLogout(); + this.context.setState(new timapi.statemachine.states.LoggedOut(this.context)); +}; +timapi.statemachine.states.LoggingOut.prototype.responseError = function () { + if (this.context.conditionIsEnabledAutoDisconnect()) { + try { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.actionDisconnect(); + } + catch (e) { + timapi.statemachine.states.LoggingOut.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.LoggedOut(this.context)); + return; + } + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + return; + } + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.LoggedIn(this.context)); +}; +timapi.statemachine.states.LoggingOut.prototype.responseBusy = function () { + if (this.context.conditionIsEnabledAutoDisconnect()) { + try { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.actionDisconnect(); + } + catch (e) { + timapi.statemachine.states.LoggingOut.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.LoggedOut(this.context)); + return; + } + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + return; + } + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.LoggedIn(this.context)); +}; +timapi.statemachine.states.LoggingOut.prototype.timeout = function () { + if (this.context.conditionIsEnabledAutoDisconnect()) { + try { + this.context.actionErrorTimeout(); + this.context.actionDisconnect(); + } + catch (e) { + timapi.statemachine.states.LoggingOut.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.LoggedOut(this.context)); + return; + } + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + return; + } + this.context.actionErrorTimeout(); + this.context.setState(new timapi.statemachine.states.LoggedIn(this.context)); +}; +timapi.statemachine.states.LoggingOut.prototype.keepAliveTimeout = function () { + try { + this.context.actionErrorConnectionLost(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } + catch (e) { + timapi.statemachine.states.LoggingOut.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } +}; +timapi.statemachine.states.LoggingOut.prototype.closeReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingOut.prototype.openReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingOut.prototype.ejectCard = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingOut.prototype.openMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingOut.prototype.closeMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingOut.prototype.activateServiceMenu = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingOut.prototype.balanceInquiry = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingOut.prototype.openDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingOut.prototype.closeDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingOut.prototype.showSignatureCapture = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingOut.prototype.showDialog = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoggingOut.prototype.sendCardCommand = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoginRequest = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.LoginRequest.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.LoginRequest.loggerName = "timapi.statemachine.states.LoginRequest"; +timapi.statemachine.states.LoginRequest.classname = "LoginRequest"; +timapi.statemachine.states.LoginRequest.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.LoginRequest.loggerName); +timapi.statemachine.states.LoginRequest.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + if (this.context.conditionHasTerminalFeatures()) { + try { + this.context.actionLogin(); + } + catch (e) { + timapi.statemachine.states.LoginRequest.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.LoggingInFailed(this.context)); + return; + } + this.context.setState(new timapi.statemachine.states.LoggingIn(this.context)); + return; + } + try { + this.context.actionRequestFeatures(); + } + catch (e) { + timapi.statemachine.states.LoginRequest.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.LoggingInFailed(this.context)); + return; + } + this.context.setState(new timapi.statemachine.states.LoginRequestFeatures(this.context)); + return; +}; +timapi.statemachine.states.LoginRequestFeatures = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.LoginRequestFeatures.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.LoginRequestFeatures.loggerName = "timapi.statemachine.states.LoginRequestFeatures"; +timapi.statemachine.states.LoginRequestFeatures.classname = "LoginRequestFeatures"; +timapi.statemachine.states.LoginRequestFeatures.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.LoginRequestFeatures.loggerName); +timapi.statemachine.states.LoginRequestFeatures.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + this.context.actionArmTimeoutRequest(); +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.activate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.applicationInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.balance = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.cancel = function () { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.changeSettings = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.commit = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.connect = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.counterRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.deactivate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.disconnect = function () { + this.context.actionSendErrorResponseDisconnect(); + this.context.actionClearPendingEvent(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.dccRates = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.hardwareInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.initTransaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.login = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.logout = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.reboot = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.reconciliation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.receiptRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.reconfig = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.rollback = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.softwareUpdate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.systemInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.transaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.connected = function () { +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.connectFailed = function () { + this.context.actionClearPendingEvent(); + this.context.setState(new timapi.statemachine.states.ErrorState(this.context)); +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.responseRequest = function () { + try { + this.context.actionProcessResponseFeatureRequest(); + this.context.actionLogin(); + this.context.setState(new timapi.statemachine.states.LoggingIn(this.context)); + } + catch (e) { + timapi.statemachine.states.LoginRequestFeatures.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.LoggingInFailed(this.context)); + } +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.responseError = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.LoggingInFailed(this.context)); +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.responseBusy = function () { + if (!this.context.conditionHasPendingEvent()) { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.LoggingInFailed(this.context)); + return; + } +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.notificationKeepAlive = function () { +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.timeout = function () { + this.context.actionErrorConnectionLost(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.keepAliveTimeout = function () { +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.keepAliveTimer = function () { +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.trxStateBecameIdle = function () { + if (this.context.conditionHasPendingEvent()) { + this.context.actionRequestFeatures(); + this.context.actionArmTimeoutRequest(); + return; + } +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.closeReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.openReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.ejectCard = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.openMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.closeMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.activateServiceMenu = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.balanceInquiry = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.openDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.closeDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.showSignatureCapture = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.showDialog = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.LoginRequestFeatures.prototype.sendCardCommand = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.Open = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.Open.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.Open.loggerName = "timapi.statemachine.states.Open"; +timapi.statemachine.states.Open.classname = "Open"; +timapi.statemachine.states.Open.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.Open.loggerName); +timapi.statemachine.states.Open.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + this.context.actionCancelTimeout(); + if (this.context.conditionHasPendingActivate()) { + this.context.actionClearPendingEvent(); + } + if (this.context.conditionHasPendingCancel()) { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); + } + if (this.context.conditionHasPendingCommit()) { + this.context.actionCommit(); + this.context.setState(new timapi.statemachine.states.WaitCommit(this.context)); + return; + } + if (this.context.conditionHasPendingCounterRequest()) { + this.context.actionCounterRequest(); + this.context.setState(new timapi.statemachine.states.WaitCounterRequest(this.context)); + return; + } + if (this.context.conditionHasPendingInitTransaction()) { + this.context.actionInitTransaction(); + this.context.setState(new timapi.statemachine.states.WaitInitTransaction(this.context)); + return; + } + if (this.context.conditionHasPendingReceiptRequest()) { + this.context.actionReceiptRequest(); + this.context.setState(new timapi.statemachine.states.WaitReceiptRequestOpen(this.context)); + return; + } + if (this.context.conditionHasPendingTransaction()) { + this.context.actionTransaction(); + this.context.setState(new timapi.statemachine.states.WaitTransaction(this.context)); + return; + } + if (this.context.conditionHasPendingDeactivate()) { + this.context.actionClearPendingEvent(); + this.context.actionDeactivate(); + this.context.setState(new timapi.statemachine.states.Deactivating(this.context)); + return; + } + if (this.context.conditionHasPendingCloseReader()) { + this.context.actionCloseReader(); + this.context.setState(new timapi.statemachine.states.WaitCloseReader(this.context)); + return; + } + if (this.context.conditionHasPendingOpenReader()) { + this.context.actionOpenReader(); + this.context.setState(new timapi.statemachine.states.WaitOpenReader(this.context)); + return; + } + if (this.context.conditionHasPendingEjectCard()) { + this.context.actionEjectCard(); + this.context.setState(new timapi.statemachine.states.WaitEjectCard(this.context)); + return; + } + if (this.context.conditionHasPendingBalanceInquiry()) { + this.context.actionBalanceInquiry(); + this.context.setState(new timapi.statemachine.states.WaitBalanceInquiry(this.context)); + return; + } + if (this.context.conditionHasPendingOpenDialogMode()) { + this.context.actionClearPendingEvent(); + this.context.actionOpenDialogMode(); + this.context.setState(new timapi.statemachine.states.WaitOpenDialogMode(this.context)); + return; + } + if (this.context.conditionHasPendingShowSignatureCapture() + || this.context.conditionHasPendingShowDialog() + || this.context.conditionHasPendingSendCardCommand()) { + this.context.actionOpenDialogMode(); + this.context.setState(new timapi.statemachine.states.WaitOpenDialogMode(this.context)); + return; + } + if (this.context.conditionHasPendingApplicationInformation() + || this.context.conditionHasPendingBalance() + || this.context.conditionHasPendingChangeSettings() + || this.context.conditionHasPendingDccRates() + || this.context.conditionHasPendingHardwareInformation() + || this.context.conditionHasPendingLogin() + || this.context.conditionHasPendingLogout() + || this.context.conditionHasPendingReboot() + || this.context.conditionHasPendingReconfig() + || this.context.conditionHasPendingSoftwareUpdate() + || this.context.conditionHasPendingSystemInformation() + || this.context.conditionHasPendingOpenMaintenanceWindow() + || this.context.conditionHasPendingCloseMaintenanceWindow() + || this.context.conditionHasPendingActivateServiceMenu() + || this.context.conditionHasPendingOpenDialogMode() + || this.context.conditionHasPendingCloseDialogMode() + || this.context.conditionHasPendingShowSignatureCapture() + || this.context.conditionHasPendingShowDialog() + || this.context.conditionHasPendingSendCardCommand()) { + this.context.actionDeactivate(); + this.context.setState(new timapi.statemachine.states.Deactivating(this.context)); + return; + } +}; +timapi.statemachine.states.Open.prototype.activate = function () { + this.context.actionActivate(); + this.context.setState(new timapi.statemachine.states.Activating(this.context)); +}; +timapi.statemachine.states.Open.prototype.applicationInformation = function () { + this.context.actionSetPendingApplicationInformation(); + this.context.actionDeactivate(); + this.context.setState(new timapi.statemachine.states.Deactivating(this.context)); +}; +timapi.statemachine.states.Open.prototype.balance = function () { + this.context.actionSetPendingBalance(); + this.context.actionDeactivate(); + this.context.setState(new timapi.statemachine.states.Deactivating(this.context)); +}; +timapi.statemachine.states.Open.prototype.cancel = function () { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); +}; +timapi.statemachine.states.Open.prototype.changeSettings = function () { + this.context.actionSetPendingChangeSettings(); + this.context.actionDeactivate(); + this.context.setState(new timapi.statemachine.states.Deactivating(this.context)); +}; +timapi.statemachine.states.Open.prototype.counterRequest = function () { + this.context.actionCounterRequest(); + this.context.setState(new timapi.statemachine.states.WaitCounterRequest(this.context)); +}; +timapi.statemachine.states.Open.prototype.deactivate = function () { + this.context.actionDeactivate(); + this.context.setState(new timapi.statemachine.states.Deactivating(this.context)); +}; +timapi.statemachine.states.Open.prototype.dccRates = function () { + this.context.actionSetPendingDccRates(); + this.context.actionDeactivate(); + this.context.setState(new timapi.statemachine.states.Deactivating(this.context)); +}; +timapi.statemachine.states.Open.prototype.hardwareInformation = function () { + this.context.actionSetPendingHardwareInformation(); + this.context.actionDeactivate(); + this.context.setState(new timapi.statemachine.states.Deactivating(this.context)); +}; +timapi.statemachine.states.Open.prototype.initTransaction = function () { + this.context.actionInitTransaction(); + this.context.setState(new timapi.statemachine.states.WaitInitTransaction(this.context)); +}; +timapi.statemachine.states.Open.prototype.login = function () { + this.context.actionSetPendingLogin(); + this.context.actionDeactivate(); + this.context.setState(new timapi.statemachine.states.Deactivating(this.context)); +}; +timapi.statemachine.states.Open.prototype.logout = function () { + this.context.actionSetPendingLogout(); + this.context.actionDeactivate(); + this.context.setState(new timapi.statemachine.states.Deactivating(this.context)); +}; +timapi.statemachine.states.Open.prototype.reboot = function () { + this.context.actionSetPendingReboot(); + this.context.actionDeactivate(); + this.context.setState(new timapi.statemachine.states.Deactivating(this.context)); +}; +timapi.statemachine.states.Open.prototype.reconciliation = function () { + this.context.actionSetPendingReconciliation(); + this.context.actionDeactivate(); + this.context.setState(new timapi.statemachine.states.Deactivating(this.context)); +}; +timapi.statemachine.states.Open.prototype.receiptRequest = function () { + this.context.actionReceiptRequest(); + this.context.setState(new timapi.statemachine.states.WaitReceiptRequestOpen(this.context)); +}; +timapi.statemachine.states.Open.prototype.reconfig = function () { + this.context.actionSetPendingReconfig(); + this.context.actionDeactivate(); + this.context.setState(new timapi.statemachine.states.Deactivating(this.context)); +}; +timapi.statemachine.states.Open.prototype.softwareUpdate = function () { + this.context.actionSetPendingSoftwareUpdate(); + this.context.actionDeactivate(); + this.context.setState(new timapi.statemachine.states.Deactivating(this.context)); +}; +timapi.statemachine.states.Open.prototype.systemInformation = function () { + this.context.actionSetPendingSystemInformation(); + this.context.actionDeactivate(); + this.context.setState(new timapi.statemachine.states.Deactivating(this.context)); +}; +timapi.statemachine.states.Open.prototype.transaction = function () { + this.context.actionTransaction(); + this.context.setState(new timapi.statemachine.states.WaitTransaction(this.context)); +}; +timapi.statemachine.states.Open.prototype.closeReader = function () { + if (!this.context.conditionHasGuideUnattended()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionCloseReader(); + this.context.setState(new timapi.statemachine.states.WaitCloseReader(this.context)); +}; +timapi.statemachine.states.Open.prototype.openReader = function () { + if (!this.context.conditionHasGuideUnattended()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionOpenReader(); + this.context.setState(new timapi.statemachine.states.WaitOpenReader(this.context)); +}; +timapi.statemachine.states.Open.prototype.ejectCard = function () { + if (!this.context.conditionHasGuideUnattended() + && !this.context.conditionHasGuideAdvancedRetail()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionEjectCard(); + this.context.setState(new timapi.statemachine.states.WaitEjectCard(this.context)); +}; +timapi.statemachine.states.Open.prototype.openMaintenanceWindow = function () { + this.context.actionSetPendingOpenMaintenanceWindow(); + this.context.actionDeactivate(); + this.context.setState(new timapi.statemachine.states.Deactivating(this.context)); +}; +timapi.statemachine.states.Open.prototype.closeMaintenanceWindow = function () { + this.context.actionSetPendingCloseMaintenanceWindow(); + this.context.actionDeactivate(); + this.context.setState(new timapi.statemachine.states.Deactivating(this.context)); +}; +timapi.statemachine.states.Open.prototype.activateServiceMenu = function () { + this.context.actionSetPendingActivateServiceMenu(); + this.context.actionDeactivate(); + this.context.setState(new timapi.statemachine.states.Deactivating(this.context)); +}; +timapi.statemachine.states.Open.prototype.balanceInquiry = function () { + if (!this.context.conditionHasGuideAdvancedRetail() + && !this.context.conditionHasGuideBanking()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionBalanceInquiry(); + this.context.setState(new timapi.statemachine.states.WaitBalanceInquiry(this.context)); +}; +timapi.statemachine.states.Open.prototype.openDialogMode = function () { + if (!this.context.conditionHasGuideDialog()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionOpenDialogMode(); + this.context.setState(new timapi.statemachine.states.WaitOpenDialogMode(this.context)); +}; +timapi.statemachine.states.Open.prototype.showSignatureCapture = function () { + if (!this.context.conditionHasGuideDialog()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionSetPendingShowSignatureCapture(); + this.context.actionOpenDialogMode(); + this.context.setState(new timapi.statemachine.states.WaitOpenDialogMode(this.context)); +}; +timapi.statemachine.states.Open.prototype.showDialog = function () { + if (!this.context.conditionHasGuideDialog()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionSetPendingShowDialog(); + this.context.actionOpenDialogMode(); + this.context.setState(new timapi.statemachine.states.WaitOpenDialogMode(this.context)); +}; +timapi.statemachine.states.Open.prototype.sendCardCommand = function () { + if (!this.context.conditionHasGuideDialog()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionSetPendingSendCardCommand(); + this.context.actionOpenDialogMode(); + this.context.setState(new timapi.statemachine.states.WaitOpenDialogMode(this.context)); +}; +timapi.statemachine.states.WaitActivateServiceMenu = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.WaitActivateServiceMenu.loggerName = "timapi.statemachine.states.WaitActivateServiceMenu"; +timapi.statemachine.states.WaitActivateServiceMenu.classname = "WaitActivateServiceMenu"; +timapi.statemachine.states.WaitActivateServiceMenu.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.WaitActivateServiceMenu.loggerName); +timapi.statemachine.states.WaitActivateServiceMenu.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + this.context.actionClearPendingEvent(); +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.activate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.applicationInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.balance = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.cancel = function () { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.changeSettings = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.commit = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.connect = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.counterRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.deactivate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.disconnect = function () { + this.context.actionSendErrorResponseDisconnect(); + this.context.actionClearPendingEvent(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.dccRates = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.hardwareInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.initTransaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.login = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.logout = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.reboot = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.reconciliation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.receiptRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.reconfig = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.rollback = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.softwareUpdate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.systemInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.transaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.connected = function () { +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.connectFailed = function () { + this.context.actionClearPendingEvent(); + this.context.setState(new timapi.statemachine.states.ErrorState(this.context)); +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.responseRequest = function () { + this.context.actionProcessResponseActivateServiceMenu(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.responseError = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.responseBusy = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.timeout = function () { + this.context.actionErrorTimeout(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.keepAliveTimeout = function () { + try { + this.context.actionErrorConnectionLost(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } + catch (e) { + timapi.statemachine.states.WaitActivateServiceMenu.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.closeReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.openReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.ejectCard = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.openMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.closeMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.activateServiceMenu = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.balanceInquiry = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.openDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.closeDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.showSignatureCapture = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.showDialog = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitActivateServiceMenu.prototype.sendCardCommand = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitApplicationInformation = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.WaitApplicationInformation.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.WaitApplicationInformation.loggerName = "timapi.statemachine.states.WaitApplicationInformation"; +timapi.statemachine.states.WaitApplicationInformation.classname = "WaitApplicationInformation"; +timapi.statemachine.states.WaitApplicationInformation.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.WaitApplicationInformation.loggerName); +timapi.statemachine.states.WaitApplicationInformation.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + this.context.actionClearPendingEvent(); +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.activate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.applicationInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.balance = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.cancel = function () { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.changeSettings = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.commit = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.connect = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.counterRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.deactivate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.disconnect = function () { + this.context.actionSendErrorResponseDisconnect(); + this.context.actionClearPendingEvent(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.dccRates = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.hardwareInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.initTransaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.login = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.logout = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.reboot = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.reconciliation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.receiptRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.reconfig = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.rollback = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.softwareUpdate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.systemInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.transaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.connected = function () { +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.connectFailed = function () { + this.context.actionClearPendingEvent(); + this.context.setState(new timapi.statemachine.states.ErrorState(this.context)); +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.responseRequest = function () { + this.context.actionProcessResponseApplicationInformation(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.responseError = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.responseBusy = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.timeout = function () { + this.context.actionErrorTimeout(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.keepAliveTimeout = function () { + try { + this.context.actionErrorConnectionLost(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } + catch (e) { + timapi.statemachine.states.WaitApplicationInformation.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.closeReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.openReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.ejectCard = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.openMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.closeMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.activateServiceMenu = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.balanceInquiry = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.openDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.closeDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.showSignatureCapture = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.showDialog = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitApplicationInformation.prototype.sendCardCommand = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalance = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.WaitBalance.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.WaitBalance.loggerName = "timapi.statemachine.states.WaitBalance"; +timapi.statemachine.states.WaitBalance.classname = "WaitBalance"; +timapi.statemachine.states.WaitBalance.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.WaitBalance.loggerName); +timapi.statemachine.states.WaitBalance.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + this.context.actionClearPendingEvent(); +}; +timapi.statemachine.states.WaitBalance.prototype.activate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalance.prototype.applicationInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalance.prototype.balance = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalance.prototype.cancel = function () { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); +}; +timapi.statemachine.states.WaitBalance.prototype.changeSettings = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalance.prototype.commit = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalance.prototype.connect = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalance.prototype.counterRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalance.prototype.deactivate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalance.prototype.disconnect = function () { + this.context.actionSendErrorResponseDisconnect(); + this.context.actionClearPendingEvent(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.WaitBalance.prototype.dccRates = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalance.prototype.hardwareInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalance.prototype.initTransaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalance.prototype.login = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalance.prototype.logout = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalance.prototype.reboot = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalance.prototype.reconciliation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalance.prototype.receiptRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalance.prototype.reconfig = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalance.prototype.rollback = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalance.prototype.softwareUpdate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalance.prototype.systemInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalance.prototype.transaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalance.prototype.connected = function () { +}; +timapi.statemachine.states.WaitBalance.prototype.connectFailed = function () { + this.context.actionClearPendingEvent(); + this.context.setState(new timapi.statemachine.states.ErrorState(this.context)); +}; +timapi.statemachine.states.WaitBalance.prototype.responseRequest = function () { + this.context.actionProcessResponseBalance(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitBalance.prototype.responseError = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitBalance.prototype.responseBusy = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitBalance.prototype.timeout = function () { + this.context.actionErrorTimeout(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitBalance.prototype.keepAliveTimeout = function () { + try { + this.context.actionErrorConnectionLost(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } + catch (e) { + timapi.statemachine.states.WaitBalance.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } +}; +timapi.statemachine.states.WaitBalance.prototype.closeReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalance.prototype.openReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalance.prototype.ejectCard = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalance.prototype.openMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalance.prototype.closeMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalance.prototype.activateServiceMenu = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalance.prototype.balanceInquiry = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalance.prototype.openDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalance.prototype.closeDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalance.prototype.showSignatureCapture = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalance.prototype.showDialog = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalance.prototype.sendCardCommand = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitChangeSettings = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.WaitChangeSettings.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.WaitChangeSettings.loggerName = "timapi.statemachine.states.WaitChangeSettings"; +timapi.statemachine.states.WaitChangeSettings.classname = "WaitChangeSettings"; +timapi.statemachine.states.WaitChangeSettings.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.WaitChangeSettings.loggerName); +timapi.statemachine.states.WaitChangeSettings.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + this.context.actionClearPendingEvent(); +}; +timapi.statemachine.states.WaitChangeSettings.prototype.activate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitChangeSettings.prototype.applicationInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitChangeSettings.prototype.balance = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitChangeSettings.prototype.cancel = function () { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); +}; +timapi.statemachine.states.WaitChangeSettings.prototype.changeSettings = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitChangeSettings.prototype.commit = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitChangeSettings.prototype.connect = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitChangeSettings.prototype.counterRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitChangeSettings.prototype.deactivate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitChangeSettings.prototype.disconnect = function () { + this.context.actionSendErrorResponseDisconnect(); + this.context.actionClearPendingEvent(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.WaitChangeSettings.prototype.dccRates = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitChangeSettings.prototype.hardwareInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitChangeSettings.prototype.initTransaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitChangeSettings.prototype.login = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitChangeSettings.prototype.logout = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitChangeSettings.prototype.reboot = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitChangeSettings.prototype.reconciliation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitChangeSettings.prototype.receiptRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitChangeSettings.prototype.reconfig = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitChangeSettings.prototype.rollback = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitChangeSettings.prototype.softwareUpdate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitChangeSettings.prototype.systemInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitChangeSettings.prototype.transaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitChangeSettings.prototype.connected = function () { +}; +timapi.statemachine.states.WaitChangeSettings.prototype.connectFailed = function () { + this.context.actionClearPendingEvent(); + this.context.setState(new timapi.statemachine.states.ErrorState(this.context)); +}; +timapi.statemachine.states.WaitChangeSettings.prototype.responseRequest = function () { + this.context.actionProcessResponseChangeSettings(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitChangeSettings.prototype.responseError = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitChangeSettings.prototype.responseBusy = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitChangeSettings.prototype.timeout = function () { + this.context.actionErrorTimeout(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitChangeSettings.prototype.keepAliveTimeout = function () { + try { + this.context.actionErrorConnectionLost(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } + catch (e) { + timapi.statemachine.states.WaitChangeSettings.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } +}; +timapi.statemachine.states.WaitChangeSettings.prototype.closeReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitChangeSettings.prototype.openReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitChangeSettings.prototype.ejectCard = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitChangeSettings.prototype.openMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitChangeSettings.prototype.closeMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitChangeSettings.prototype.activateServiceMenu = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitChangeSettings.prototype.balanceInquiry = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitChangeSettings.prototype.openDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitChangeSettings.prototype.closeDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitChangeSettings.prototype.showSignatureCapture = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitChangeSettings.prototype.showDialog = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitChangeSettings.prototype.sendCardCommand = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseDialogMode = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.WaitCloseDialogMode.loggerName = "timapi.statemachine.states.WaitCloseDialogMode"; +timapi.statemachine.states.WaitCloseDialogMode.classname = "WaitCloseDialogMode"; +timapi.statemachine.states.WaitCloseDialogMode.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.WaitCloseDialogMode.loggerName); +timapi.statemachine.states.WaitCloseDialogMode.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.activate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.applicationInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.balance = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.cancel = function () { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.changeSettings = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.commit = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.connect = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.counterRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.deactivate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.disconnect = function () { + this.context.actionSendErrorResponseDisconnect(); + this.context.actionClearPendingEvent(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.dccRates = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.hardwareInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.initTransaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.login = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.logout = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.reboot = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.reconciliation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.receiptRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.reconfig = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.rollback = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.softwareUpdate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.systemInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.transaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.connected = function () { +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.connectFailed = function () { + this.context.actionClearPendingEvent(); + this.context.setState(new timapi.statemachine.states.ErrorState(this.context)); +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.responseRequest = function () { + if (this.context.conditionIsEnabledAutoDeactivate() + && !this.context.conditionHasPendingEvent()) { + this.context.actionProcessResponseCloseDialogMode(); + this.context.actionDeactivate(); + this.context.setState(new timapi.statemachine.states.Deactivating(this.context)); + return; + } + this.context.actionProcessResponseCloseDialogMode(); + this.context.setState(new timapi.statemachine.states.Open(this.context)); +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.responseError = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.DialogMode(this.context)); +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.responseBusy = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.DialogMode(this.context)); +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.timeout = function () { + this.context.actionErrorTimeout(); + this.context.setState(new timapi.statemachine.states.DialogMode(this.context)); +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.keepAliveTimeout = function () { + try { + this.context.actionErrorConnectionLost(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } + catch (e) { + timapi.statemachine.states.WaitCloseDialogMode.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.closeReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.openReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.ejectCard = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.openMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.closeMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.activateServiceMenu = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.balanceInquiry = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.openDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.closeDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.showSignatureCapture = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.showDialog = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseDialogMode.prototype.sendCardCommand = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.WaitCloseMaintenanceWindow.loggerName = "timapi.statemachine.states.WaitCloseMaintenanceWindow"; +timapi.statemachine.states.WaitCloseMaintenanceWindow.classname = "WaitCloseMaintenanceWindow"; +timapi.statemachine.states.WaitCloseMaintenanceWindow.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.WaitCloseMaintenanceWindow.loggerName); +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + this.context.actionClearPendingEvent(); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.activate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.applicationInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.balance = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.cancel = function () { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.changeSettings = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.commit = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.connect = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.counterRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.deactivate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.disconnect = function () { + this.context.actionSendErrorResponseDisconnect(); + this.context.actionClearPendingEvent(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.dccRates = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.hardwareInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.initTransaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.login = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.logout = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.reboot = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.reconciliation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.receiptRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.reconfig = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.rollback = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.softwareUpdate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.systemInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.transaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.connected = function () { +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.connectFailed = function () { + this.context.actionClearPendingEvent(); + this.context.setState(new timapi.statemachine.states.ErrorState(this.context)); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.responseRequest = function () { + this.context.actionProcessResponseCloseMaintenanceWindow(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.responseError = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.responseBusy = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.timeout = function () { + this.context.actionErrorTimeout(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.keepAliveTimeout = function () { + try { + this.context.actionErrorConnectionLost(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } + catch (e) { + timapi.statemachine.states.WaitCloseMaintenanceWindow.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.closeReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.openReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.ejectCard = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.openMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.closeMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.activateServiceMenu = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.balanceInquiry = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.openDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.closeDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.showSignatureCapture = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.showDialog = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseMaintenanceWindow.prototype.sendCardCommand = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseReader = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.WaitCloseReader.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.WaitCloseReader.loggerName = "timapi.statemachine.states.WaitCloseReader"; +timapi.statemachine.states.WaitCloseReader.classname = "WaitCloseReader"; +timapi.statemachine.states.WaitCloseReader.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.WaitCloseReader.loggerName); +timapi.statemachine.states.WaitCloseReader.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + this.context.actionClearPendingEvent(); +}; +timapi.statemachine.states.WaitCloseReader.prototype.activate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseReader.prototype.applicationInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseReader.prototype.balance = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseReader.prototype.cancel = function () { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); +}; +timapi.statemachine.states.WaitCloseReader.prototype.changeSettings = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseReader.prototype.commit = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseReader.prototype.connect = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseReader.prototype.counterRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseReader.prototype.deactivate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseReader.prototype.disconnect = function () { + this.context.actionSendErrorResponseDisconnect(); + this.context.actionClearPendingEvent(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.WaitCloseReader.prototype.dccRates = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseReader.prototype.hardwareInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseReader.prototype.initTransaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseReader.prototype.login = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseReader.prototype.logout = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseReader.prototype.reboot = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseReader.prototype.reconciliation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseReader.prototype.receiptRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseReader.prototype.reconfig = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseReader.prototype.rollback = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseReader.prototype.softwareUpdate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseReader.prototype.systemInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseReader.prototype.transaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseReader.prototype.connected = function () { +}; +timapi.statemachine.states.WaitCloseReader.prototype.connectFailed = function () { + this.context.actionClearPendingEvent(); + this.context.setState(new timapi.statemachine.states.ErrorState(this.context)); +}; +timapi.statemachine.states.WaitCloseReader.prototype.responseRequest = function () { + this.context.actionProcessResponseCloseReader(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitCloseReader.prototype.responseError = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitCloseReader.prototype.responseBusy = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitCloseReader.prototype.timeout = function () { + this.context.actionErrorTimeout(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitCloseReader.prototype.keepAliveTimeout = function () { + try { + this.context.actionErrorConnectionLost(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } + catch (e) { + timapi.statemachine.states.WaitCloseReader.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } +}; +timapi.statemachine.states.WaitCloseReader.prototype.closeReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseReader.prototype.openReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseReader.prototype.ejectCard = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseReader.prototype.openMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseReader.prototype.closeMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseReader.prototype.activateServiceMenu = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseReader.prototype.balanceInquiry = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseReader.prototype.openDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseReader.prototype.closeDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseReader.prototype.showSignatureCapture = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseReader.prototype.showDialog = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCloseReader.prototype.sendCardCommand = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCommit = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.WaitCommit.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.WaitCommit.loggerName = "timapi.statemachine.states.WaitCommit"; +timapi.statemachine.states.WaitCommit.classname = "WaitCommit"; +timapi.statemachine.states.WaitCommit.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.WaitCommit.loggerName); +timapi.statemachine.states.WaitCommit.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + this.context.actionClearPendingEvent(); + this.context.actionArmTimeoutRequest(); +}; +timapi.statemachine.states.WaitCommit.prototype.activate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCommit.prototype.applicationInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCommit.prototype.balance = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCommit.prototype.cancel = function () { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); +}; +timapi.statemachine.states.WaitCommit.prototype.changeSettings = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCommit.prototype.commit = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCommit.prototype.connect = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCommit.prototype.counterRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCommit.prototype.deactivate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCommit.prototype.disconnect = function () { + this.context.actionSendErrorResponseDisconnect(); + this.context.actionClearPendingEvent(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.WaitCommit.prototype.dccRates = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCommit.prototype.hardwareInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCommit.prototype.initTransaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCommit.prototype.login = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCommit.prototype.logout = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCommit.prototype.reboot = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCommit.prototype.reconciliation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCommit.prototype.receiptRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCommit.prototype.reconfig = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCommit.prototype.rollback = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCommit.prototype.softwareUpdate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCommit.prototype.systemInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCommit.prototype.transaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCommit.prototype.connected = function () { +}; +timapi.statemachine.states.WaitCommit.prototype.connectFailed = function () { + this.context.actionClearPendingEvent(); + this.context.setState(new timapi.statemachine.states.ErrorState(this.context)); +}; +timapi.statemachine.states.WaitCommit.prototype.responseRequest = function () { + this.context.actionProcessResponseCommit(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitCommit.prototype.responseError = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitCommit.prototype.responseBusy = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitCommit.prototype.timeout = function () { + if (this.context.conditionCanRepeatRequest()) { + this.context.actionRepeatRequest(); + this.context.setState(new timapi.statemachine.states.WaitCommit(this.context)); + return; + } + this.context.actionErrorTimeout(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitCommit.prototype.keepAliveTimeout = function () { + try { + this.context.actionErrorConnectionLost(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } + catch (e) { + timapi.statemachine.states.WaitCommit.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } +}; +timapi.statemachine.states.WaitCommit.prototype.closeReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCommit.prototype.openReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCommit.prototype.ejectCard = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCommit.prototype.openMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCommit.prototype.closeMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCommit.prototype.activateServiceMenu = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCommit.prototype.balanceInquiry = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCommit.prototype.openDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCommit.prototype.closeDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCommit.prototype.showSignatureCapture = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCommit.prototype.showDialog = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCommit.prototype.sendCardCommand = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCounterRequest = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.WaitCounterRequest.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.WaitCounterRequest.loggerName = "timapi.statemachine.states.WaitCounterRequest"; +timapi.statemachine.states.WaitCounterRequest.classname = "WaitCounterRequest"; +timapi.statemachine.states.WaitCounterRequest.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.WaitCounterRequest.loggerName); +timapi.statemachine.states.WaitCounterRequest.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + this.context.actionClearPendingEvent(); +}; +timapi.statemachine.states.WaitCounterRequest.prototype.activate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCounterRequest.prototype.applicationInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCounterRequest.prototype.balance = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCounterRequest.prototype.cancel = function () { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); +}; +timapi.statemachine.states.WaitCounterRequest.prototype.changeSettings = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCounterRequest.prototype.commit = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCounterRequest.prototype.connect = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCounterRequest.prototype.counterRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCounterRequest.prototype.deactivate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCounterRequest.prototype.disconnect = function () { + this.context.actionSendErrorResponseDisconnect(); + this.context.actionClearPendingEvent(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.WaitCounterRequest.prototype.dccRates = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCounterRequest.prototype.hardwareInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCounterRequest.prototype.initTransaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCounterRequest.prototype.login = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCounterRequest.prototype.logout = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCounterRequest.prototype.reboot = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCounterRequest.prototype.reconciliation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCounterRequest.prototype.receiptRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCounterRequest.prototype.reconfig = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCounterRequest.prototype.rollback = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCounterRequest.prototype.softwareUpdate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCounterRequest.prototype.systemInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCounterRequest.prototype.transaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCounterRequest.prototype.connected = function () { +}; +timapi.statemachine.states.WaitCounterRequest.prototype.connectFailed = function () { + this.context.actionClearPendingEvent(); + this.context.setState(new timapi.statemachine.states.ErrorState(this.context)); +}; +timapi.statemachine.states.WaitCounterRequest.prototype.responseRequest = function () { + this.context.actionProcessResponseCounterRequest(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitCounterRequest.prototype.responseError = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitCounterRequest.prototype.responseBusy = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitCounterRequest.prototype.timeout = function () { + this.context.actionErrorTimeout(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitCounterRequest.prototype.keepAliveTimeout = function () { + try { + this.context.actionErrorConnectionLost(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } + catch (e) { + timapi.statemachine.states.WaitCounterRequest.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } +}; +timapi.statemachine.states.WaitCounterRequest.prototype.closeReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCounterRequest.prototype.openReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCounterRequest.prototype.ejectCard = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCounterRequest.prototype.openMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCounterRequest.prototype.closeMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCounterRequest.prototype.activateServiceMenu = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCounterRequest.prototype.balanceInquiry = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCounterRequest.prototype.openDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCounterRequest.prototype.closeDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCounterRequest.prototype.showSignatureCapture = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCounterRequest.prototype.showDialog = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitCounterRequest.prototype.sendCardCommand = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitDccRates = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.WaitDccRates.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.WaitDccRates.loggerName = "timapi.statemachine.states.WaitDccRates"; +timapi.statemachine.states.WaitDccRates.classname = "WaitDccRates"; +timapi.statemachine.states.WaitDccRates.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.WaitDccRates.loggerName); +timapi.statemachine.states.WaitDccRates.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + this.context.actionClearPendingEvent(); +}; +timapi.statemachine.states.WaitDccRates.prototype.activate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitDccRates.prototype.applicationInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitDccRates.prototype.balance = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitDccRates.prototype.cancel = function () { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); +}; +timapi.statemachine.states.WaitDccRates.prototype.changeSettings = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitDccRates.prototype.commit = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitDccRates.prototype.connect = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitDccRates.prototype.counterRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitDccRates.prototype.deactivate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitDccRates.prototype.disconnect = function () { + this.context.actionSendErrorResponseDisconnect(); + this.context.actionClearPendingEvent(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.WaitDccRates.prototype.dccRates = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitDccRates.prototype.hardwareInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitDccRates.prototype.initTransaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitDccRates.prototype.login = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitDccRates.prototype.logout = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitDccRates.prototype.reboot = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitDccRates.prototype.reconciliation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitDccRates.prototype.receiptRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitDccRates.prototype.reconfig = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitDccRates.prototype.rollback = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitDccRates.prototype.softwareUpdate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitDccRates.prototype.systemInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitDccRates.prototype.transaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitDccRates.prototype.connected = function () { +}; +timapi.statemachine.states.WaitDccRates.prototype.connectFailed = function () { + this.context.actionClearPendingEvent(); + this.context.setState(new timapi.statemachine.states.ErrorState(this.context)); +}; +timapi.statemachine.states.WaitDccRates.prototype.responseRequest = function () { + this.context.actionProcessResponseDccRates(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitDccRates.prototype.responseError = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitDccRates.prototype.responseBusy = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitDccRates.prototype.timeout = function () { + this.context.actionErrorTimeout(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitDccRates.prototype.keepAliveTimeout = function () { + try { + this.context.actionErrorConnectionLost(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } + catch (e) { + timapi.statemachine.states.WaitDccRates.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } +}; +timapi.statemachine.states.WaitDccRates.prototype.closeReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitDccRates.prototype.openReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitDccRates.prototype.ejectCard = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitDccRates.prototype.openMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitDccRates.prototype.closeMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitDccRates.prototype.activateServiceMenu = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitDccRates.prototype.balanceInquiry = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitDccRates.prototype.openDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitDccRates.prototype.closeDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitDccRates.prototype.showSignatureCapture = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitDccRates.prototype.showDialog = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitDccRates.prototype.sendCardCommand = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitEjectCard = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.WaitEjectCard.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.WaitEjectCard.loggerName = "timapi.statemachine.states.WaitEjectCard"; +timapi.statemachine.states.WaitEjectCard.classname = "WaitEjectCard"; +timapi.statemachine.states.WaitEjectCard.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.WaitEjectCard.loggerName); +timapi.statemachine.states.WaitEjectCard.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + this.context.actionClearPendingEvent(); +}; +timapi.statemachine.states.WaitEjectCard.prototype.activate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitEjectCard.prototype.applicationInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitEjectCard.prototype.balance = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitEjectCard.prototype.cancel = function () { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); +}; +timapi.statemachine.states.WaitEjectCard.prototype.changeSettings = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitEjectCard.prototype.commit = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitEjectCard.prototype.connect = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitEjectCard.prototype.counterRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitEjectCard.prototype.deactivate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitEjectCard.prototype.disconnect = function () { + this.context.actionSendErrorResponseDisconnect(); + this.context.actionClearPendingEvent(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.WaitEjectCard.prototype.dccRates = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitEjectCard.prototype.hardwareInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitEjectCard.prototype.initTransaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitEjectCard.prototype.login = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitEjectCard.prototype.logout = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitEjectCard.prototype.reboot = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitEjectCard.prototype.reconciliation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitEjectCard.prototype.receiptRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitEjectCard.prototype.reconfig = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitEjectCard.prototype.rollback = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitEjectCard.prototype.softwareUpdate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitEjectCard.prototype.systemInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitEjectCard.prototype.transaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitEjectCard.prototype.connected = function () { +}; +timapi.statemachine.states.WaitEjectCard.prototype.connectFailed = function () { + this.context.actionClearPendingEvent(); + this.context.setState(new timapi.statemachine.states.ErrorState(this.context)); +}; +timapi.statemachine.states.WaitEjectCard.prototype.responseRequest = function () { + this.context.actionProcessResponseEjectCard(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitEjectCard.prototype.responseError = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitEjectCard.prototype.responseBusy = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitEjectCard.prototype.timeout = function () { + this.context.actionErrorTimeout(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitEjectCard.prototype.keepAliveTimeout = function () { + try { + this.context.actionErrorConnectionLost(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } + catch (e) { + timapi.statemachine.states.WaitEjectCard.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } +}; +timapi.statemachine.states.WaitEjectCard.prototype.closeReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitEjectCard.prototype.openReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitEjectCard.prototype.ejectCard = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitEjectCard.prototype.openMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitEjectCard.prototype.closeMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitEjectCard.prototype.activateServiceMenu = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitEjectCard.prototype.balanceInquiry = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitEjectCard.prototype.openDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitEjectCard.prototype.closeDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitEjectCard.prototype.showSignatureCapture = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitEjectCard.prototype.showDialog = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitEjectCard.prototype.sendCardCommand = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitForCommit = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.WaitForCommit.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.WaitForCommit.loggerName = "timapi.statemachine.states.WaitForCommit"; +timapi.statemachine.states.WaitForCommit.classname = "WaitForCommit"; +timapi.statemachine.states.WaitForCommit.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.WaitForCommit.loggerName); +timapi.statemachine.states.WaitForCommit.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + this.context.actionCancelTimeout(); + if (this.context.conditionIsEnabledAutoCommit() + && !this.context.conditionMandatoryFeatureAutoCommit() + && !this.context.conditionSupportedFeatureAutoCommit()) { + this.context.actionCommit(); + this.context.setState(new timapi.statemachine.states.WaitCommit(this.context)); + return; + } + if (this.context.conditionIsEnabledAutoCommit()) { + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); + return; + } +}; +timapi.statemachine.states.WaitForCommit.prototype.activate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitForCommit.prototype.applicationInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitForCommit.prototype.balance = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitForCommit.prototype.cancel = function () { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); +}; +timapi.statemachine.states.WaitForCommit.prototype.changeSettings = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitForCommit.prototype.commit = function () { + if (this.context.conditionMandatoryFeatureAutoCommit()) { + this.context.actionSimulateCommitCompleted(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); + return; + } + this.context.actionCommit(); + this.context.setState(new timapi.statemachine.states.WaitCommit(this.context)); +}; +timapi.statemachine.states.WaitForCommit.prototype.connect = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitForCommit.prototype.counterRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitForCommit.prototype.deactivate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitForCommit.prototype.disconnect = function () { + this.context.actionSendErrorResponseDisconnect(); + this.context.actionClearPendingEvent(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.WaitForCommit.prototype.dccRates = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitForCommit.prototype.hardwareInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitForCommit.prototype.initTransaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitForCommit.prototype.login = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitForCommit.prototype.logout = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitForCommit.prototype.reboot = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitForCommit.prototype.reconciliation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitForCommit.prototype.receiptRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitForCommit.prototype.reconfig = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitForCommit.prototype.rollback = function () { + this.context.actionRollback(); + this.context.setState(new timapi.statemachine.states.WaitRollback(this.context)); +}; +timapi.statemachine.states.WaitForCommit.prototype.softwareUpdate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitForCommit.prototype.systemInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitForCommit.prototype.transaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitForCommit.prototype.connected = function () { +}; +timapi.statemachine.states.WaitForCommit.prototype.connectFailed = function () { + this.context.actionClearPendingEvent(); + this.context.setState(new timapi.statemachine.states.ErrorState(this.context)); +}; +timapi.statemachine.states.WaitForCommit.prototype.responseError = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitForCommit.prototype.responseBusy = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitForCommit.prototype.timeout = function () { + this.context.actionErrorTimeout(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitForCommit.prototype.keepAliveTimeout = function () { + try { + this.context.actionErrorConnectionLost(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } + catch (e) { + timapi.statemachine.states.WaitForCommit.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } +}; +timapi.statemachine.states.WaitForCommit.prototype.closeReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitForCommit.prototype.openReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitForCommit.prototype.ejectCard = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitForCommit.prototype.openMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitForCommit.prototype.closeMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitForCommit.prototype.holdCommit = function () { + if (!this.context.conditionHasGuideUnattended()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionHoldCommit(); +}; +timapi.statemachine.states.WaitForCommit.prototype.activateServiceMenu = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitForCommit.prototype.balanceInquiry = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitForCommit.prototype.openDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitForCommit.prototype.closeDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitForCommit.prototype.showSignatureCapture = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitForCommit.prototype.showDialog = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitForCommit.prototype.sendCardCommand = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitHardwareInformation = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.WaitHardwareInformation.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.WaitHardwareInformation.loggerName = "timapi.statemachine.states.WaitHardwareInformation"; +timapi.statemachine.states.WaitHardwareInformation.classname = "WaitHardwareInformation"; +timapi.statemachine.states.WaitHardwareInformation.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.WaitHardwareInformation.loggerName); +timapi.statemachine.states.WaitHardwareInformation.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + this.context.actionClearPendingEvent(); +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.activate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.applicationInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.balance = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.cancel = function () { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.changeSettings = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.commit = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.connect = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.counterRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.deactivate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.disconnect = function () { + this.context.actionSendErrorResponseDisconnect(); + this.context.actionClearPendingEvent(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.dccRates = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.hardwareInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.initTransaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.login = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.logout = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.reboot = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.reconciliation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.receiptRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.reconfig = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.rollback = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.softwareUpdate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.systemInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.transaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.connected = function () { +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.connectFailed = function () { + this.context.actionClearPendingEvent(); + this.context.setState(new timapi.statemachine.states.ErrorState(this.context)); +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.responseRequest = function () { + this.context.actionProcessResponseHardwareInformation(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.responseError = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.responseBusy = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.timeout = function () { + this.context.actionErrorTimeout(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.keepAliveTimeout = function () { + try { + this.context.actionErrorConnectionLost(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } + catch (e) { + timapi.statemachine.states.WaitHardwareInformation.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.closeReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.openReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.ejectCard = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.openMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.closeMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.activateServiceMenu = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.balanceInquiry = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.openDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.closeDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.showSignatureCapture = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.showDialog = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitHardwareInformation.prototype.sendCardCommand = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitInitTransaction = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.WaitInitTransaction.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.WaitInitTransaction.loggerName = "timapi.statemachine.states.WaitInitTransaction"; +timapi.statemachine.states.WaitInitTransaction.classname = "WaitInitTransaction"; +timapi.statemachine.states.WaitInitTransaction.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.WaitInitTransaction.loggerName); +timapi.statemachine.states.WaitInitTransaction.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + this.context.actionClearPendingEvent(); +}; +timapi.statemachine.states.WaitInitTransaction.prototype.activate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitInitTransaction.prototype.applicationInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitInitTransaction.prototype.balance = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitInitTransaction.prototype.cancel = function () { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); +}; +timapi.statemachine.states.WaitInitTransaction.prototype.changeSettings = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitInitTransaction.prototype.commit = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitInitTransaction.prototype.connect = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitInitTransaction.prototype.counterRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitInitTransaction.prototype.deactivate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitInitTransaction.prototype.disconnect = function () { + this.context.actionSendErrorResponseDisconnect(); + this.context.actionClearPendingEvent(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.WaitInitTransaction.prototype.dccRates = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitInitTransaction.prototype.hardwareInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitInitTransaction.prototype.initTransaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitInitTransaction.prototype.login = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitInitTransaction.prototype.logout = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitInitTransaction.prototype.reboot = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitInitTransaction.prototype.reconciliation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitInitTransaction.prototype.receiptRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitInitTransaction.prototype.reconfig = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitInitTransaction.prototype.rollback = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitInitTransaction.prototype.softwareUpdate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitInitTransaction.prototype.systemInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitInitTransaction.prototype.transaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitInitTransaction.prototype.connected = function () { +}; +timapi.statemachine.states.WaitInitTransaction.prototype.connectFailed = function () { + this.context.actionClearPendingEvent(); + this.context.setState(new timapi.statemachine.states.ErrorState(this.context)); +}; +timapi.statemachine.states.WaitInitTransaction.prototype.responseRequest = function () { + this.context.actionProcessResponseInitTransaction(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitInitTransaction.prototype.responseError = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitInitTransaction.prototype.responseBusy = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitInitTransaction.prototype.timeout = function () { + this.context.actionErrorTimeout(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitInitTransaction.prototype.keepAliveTimeout = function () { + try { + this.context.actionErrorConnectionLost(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } + catch (e) { + timapi.statemachine.states.WaitInitTransaction.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } +}; +timapi.statemachine.states.WaitInitTransaction.prototype.closeReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitInitTransaction.prototype.openReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitInitTransaction.prototype.ejectCard = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitInitTransaction.prototype.openMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitInitTransaction.prototype.closeMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitInitTransaction.prototype.activateServiceMenu = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitInitTransaction.prototype.balanceInquiry = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitInitTransaction.prototype.openDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitInitTransaction.prototype.closeDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitInitTransaction.prototype.showSignatureCapture = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitInitTransaction.prototype.showDialog = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitInitTransaction.prototype.sendCardCommand = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenDialogMode = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.WaitOpenDialogMode.loggerName = "timapi.statemachine.states.WaitOpenDialogMode"; +timapi.statemachine.states.WaitOpenDialogMode.classname = "WaitOpenDialogMode"; +timapi.statemachine.states.WaitOpenDialogMode.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.WaitOpenDialogMode.loggerName); +timapi.statemachine.states.WaitOpenDialogMode.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.activate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.applicationInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.balance = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.cancel = function () { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.changeSettings = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.commit = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.connect = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.counterRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.deactivate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.disconnect = function () { + this.context.actionSendErrorResponseDisconnect(); + this.context.actionClearPendingEvent(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.dccRates = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.hardwareInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.initTransaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.login = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.logout = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.reboot = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.reconciliation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.receiptRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.reconfig = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.rollback = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.softwareUpdate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.systemInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.transaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.connected = function () { +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.connectFailed = function () { + this.context.actionClearPendingEvent(); + this.context.setState(new timapi.statemachine.states.ErrorState(this.context)); +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.responseRequest = function () { + this.context.actionProcessResponseOpenDialogMode(); + this.context.setState(new timapi.statemachine.states.DialogMode(this.context)); +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.responseError = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.Open(this.context)); +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.responseBusy = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.Open(this.context)); +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.timeout = function () { + this.context.actionErrorTimeout(); + this.context.setState(new timapi.statemachine.states.Open(this.context)); +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.keepAliveTimeout = function () { + try { + this.context.actionErrorConnectionLost(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } + catch (e) { + timapi.statemachine.states.WaitOpenDialogMode.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.closeReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.openReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.ejectCard = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.openMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.closeMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.activateServiceMenu = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.balanceInquiry = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.openDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.closeDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.showSignatureCapture = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.showDialog = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenDialogMode.prototype.sendCardCommand = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.WaitOpenMaintenanceWindow.loggerName = "timapi.statemachine.states.WaitOpenMaintenanceWindow"; +timapi.statemachine.states.WaitOpenMaintenanceWindow.classname = "WaitOpenMaintenanceWindow"; +timapi.statemachine.states.WaitOpenMaintenanceWindow.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.WaitOpenMaintenanceWindow.loggerName); +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + this.context.actionClearPendingEvent(); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.activate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.applicationInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.balance = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.cancel = function () { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.changeSettings = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.commit = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.connect = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.counterRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.deactivate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.disconnect = function () { + this.context.actionSendErrorResponseDisconnect(); + this.context.actionClearPendingEvent(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.dccRates = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.hardwareInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.initTransaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.login = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.logout = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.reboot = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.reconciliation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.receiptRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.reconfig = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.rollback = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.softwareUpdate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.systemInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.transaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.connected = function () { +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.connectFailed = function () { + this.context.actionClearPendingEvent(); + this.context.setState(new timapi.statemachine.states.ErrorState(this.context)); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.responseRequest = function () { + this.context.actionProcessResponseOpenMaintenanceWindow(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.responseError = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.responseBusy = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.timeout = function () { + this.context.actionErrorTimeout(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.keepAliveTimeout = function () { + try { + this.context.actionErrorConnectionLost(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } + catch (e) { + timapi.statemachine.states.WaitOpenMaintenanceWindow.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.closeReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.openReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.ejectCard = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.openMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.closeMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.activateServiceMenu = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.balanceInquiry = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.openDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.closeDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.showSignatureCapture = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.showDialog = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenMaintenanceWindow.prototype.sendCardCommand = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenReader = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.WaitOpenReader.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.WaitOpenReader.loggerName = "timapi.statemachine.states.WaitOpenReader"; +timapi.statemachine.states.WaitOpenReader.classname = "WaitOpenReader"; +timapi.statemachine.states.WaitOpenReader.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.WaitOpenReader.loggerName); +timapi.statemachine.states.WaitOpenReader.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + this.context.actionClearPendingEvent(); +}; +timapi.statemachine.states.WaitOpenReader.prototype.activate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenReader.prototype.applicationInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenReader.prototype.balance = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenReader.prototype.cancel = function () { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); +}; +timapi.statemachine.states.WaitOpenReader.prototype.changeSettings = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenReader.prototype.commit = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenReader.prototype.connect = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenReader.prototype.counterRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenReader.prototype.deactivate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenReader.prototype.disconnect = function () { + this.context.actionSendErrorResponseDisconnect(); + this.context.actionClearPendingEvent(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.WaitOpenReader.prototype.dccRates = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenReader.prototype.hardwareInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenReader.prototype.initTransaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenReader.prototype.login = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenReader.prototype.logout = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenReader.prototype.reboot = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenReader.prototype.reconciliation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenReader.prototype.receiptRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenReader.prototype.reconfig = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenReader.prototype.rollback = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenReader.prototype.softwareUpdate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenReader.prototype.systemInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenReader.prototype.transaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenReader.prototype.connected = function () { +}; +timapi.statemachine.states.WaitOpenReader.prototype.connectFailed = function () { + this.context.actionClearPendingEvent(); + this.context.setState(new timapi.statemachine.states.ErrorState(this.context)); +}; +timapi.statemachine.states.WaitOpenReader.prototype.responseRequest = function () { + this.context.actionProcessResponseOpenReader(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitOpenReader.prototype.responseError = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitOpenReader.prototype.responseBusy = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitOpenReader.prototype.timeout = function () { + this.context.actionErrorTimeout(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitOpenReader.prototype.keepAliveTimeout = function () { + try { + this.context.actionErrorConnectionLost(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } + catch (e) { + timapi.statemachine.states.WaitOpenReader.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } +}; +timapi.statemachine.states.WaitOpenReader.prototype.closeReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenReader.prototype.openReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenReader.prototype.ejectCard = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenReader.prototype.openMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenReader.prototype.closeMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenReader.prototype.activateServiceMenu = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenReader.prototype.balanceInquiry = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenReader.prototype.openDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenReader.prototype.closeDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenReader.prototype.showSignatureCapture = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenReader.prototype.showDialog = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitOpenReader.prototype.sendCardCommand = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReboot = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.WaitReboot.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.WaitReboot.loggerName = "timapi.statemachine.states.WaitReboot"; +timapi.statemachine.states.WaitReboot.classname = "WaitReboot"; +timapi.statemachine.states.WaitReboot.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.WaitReboot.loggerName); +timapi.statemachine.states.WaitReboot.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + this.context.actionClearPendingEvent(); +}; +timapi.statemachine.states.WaitReboot.prototype.activate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReboot.prototype.applicationInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReboot.prototype.balance = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReboot.prototype.cancel = function () { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); +}; +timapi.statemachine.states.WaitReboot.prototype.changeSettings = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReboot.prototype.commit = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReboot.prototype.connect = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReboot.prototype.counterRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReboot.prototype.deactivate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReboot.prototype.disconnect = function () { + this.context.actionSendErrorResponseDisconnect(); + this.context.actionClearPendingEvent(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.WaitReboot.prototype.dccRates = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReboot.prototype.hardwareInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReboot.prototype.initTransaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReboot.prototype.login = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReboot.prototype.logout = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReboot.prototype.reboot = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReboot.prototype.reconciliation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReboot.prototype.receiptRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReboot.prototype.reconfig = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReboot.prototype.rollback = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReboot.prototype.softwareUpdate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReboot.prototype.systemInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReboot.prototype.transaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReboot.prototype.connected = function () { +}; +timapi.statemachine.states.WaitReboot.prototype.connectFailed = function () { + this.context.actionClearPendingEvent(); + this.context.setState(new timapi.statemachine.states.ErrorState(this.context)); +}; +timapi.statemachine.states.WaitReboot.prototype.responseRequest = function () { + this.context.actionProcessResponseReboot(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.WaitReboot.prototype.responseError = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitReboot.prototype.responseBusy = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitReboot.prototype.timeout = function () { + this.context.actionErrorTimeout(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitReboot.prototype.keepAliveTimeout = function () { + try { + this.context.actionErrorConnectionLost(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } + catch (e) { + timapi.statemachine.states.WaitReboot.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } +}; +timapi.statemachine.states.WaitReboot.prototype.closeReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReboot.prototype.openReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReboot.prototype.ejectCard = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReboot.prototype.openMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReboot.prototype.closeMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReboot.prototype.activateServiceMenu = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReboot.prototype.balanceInquiry = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReboot.prototype.openDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReboot.prototype.closeDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReboot.prototype.showSignatureCapture = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReboot.prototype.showDialog = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReboot.prototype.sendCardCommand = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconciliation = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.WaitReconciliation.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.WaitReconciliation.loggerName = "timapi.statemachine.states.WaitReconciliation"; +timapi.statemachine.states.WaitReconciliation.classname = "WaitReconciliation"; +timapi.statemachine.states.WaitReconciliation.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.WaitReconciliation.loggerName); +timapi.statemachine.states.WaitReconciliation.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + this.context.actionClearPendingEvent(); +}; +timapi.statemachine.states.WaitReconciliation.prototype.activate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconciliation.prototype.applicationInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconciliation.prototype.balance = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconciliation.prototype.cancel = function () { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); +}; +timapi.statemachine.states.WaitReconciliation.prototype.changeSettings = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconciliation.prototype.commit = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconciliation.prototype.connect = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconciliation.prototype.counterRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconciliation.prototype.deactivate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconciliation.prototype.disconnect = function () { + this.context.actionSendErrorResponseDisconnect(); + this.context.actionClearPendingEvent(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.WaitReconciliation.prototype.dccRates = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconciliation.prototype.hardwareInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconciliation.prototype.initTransaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconciliation.prototype.login = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconciliation.prototype.logout = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconciliation.prototype.reboot = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconciliation.prototype.reconciliation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconciliation.prototype.receiptRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconciliation.prototype.reconfig = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconciliation.prototype.rollback = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconciliation.prototype.softwareUpdate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconciliation.prototype.systemInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconciliation.prototype.transaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconciliation.prototype.connected = function () { +}; +timapi.statemachine.states.WaitReconciliation.prototype.connectFailed = function () { + this.context.actionClearPendingEvent(); + this.context.setState(new timapi.statemachine.states.ErrorState(this.context)); +}; +timapi.statemachine.states.WaitReconciliation.prototype.responseRequest = function () { + this.context.actionProcessResponseReconciliation(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitReconciliation.prototype.responseError = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitReconciliation.prototype.responseBusy = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitReconciliation.prototype.timeout = function () { + this.context.actionErrorTimeout(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitReconciliation.prototype.keepAliveTimeout = function () { + try { + this.context.actionErrorConnectionLost(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } + catch (e) { + timapi.statemachine.states.WaitReconciliation.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } +}; +timapi.statemachine.states.WaitReconciliation.prototype.closeReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconciliation.prototype.openReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconciliation.prototype.ejectCard = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconciliation.prototype.openMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconciliation.prototype.closeMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconciliation.prototype.activateServiceMenu = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconciliation.prototype.balanceInquiry = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconciliation.prototype.openDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconciliation.prototype.closeDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconciliation.prototype.showSignatureCapture = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconciliation.prototype.showDialog = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconciliation.prototype.sendCardCommand = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconfig = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.WaitReconfig.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.WaitReconfig.loggerName = "timapi.statemachine.states.WaitReconfig"; +timapi.statemachine.states.WaitReconfig.classname = "WaitReconfig"; +timapi.statemachine.states.WaitReconfig.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.WaitReconfig.loggerName); +timapi.statemachine.states.WaitReconfig.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + this.context.actionClearPendingEvent(); +}; +timapi.statemachine.states.WaitReconfig.prototype.activate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconfig.prototype.applicationInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconfig.prototype.balance = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconfig.prototype.cancel = function () { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); +}; +timapi.statemachine.states.WaitReconfig.prototype.changeSettings = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconfig.prototype.commit = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconfig.prototype.connect = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconfig.prototype.counterRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconfig.prototype.deactivate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconfig.prototype.disconnect = function () { + this.context.actionSendErrorResponseDisconnect(); + this.context.actionClearPendingEvent(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.WaitReconfig.prototype.dccRates = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconfig.prototype.hardwareInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconfig.prototype.initTransaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconfig.prototype.login = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconfig.prototype.logout = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconfig.prototype.reboot = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconfig.prototype.reconciliation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconfig.prototype.receiptRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconfig.prototype.reconfig = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconfig.prototype.rollback = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconfig.prototype.softwareUpdate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconfig.prototype.systemInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconfig.prototype.transaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconfig.prototype.connected = function () { +}; +timapi.statemachine.states.WaitReconfig.prototype.connectFailed = function () { + this.context.actionClearPendingEvent(); + this.context.setState(new timapi.statemachine.states.ErrorState(this.context)); +}; +timapi.statemachine.states.WaitReconfig.prototype.responseRequest = function () { + this.context.actionProcessResponseReconfig(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitReconfig.prototype.responseError = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitReconfig.prototype.responseBusy = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitReconfig.prototype.timeout = function () { + this.context.actionErrorTimeout(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitReconfig.prototype.keepAliveTimeout = function () { + try { + this.context.actionErrorConnectionLost(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } + catch (e) { + timapi.statemachine.states.WaitReconfig.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } +}; +timapi.statemachine.states.WaitReconfig.prototype.closeReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconfig.prototype.openReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconfig.prototype.ejectCard = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconfig.prototype.openMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconfig.prototype.closeMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconfig.prototype.activateServiceMenu = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconfig.prototype.balanceInquiry = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconfig.prototype.openDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconfig.prototype.closeDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconfig.prototype.showSignatureCapture = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconfig.prototype.showDialog = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReconfig.prototype.sendCardCommand = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitRollback = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.WaitRollback.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.WaitRollback.loggerName = "timapi.statemachine.states.WaitRollback"; +timapi.statemachine.states.WaitRollback.classname = "WaitRollback"; +timapi.statemachine.states.WaitRollback.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.WaitRollback.loggerName); +timapi.statemachine.states.WaitRollback.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + this.context.actionClearPendingEvent(); +}; +timapi.statemachine.states.WaitRollback.prototype.activate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitRollback.prototype.applicationInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitRollback.prototype.balance = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitRollback.prototype.cancel = function () { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); +}; +timapi.statemachine.states.WaitRollback.prototype.changeSettings = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitRollback.prototype.commit = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitRollback.prototype.connect = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitRollback.prototype.counterRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitRollback.prototype.deactivate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitRollback.prototype.disconnect = function () { + this.context.actionSendErrorResponseDisconnect(); + this.context.actionClearPendingEvent(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.WaitRollback.prototype.dccRates = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitRollback.prototype.hardwareInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitRollback.prototype.initTransaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitRollback.prototype.login = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitRollback.prototype.logout = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitRollback.prototype.reboot = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitRollback.prototype.reconciliation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitRollback.prototype.receiptRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitRollback.prototype.reconfig = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitRollback.prototype.rollback = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitRollback.prototype.softwareUpdate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitRollback.prototype.systemInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitRollback.prototype.transaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitRollback.prototype.connected = function () { +}; +timapi.statemachine.states.WaitRollback.prototype.connectFailed = function () { + this.context.actionClearPendingEvent(); + this.context.setState(new timapi.statemachine.states.ErrorState(this.context)); +}; +timapi.statemachine.states.WaitRollback.prototype.responseRequest = function () { + this.context.actionProcessResponseRollback(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitRollback.prototype.responseError = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitRollback.prototype.responseBusy = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitRollback.prototype.timeout = function () { + if (this.context.conditionCanRepeatRequest()) { + this.context.actionRepeatRequest(); + this.context.setState(new timapi.statemachine.states.WaitRollback(this.context)); + return; + } + this.context.actionErrorTimeout(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitRollback.prototype.keepAliveTimeout = function () { + try { + this.context.actionErrorConnectionLost(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } + catch (e) { + timapi.statemachine.states.WaitRollback.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } +}; +timapi.statemachine.states.WaitRollback.prototype.closeReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitRollback.prototype.openReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitRollback.prototype.ejectCard = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitRollback.prototype.openMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitRollback.prototype.closeMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitRollback.prototype.activateServiceMenu = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitRollback.prototype.balanceInquiry = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitRollback.prototype.openDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitRollback.prototype.closeDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitRollback.prototype.showSignatureCapture = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitRollback.prototype.showDialog = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitRollback.prototype.sendCardCommand = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowDialog = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.WaitShowDialog.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.WaitShowDialog.loggerName = "timapi.statemachine.states.WaitShowDialog"; +timapi.statemachine.states.WaitShowDialog.classname = "WaitShowDialog"; +timapi.statemachine.states.WaitShowDialog.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.WaitShowDialog.loggerName); +timapi.statemachine.states.WaitShowDialog.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + this.context.actionClearPendingEvent(); +}; +timapi.statemachine.states.WaitShowDialog.prototype.activate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowDialog.prototype.applicationInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowDialog.prototype.balance = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowDialog.prototype.cancel = function () { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); +}; +timapi.statemachine.states.WaitShowDialog.prototype.changeSettings = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowDialog.prototype.commit = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowDialog.prototype.connect = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowDialog.prototype.counterRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowDialog.prototype.deactivate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowDialog.prototype.disconnect = function () { + this.context.actionSendErrorResponseDisconnect(); + this.context.actionClearPendingEvent(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.WaitShowDialog.prototype.dccRates = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowDialog.prototype.hardwareInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowDialog.prototype.initTransaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowDialog.prototype.login = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowDialog.prototype.logout = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowDialog.prototype.reboot = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowDialog.prototype.reconciliation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowDialog.prototype.receiptRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowDialog.prototype.reconfig = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowDialog.prototype.rollback = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowDialog.prototype.softwareUpdate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowDialog.prototype.systemInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowDialog.prototype.transaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowDialog.prototype.connected = function () { +}; +timapi.statemachine.states.WaitShowDialog.prototype.connectFailed = function () { + this.context.actionClearPendingEvent(); + this.context.setState(new timapi.statemachine.states.ErrorState(this.context)); +}; +timapi.statemachine.states.WaitShowDialog.prototype.responseRequest = function () { + this.context.actionProcessResponseShowDialog(); + this.context.setState(new timapi.statemachine.states.DialogMode(this.context)); +}; +timapi.statemachine.states.WaitShowDialog.prototype.responseError = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.DialogMode(this.context)); +}; +timapi.statemachine.states.WaitShowDialog.prototype.responseBusy = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.DialogMode(this.context)); +}; +timapi.statemachine.states.WaitShowDialog.prototype.timeout = function () { + this.context.actionErrorTimeout(); + this.context.setState(new timapi.statemachine.states.DialogMode(this.context)); +}; +timapi.statemachine.states.WaitShowDialog.prototype.keepAliveTimeout = function () { + try { + this.context.actionErrorConnectionLost(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } + catch (e) { + timapi.statemachine.states.WaitShowDialog.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } +}; +timapi.statemachine.states.WaitShowDialog.prototype.closeReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowDialog.prototype.openReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowDialog.prototype.ejectCard = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowDialog.prototype.openMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowDialog.prototype.closeMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowDialog.prototype.activateServiceMenu = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowDialog.prototype.balanceInquiry = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowDialog.prototype.openDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowDialog.prototype.closeDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowDialog.prototype.showSignatureCapture = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowDialog.prototype.showDialog = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowDialog.prototype.sendCardCommand = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowSignatureCapture = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.WaitShowSignatureCapture.loggerName = "timapi.statemachine.states.WaitShowSignatureCapture"; +timapi.statemachine.states.WaitShowSignatureCapture.classname = "WaitShowSignatureCapture"; +timapi.statemachine.states.WaitShowSignatureCapture.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.WaitShowSignatureCapture.loggerName); +timapi.statemachine.states.WaitShowSignatureCapture.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + this.context.actionClearPendingEvent(); +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.activate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.applicationInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.balance = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.cancel = function () { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.changeSettings = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.commit = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.connect = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.counterRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.deactivate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.disconnect = function () { + this.context.actionSendErrorResponseDisconnect(); + this.context.actionClearPendingEvent(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.dccRates = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.hardwareInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.initTransaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.login = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.logout = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.reboot = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.reconciliation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.receiptRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.reconfig = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.rollback = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.softwareUpdate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.systemInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.transaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.connected = function () { +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.connectFailed = function () { + this.context.actionClearPendingEvent(); + this.context.setState(new timapi.statemachine.states.ErrorState(this.context)); +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.responseRequest = function () { + this.context.actionProcessResponseShowSignatureCapture(); + this.context.setState(new timapi.statemachine.states.DialogMode(this.context)); +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.responseError = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.DialogMode(this.context)); +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.responseBusy = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.DialogMode(this.context)); +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.timeout = function () { + this.context.actionErrorTimeout(); + this.context.setState(new timapi.statemachine.states.DialogMode(this.context)); +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.keepAliveTimeout = function () { + try { + this.context.actionErrorConnectionLost(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } + catch (e) { + timapi.statemachine.states.WaitShowSignatureCapture.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.closeReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.openReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.ejectCard = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.openMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.closeMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.activateServiceMenu = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.balanceInquiry = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.openDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.closeDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.showSignatureCapture = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.showDialog = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitShowSignatureCapture.prototype.sendCardCommand = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSoftwareUpdate = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.WaitSoftwareUpdate.loggerName = "timapi.statemachine.states.WaitSoftwareUpdate"; +timapi.statemachine.states.WaitSoftwareUpdate.classname = "WaitSoftwareUpdate"; +timapi.statemachine.states.WaitSoftwareUpdate.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.WaitSoftwareUpdate.loggerName); +timapi.statemachine.states.WaitSoftwareUpdate.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + this.context.actionClearPendingEvent(); +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.activate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.applicationInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.balance = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.cancel = function () { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.changeSettings = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.commit = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.connect = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.counterRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.deactivate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.disconnect = function () { + this.context.actionSendErrorResponseDisconnect(); + this.context.actionClearPendingEvent(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.dccRates = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.hardwareInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.initTransaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.login = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.logout = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.reboot = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.reconciliation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.receiptRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.reconfig = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.rollback = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.softwareUpdate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.systemInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.transaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.connected = function () { +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.connectFailed = function () { + this.context.actionClearPendingEvent(); + this.context.setState(new timapi.statemachine.states.ErrorState(this.context)); +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.responseRequest = function () { + this.context.actionProcessResponseSoftwareUpdate(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.responseError = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.responseBusy = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.timeout = function () { + this.context.actionErrorTimeout(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.keepAliveTimeout = function () { + try { + this.context.actionErrorConnectionLost(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } + catch (e) { + timapi.statemachine.states.WaitSoftwareUpdate.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.closeReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.openReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.ejectCard = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.openMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.closeMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.activateServiceMenu = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.balanceInquiry = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.openDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.closeDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.showSignatureCapture = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.showDialog = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSoftwareUpdate.prototype.sendCardCommand = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSystemInformation = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.WaitSystemInformation.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.WaitSystemInformation.loggerName = "timapi.statemachine.states.WaitSystemInformation"; +timapi.statemachine.states.WaitSystemInformation.classname = "WaitSystemInformation"; +timapi.statemachine.states.WaitSystemInformation.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.WaitSystemInformation.loggerName); +timapi.statemachine.states.WaitSystemInformation.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + this.context.actionClearPendingEvent(); +}; +timapi.statemachine.states.WaitSystemInformation.prototype.activate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSystemInformation.prototype.applicationInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSystemInformation.prototype.balance = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSystemInformation.prototype.cancel = function () { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); +}; +timapi.statemachine.states.WaitSystemInformation.prototype.changeSettings = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSystemInformation.prototype.commit = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSystemInformation.prototype.connect = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSystemInformation.prototype.counterRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSystemInformation.prototype.deactivate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSystemInformation.prototype.disconnect = function () { + this.context.actionSendErrorResponseDisconnect(); + this.context.actionClearPendingEvent(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.WaitSystemInformation.prototype.dccRates = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSystemInformation.prototype.hardwareInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSystemInformation.prototype.initTransaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSystemInformation.prototype.login = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSystemInformation.prototype.logout = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSystemInformation.prototype.reboot = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSystemInformation.prototype.reconciliation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSystemInformation.prototype.receiptRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSystemInformation.prototype.reconfig = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSystemInformation.prototype.rollback = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSystemInformation.prototype.softwareUpdate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSystemInformation.prototype.systemInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSystemInformation.prototype.transaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSystemInformation.prototype.connected = function () { +}; +timapi.statemachine.states.WaitSystemInformation.prototype.connectFailed = function () { + this.context.actionClearPendingEvent(); + this.context.setState(new timapi.statemachine.states.ErrorState(this.context)); +}; +timapi.statemachine.states.WaitSystemInformation.prototype.responseRequest = function () { + this.context.actionProcessResponseSystemInformation(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitSystemInformation.prototype.responseError = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitSystemInformation.prototype.responseBusy = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitSystemInformation.prototype.timeout = function () { + this.context.actionErrorTimeout(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitSystemInformation.prototype.keepAliveTimeout = function () { + try { + this.context.actionErrorConnectionLost(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } + catch (e) { + timapi.statemachine.states.WaitSystemInformation.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } +}; +timapi.statemachine.states.WaitSystemInformation.prototype.closeReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSystemInformation.prototype.openReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSystemInformation.prototype.ejectCard = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSystemInformation.prototype.openMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSystemInformation.prototype.closeMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSystemInformation.prototype.activateServiceMenu = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSystemInformation.prototype.balanceInquiry = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSystemInformation.prototype.openDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSystemInformation.prototype.closeDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSystemInformation.prototype.showSignatureCapture = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSystemInformation.prototype.showDialog = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSystemInformation.prototype.sendCardCommand = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitTransaction = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.WaitTransaction.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.WaitTransaction.loggerName = "timapi.statemachine.states.WaitTransaction"; +timapi.statemachine.states.WaitTransaction.classname = "WaitTransaction"; +timapi.statemachine.states.WaitTransaction.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.WaitTransaction.loggerName); +timapi.statemachine.states.WaitTransaction.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + this.context.actionClearPendingEvent(); + this.context.actionArmTimeoutLongRequest(); +}; +timapi.statemachine.states.WaitTransaction.prototype.activate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitTransaction.prototype.applicationInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitTransaction.prototype.balance = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitTransaction.prototype.cancel = function () { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); +}; +timapi.statemachine.states.WaitTransaction.prototype.changeSettings = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitTransaction.prototype.commit = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitTransaction.prototype.connect = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitTransaction.prototype.counterRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitTransaction.prototype.deactivate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitTransaction.prototype.disconnect = function () { + this.context.actionSendErrorResponseDisconnect(); + this.context.actionClearPendingEvent(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.WaitTransaction.prototype.dccRates = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitTransaction.prototype.hardwareInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitTransaction.prototype.initTransaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitTransaction.prototype.login = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitTransaction.prototype.logout = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitTransaction.prototype.reboot = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitTransaction.prototype.reconciliation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitTransaction.prototype.receiptRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitTransaction.prototype.reconfig = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitTransaction.prototype.rollback = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitTransaction.prototype.softwareUpdate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitTransaction.prototype.systemInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitTransaction.prototype.transaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitTransaction.prototype.connected = function () { +}; +timapi.statemachine.states.WaitTransaction.prototype.connectFailed = function () { + this.context.actionClearPendingEvent(); + this.context.setState(new timapi.statemachine.states.ErrorState(this.context)); +}; +timapi.statemachine.states.WaitTransaction.prototype.responseRequest = function () { + if (this.context.conditionTransactionNoCommit()) { + this.context.actionProcessResponseTransaction(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); + return; + } + this.context.actionProcessResponseTransaction(); + this.context.setState(new timapi.statemachine.states.WaitForCommit(this.context)); +}; +timapi.statemachine.states.WaitTransaction.prototype.responseError = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitTransaction.prototype.responseBusy = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitTransaction.prototype.timeout = function () { + this.context.actionErrorTimeout(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitTransaction.prototype.keepAliveTimeout = function () { + try { + this.context.actionErrorConnectionLost(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } + catch (e) { + timapi.statemachine.states.WaitTransaction.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } +}; +timapi.statemachine.states.WaitTransaction.prototype.closeReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitTransaction.prototype.openReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitTransaction.prototype.ejectCard = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitTransaction.prototype.openMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitTransaction.prototype.closeMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitTransaction.prototype.activateServiceMenu = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitTransaction.prototype.amtAdjustment = function () { + if (!this.context.conditionHasGuideUnattended()) { + this.context.actionErrorDisabledFeature(); + return; + } + this.context.actionAmtAdjustment(); +}; +timapi.statemachine.states.WaitTransaction.prototype.balanceInquiry = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitTransaction.prototype.openDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitTransaction.prototype.closeDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitTransaction.prototype.showSignatureCapture = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitTransaction.prototype.showDialog = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitTransaction.prototype.sendCardCommand = function () { + this.context.actionErrorRequestInProgress(); +}; +var timapi; +(function (timapi) { + class ActivateResponse { + constructor(printData, actSeqCounter) { + this.printData = printData; + this.actSeqCounter = actSeqCounter; + } + get $printData() { + return this.printData; + } + get $actSeqCounter() { + return this.actSeqCounter; + } + } + timapi.ActivateResponse = ActivateResponse; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class Amount { + constructor($amount, $currency) { + if (this.isFloating($amount)) { + this.amount = this.integerRepresentation($amount, $currency.exponent); + } + else { + this.amount = $amount; + } + this.currency = $currency; + } + getIntAmount() { + return this.integerRepresentation(this.amount, this.currency.exponent); + } + get $amount() { + return this.amount; + } + set $amount(value) { + this.amount = value; + } + getDecimalValue() { + return 0; + } + setDecimalValue(double) { + } + get $currency() { + return this.currency; + } + set $currency(value) { + this.currency = value; + } + isFloating(value) { + const numberValue = Number(value); + const stringValue = String(value); + return String(numberValue).length !== stringValue.length || value % 1 !== 0; + } + integerRepresentation(value, exponent) { + let result = Math.pow(10, exponent) * value; + return result; + } + } + timapi.Amount = Amount; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class AmountDcc { + constructor($amount, $currency, $rate, $rateExponent, $markup, $markupExponent) { + if (this.isFloating($amount)) { + this.amount = this.integerRepresentation($amount, $currency.exponent); + } + else { + this.amount = $amount; + } + this.currency = $currency; + this.rate = $rate; + this.rateExponent = $rateExponent; + this.markup = $markup; + this.markupExponent = $markupExponent; + } + get $amount() { + return this.amount; + } + getIntamount() { + return this.integerRepresentation(this.amount, 0); + } + getDecimalValue() { + return 0; + } + get $currency() { + return this.currency; + } + get $rate() { + return this.rate; + } + get $rateExponent() { + return this.rateExponent; + } + getRateDecimal() { + return 0; + } + get $markup() { + return this.markup; + } + get $markupExponent() { + return this.markupExponent; + } + getMarkupDecimal() { + if (this.markup == undefined || this.markupExponent == undefined) { + throw new EvalError("markup and/or markupExponent are undefined"); + } + return 0; + } + isFloating(value) { + return value % 1 !== 0; + } + integerRepresentation(value, exponent) { + let result = Math.pow(10, exponent) * value; + return result; + } + } + timapi.AmountDcc = AmountDcc; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class AmountDiscount { + constructor($amount, $currency, $discountId) { + if (this.isFloating($amount)) { + this.amount = this.integerRepresentation($amount, $currency.exponent); + } + else { + this.amount = $amount; + } + this.currency = $currency; + this.discountId = $discountId; + } + get $amount() { + return this.amount; + } + getIntamount() { + return this.integerRepresentation(this.amount, 0); + } + getDecimalValue() { + return 0; + } + set $amount(value) { + this.amount = value; + } + setIntAmount(value) { + this.amount = value; + } + setDecimalValue(value) { + } + get $currency() { + return this.currency; + } + set $currency(value) { + this.currency = value; + } + get $discountId() { + return this.discountId; + } + set $discountId(value) { + this.discountId = value; + } + isFloating(value) { + return value % 1 !== 0; + } + integerRepresentation(value, exponent) { + let result = Math.pow(10, exponent) * value; + return result; + } + } + timapi.AmountDiscount = AmountDiscount; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class Application { + constructor($aid, $label) { + this.aid = $aid; + this.label = $label; + } + get $aid() { + return this.aid; + } + get $label() { + return this.label; + } + } + timapi.Application = Application; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class BalanceInquiryResponse { + constructor($amount, $printData) { + this.amount = $amount; + this.printData = $printData; + } + get $amount() { + return this.amount; + } + get $printData() { + return this.printData; + } + } + timapi.BalanceInquiryResponse = BalanceInquiryResponse; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class BalanceResponse { + constructor($counters, $printData) { + this.counters = $counters; + this.printData = $printData; + } + get $printData() { + return this.printData; + } + get $counters() { + return this.counters; + } + } + timapi.BalanceResponse = BalanceResponse; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class BasketItem { + constructor(copy) { + if (copy !== undefined && copy !== undefined) { + this.authResult = copy.authResult; + this.itemId = copy.itemId; + this.loyaltyId = copy.loyaltyId; + this.amount = copy.amount; + this.amountTotal = copy.amountTotal; + this.amountDiscount = copy.amountDiscount; + this.amountTax = copy.amountTax; + this.itemQuantity = copy.itemQuantity; + this.loyaltyAuthResult = copy.loyaltyAuthResult; + this.prodDescription = copy.prodDescription; + } + } + get $authResult() { + return this.authResult; + } + set $authResult(value) { + this.authResult = value; + } + get $itemId() { + return this.itemId; + } + set $itemId(value) { + this.itemId = value; + } + get $loyaltyId() { + return this.loyaltyId; + } + set $loyaltyId(value) { + this.loyaltyId = value; + } + get $amount() { + return this.amount; + } + set $amount(value) { + this.amount = value; + } + get $amountTotal() { + return this.amountTotal; + } + set $amountTotal(value) { + this.amountTotal = value; + } + get $amountDiscount() { + return this.amountDiscount; + } + set $amountDiscount(value) { + this.amountDiscount = value; + } + get $amountTax() { + return this.amountTax; + } + set $amountTax(value) { + this.amountTax = value; + } + get $itemQuantity() { + return this.itemQuantity; + } + set $itemQuantity(value) { + this.itemQuantity = value; + } + get $loyaltyAuthResult() { + return this.loyaltyAuthResult; + } + set $loyaltyAuthResult(value) { + this.loyaltyAuthResult = value; + } + get $prodDescription() { + return this.prodDescription; + } + set $prodDescription(value) { + this.prodDescription = value; + } + } + timapi.BasketItem = BasketItem; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class Brands { + constructor($name, $dccAvailable, $paymentProtocol, $acqId, $lastInitDate, $applications, $currencies) { + this.name = $name; + this.dccAvailable = $dccAvailable; + this.paymentProtocol = $paymentProtocol; + this.acqId = $acqId; + this.lastInitDate = $lastInitDate; + this.applications = $applications; + this.currencies = $currencies; + } + get $name() { + return this.name; + } + get $dccAvailable() { + return this.dccAvailable; + } + get $paymentProtocol() { + return this.paymentProtocol; + } + get $acqId() { + return this.acqId; + } + get $lastInitDate() { + return this.lastInitDate; + } + get $applications() { + return this.applications; + } + get $currencies() { + return this.currencies; + } + } + timapi.Brands = Brands; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class CardData { + constructor($posEntryMode, $aid, $acc, $cardNumber, $cardNumberPrintable, $cardNumberPrintableCardholder, cardNumberEnc, $cardNumberEncKeyIndex, $cardExpiryDate, $brandName, $tenderName, $cardTrackDatas, $loyaltyInformations, $cardRef, $processingDisposition, $language) { + this.posEntryMode = $posEntryMode; + this.aid = $aid; + this.acc = $acc; + this.cardNumber = $cardNumber; + this.cardNumberPrintable = $cardNumberPrintable; + this.cardNumberPrintableCardholder = $cardNumberPrintableCardholder; + this.cardNumberEnc = cardNumberEnc; + this.cardNumberEncKeyIndex = $cardNumberEncKeyIndex; + this.cardExpiryDate = $cardExpiryDate; + this.brandName = $brandName; + this.tenderName = $tenderName; + this.cardTrackDatas = $cardTrackDatas; + this.loyaltyInformations = $loyaltyInformations; + this.cardRef = $cardRef; + this.processingDisposition = $processingDisposition; + this.language = $language; + } + get $posEntryMode() { + return this.posEntryMode; + } + get $aid() { + return this.aid; + } + get $acc() { + return this.acc; + } + get $cardNumber() { + return this.cardNumber; + } + get $cardNumberPrintable() { + return this.cardNumberPrintable; + } + get $cardNumberPrintableCardholder() { + return this.cardNumberPrintableCardholder; + } + get $cardNumberEnc() { + return this.cardNumberEnc; + } + get $cardNumberEncKeyIndex() { + return this.cardNumberEncKeyIndex; + } + get $cardExpiryDate() { + return this.cardExpiryDate; + } + get $brandName() { + return this.brandName; + } + get $tenderName() { + return this.tenderName; + } + get $cardTrackDatas() { + return this.cardTrackDatas; + } + get $loyaltyInformations() { + return this.loyaltyInformations; + } + get $cardRef() { + return this.cardRef; + } + get $processingDisposition() { + return this.processingDisposition; + } + get $language() { + return this.language; + } + } + timapi.CardData = CardData; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class CardTrackData { + constructor($trackNum, $data) { + this.trackNum = $trackNum; + this.data = $data.slice(); + } + get $trackNum() { + return this.trackNum; + } + get $data() { + return this.data; + } + } + timapi.CardTrackData = CardTrackData; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class ConfigData { + constructor($receiptHeader, $language) { + this.receiptHeader = $receiptHeader.slice(); + this.language = $language; + } + get $receiptHeader() { + return this.receiptHeader.slice(); + } + get $language() { + return this.language; + } + } + timapi.ConfigData = ConfigData; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class Convenience { + static needsSignature(cvm) { + switch (cvm) { + case timapi.constants.Cvm.signature: + case timapi.constants.Cvm.pinSignature: + return true; + default: + return false; + } + } + static processPrintReceipts(terminal, printData) { + if (printData == undefined || printData == undefined) { + return undefined; + } + if (printData.$receiptItems.length > 0) { + return printData; + } + let receipts = new Array(); + if (terminal !== undefined) { + const formatter = terminal.$receiptFormatter; + if (formatter == undefined) { + return printData; + } + if (printData !== undefined && printData !== undefined) { + for (let items of printData.$receiptItems) { + receipts = receipts.concat(formatter.formatReceipt(terminal, items)); + } + } + } + return new timapi.PrintData(receipts, new Array()); + } + } + timapi.Convenience = Convenience; +})(timapi || (timapi = {})); +timapi.ConversionHelper = {}; +timapi.ConversionHelper.byteToHexString = function (bytes) { + var builder = []; + for (each of bytes) { + var nibble = (each & 0xf0) >> 4; + if (nibble < 10) { + builder.push(48 + nibble); + } + else { + builder.push(65 + nibble - 10); + } + nibble = each & 0x0f; + if (nibble < 10) { + builder.push(48 + nibble); + } + else { + builder.push(65 + nibble - 10); + } + } + return String.fromCharCode.apply(undefined, builder); +}; +timapi.ConversionHelper.byteOrUndefineToHexString = function (bytes) { + if (bytes == undefined) { + return ""; + } + else { + return this.byteToHexString(bytes); + } +}; +timapi.ConversionHelper.hexStringToByte = function (string) { + var bytes = new Uint8Array(string.length / 2); + var offset = 0; + var shift = 4; + var i; + for (each of string) { + var value = each.charCodeAt(0); + if (value >= 48 && value <= 57) { + bytes[offset] |= ((value - 48) & 0xff) << shift; + } + else if (value >= 97 && value <= 102) { + bytes[offset] |= ((value - 97 + 10) & 0xff) << shift; + } + else if (value >= 65 && value <= 70) { + bytes[offset] |= ((value - 65 + 10) & 0xff) << shift; + } + if (shift == 4) { + shift = 0; + } + else { + offset++; + shift = 4; + } + } + return bytes; +}; +var timapi; +(function (timapi) { + class Counter { + constructor($brandName, $paymentProtocol, $acqId, $count, $countDcc, $countForeign, $totals) { + this.brandName = $brandName; + this.paymentProtocol = $paymentProtocol; + this.acqId = $acqId; + this.count = $count; + this.countDcc = $countDcc; + this.countForeign = $countForeign; + this.totals = $totals; + } + get $brandName() { + return this.brandName; + } + get $paymentProtocol() { + return this.paymentProtocol; + } + get $acqId() { + return this.acqId; + } + get $count() { + return this.count; + } + get $countDcc() { + return this.countDcc; + } + get $countForeign() { + return this.countForeign; + } + get $totals() { + return this.totals; + } + } + timapi.Counter = Counter; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class Counters { + constructor($counterType, $seqCounter, $counters) { + this.counterType = $counterType; + this.seqCounter = $seqCounter; + this.counters = $counters; + } + get $counterType() { + return this.counterType; + } + get $seqCounter() { + return this.seqCounter; + } + get $counters() { + return this.counters; + } + } + timapi.Counters = Counters; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class CurrencyItem { + constructor($currency, $type) { + this.currency = $currency; + this.type = $type; + } + get $currency() { + return this.currency; + } + get $type() { + return this.type; + } + } + timapi.CurrencyItem = CurrencyItem; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class DeactivateResponse { + constructor($printData, $counters) { + this.printData = $printData; + this.counters = $counters; + } + get $printData() { + return this.printData; + } + get $counters() { + return this.counters; + } + } + timapi.DeactivateResponse = DeactivateResponse; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class DefaultTerminalListener { + connectCompleted(event) { + this.requestCompleted(event, undefined); + } + activateCompleted(event, data) { + if (data !== undefined && + data !== undefined && + data.$printData !== undefined && + data.$printData !== undefined && + data.$printData.$receipts.length > 0) { + this.printReceipts(event.$terminal, data.$printData); + } + this.requestCompleted(event, data); + } + applicationInformationCompleted(event) { + this.requestCompleted(event, undefined); + } + balanceCompleted(event, data) { + if (data !== undefined && + data !== undefined && + data.$printData !== undefined && + data.$printData.$receipts !== undefined && + data.$printData.$receipts.length > 0) { + this.printReceipts(event.$terminal, data.$printData); + } + this.requestCompleted(event, data); + } + changeSettingsCompleted(event) { + this.requestCompleted(event, undefined); + } + commitCompleted(event) { + this.requestCompleted(event, undefined); + } + counterRequestCompleted(event, data) { + this.requestCompleted(event, undefined); + } + deactivateCompleted(event, data) { + if (data !== undefined && + data !== undefined && + data.$printData !== undefined && + data.$printData !== undefined && + data.$printData.$receipts.length > 0) { + this.printReceipts(event.$terminal, data.$printData); + } + this.requestCompleted(event, data); + } + dccRatesCompleted(event, data) { + if (data !== undefined && data !== undefined && data.$receipts.length > 0) { + this.printReceipts(event.$terminal, data); + } + this.requestCompleted(event, data); + } + hardwareInformationCompleted(event, data) { + this.requestCompleted(event, data); + } + initTransactionCompleted(event, data) { + this.requestCompleted(event, data); + } + loginCompleted(event) { + this.requestCompleted(event, undefined); + } + logoutCompleted(event) { + this.requestCompleted(event, undefined); + } + rebootCompleted(event) { + this.requestCompleted(event, undefined); + } + reconciliationCompleted(event, data) { + if (data !== undefined && + data !== undefined && + data.$printData !== undefined && + data.$printData !== undefined && + data.$printData.$receipts.length > 0) { + this.printReceipts(event.$terminal, data.$printData); + } + this.requestCompleted(event, data); + } + receiptRequestCompleted(event, data) { + if (data !== undefined && + data !== undefined && + data.$printData !== undefined && + data.$printData !== undefined && + data.$printData.$receipts.length > 0) { + this.printReceipts(event.$terminal, data.$printData); + } + this.requestCompleted(event, data); + } + reconfigCompleted(event, data) { + if (data !== undefined && data !== undefined && data.$receipts.length > 0) { + this.printReceipts(event.$terminal, data); + } + this.requestCompleted(event, data); + } + rollbackCompleted(event, data) { + if (data !== undefined && + data !== undefined && + data.$receipts !== undefined && + data.$receipts !== undefined && + data.$receipts.length > 0) { + this.printReceipts(event.$terminal, data); + } + this.requestCompleted(event, data); + } + softwareUpdateCompleted(event, data) { + this.requestCompleted(event, data); + } + systemInformationCompleted(event, data) { + this.requestCompleted(event, data); + } + transactionCompleted(event, data) { + if (data !== undefined && data !== undefined) { + this.processPrintReceipts(event.$terminal, data.$printData); + } + if (event.$exception !== undefined && event.$exception !== undefined) { + this.processPrintReceipts(event.$terminal, event.$exception.$printData); + } + this.requestCompleted(event, data); + } + terminalStatusChanged(terminal) { + } + disconnected(terminal, exception) { + } + printReceipts(terminal, printData) { + } + requestCompleted(event, data) { + } + processPrintReceipts(terminal, printData) { + printData = timapi.Convenience.processPrintReceipts(terminal, printData); + if (printData == undefined || printData == undefined) { + return; + } + if (printData.$receipts.length > 0) { + this.printReceipts(terminal, printData); + } + } + closeReaderCompleted(event) { + this.requestCompleted(event, undefined); + } + openReaderCompleted(event) { + this.requestCompleted(event, undefined); + } + ejectCardCompleted(event) { + this.requestCompleted(event, undefined); + } + openMaintenanceWindowCompleted(event) { + this.requestCompleted(event, undefined); + } + closeMaintenanceWindowCompleted(event) { + this.requestCompleted(event, undefined); + } + activateServiceMenuCompleted(event) { + this.requestCompleted(event, undefined); + } + openDialogModeCompleted(event) { + this.requestCompleted(event, undefined); + } + closeDialogModeCompleted(event) { + this.requestCompleted(event, undefined); + } + showSignatureCaptureCompleted(event, data) { + this.requestCompleted(event, data); + } + showDialogCompleted(event, data) { + this.requestCompleted(event, data); + } + balanceInquiryCompleted(event, data) { + if (data !== undefined && + data !== undefined && + data.$printData !== undefined && + data !== undefined && + data.$printData.$receipts.length > 0) { + this.printReceipts(event.$terminal, data.$printData); + } + this.requestCompleted(event, data); + } + queryLoyaltyCompleted(event, data) { + this.requestCompleted(event, data); + } + } + timapi.DefaultTerminalListener = DefaultTerminalListener; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class EcrInfo { + get $type() { + return this.type; + } + set $type(value) { + this.type = value; + } + get $name() { + return this.name; + } + set $name(value) { + this.name = value; + } + get $manufacturerName() { + return this.manufacturerName; + } + set $manufacturerName(value) { + this.manufacturerName = value; + } + get $version() { + return this.version; + } + set $version(value) { + this.version = value; + } + get $serialNumber() { + return this.serialNumber; + } + set $serialNumber(value) { + this.serialNumber = value; + } + get $architecture() { + return this.architecture; + } + set $architecture(value) { + this.architecture = value; + } + get $integratorSolution() { + return this.integratorSolution; + } + set $integratorSolution(value) { + this.integratorSolution = value; + } + get $remoteIp() { + return this.remoteIp; + } + set $remoteIp(value) { + this.remoteIp = value; + } + } + timapi.EcrInfo = EcrInfo; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class ErrorMessages { + static getErrorMessage(resultCode, terminalOrLanguage) { + if (terminalOrLanguage instanceof timapi.Terminal) { + this.getErrorMessageWithTerminal(resultCode, terminalOrLanguage); + } + else if (typeof terminalOrLanguage === "string") { + this.getErrorMessageWithLanguage(resultCode, terminalOrLanguage); + } + } + static getErrorMessageWithTerminal(resultCode, terminal) { + return ""; + } + static getErrorMessageWithLanguage(resultCode, language) { + return ""; + } + static loadMessageMap() { + } + static convertField(field) { + return ""; + } + } + ErrorMessages.DEFAULT_LANGUAGE = "default"; + timapi.ErrorMessages = ErrorMessages; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class Features { + constructor($hardware, $payment, $sixml) { + this.hardware = $hardware; + this.payment = $payment; + this.sixml = $sixml; + } + get $hardware() { + return this.hardware; + } + get $payment() { + return this.payment; + } + get $sixml() { + return this.sixml; + } + } + timapi.Features = Features; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class FeaturesHardware { + constructor($cardholderDisplay, $merchantDisplay, $printer, $displayBrightness, $displayContrast, $alertTones, $keypadTones) { + this.cardholderDisplay = $cardholderDisplay; + this.merchantDisplay = $merchantDisplay; + this.printer = $printer; + this.displayBrightness = $displayBrightness; + this.displayContrast = $displayContrast; + this.alertTones = $alertTones; + this.keypadTones = $keypadTones; + } + get $CardholderDisplay() { + return this.cardholderDisplay; + } + get $merchantDisplay() { + return this.merchantDisplay; + } + get $printer() { + return this.printer; + } + get $displayBrightness() { + return this.displayBrightness; + } + get $displayContrast() { + return this.displayContrast; + } + get $alertTones() { + return this.alertTones; + } + get $keypadTones() { + return this.keypadTones; + } + } + timapi.FeaturesHardware = FeaturesHardware; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class FeaturesPayment { + constructor($dcc, $declinedReceipts, $partialApproval, $ep2Available, $ep2Dcc, $ep2DeclinedReceipts, $ep2MultiAccountSelection, $ep2MultiContractSelection) { + this.dcc = $dcc; + this.declinedReceipts = $declinedReceipts; + this.partialApproval = $partialApproval; + this.ep2Available = $ep2Available; + this.ep2Dcc = $ep2Dcc; + this.ep2DeclinedReceipts = $ep2DeclinedReceipts; + this.ep2MultiAccountSelection = $ep2MultiAccountSelection; + this.ep2MultiContractSelection = $ep2MultiContractSelection; + } + get $dcc() { + return this.dcc; + } + get $declinedReceipts() { + return this.declinedReceipts; + } + get $partialApproval() { + return this.partialApproval; + } + get $ep2Available() { + return this.ep2Available; + } + get $ep2Dcc() { + return this.ep2Dcc; + } + get $ep2DeclinedReceipts() { + return this.ep2DeclinedReceipts; + } + get $ep2MultiAccountSelection() { + return this.ep2MultiAccountSelection; + } + get $ep2MultiContractSelection() { + return this.ep2MultiContractSelection; + } + } + timapi.FeaturesPayment = FeaturesPayment; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + let Support; + (function (Support) { + Support[Support["disabled"] = 0] = "disabled"; + Support[Support["supported"] = 1] = "supported"; + Support[Support["mandatory"] = 2] = "mandatory"; + })(Support = timapi.Support || (timapi.Support = {})); + class FeaturesSixml { + constructor($adminFunctions, $autoCommit, $autoShiftManagement, $autoShutterManagement, $financialFunctions, $guides, $nonFinancialFunctions, $protocolLevels, $sleepTimer, $statusFunctions, $dialogFunctions) { + this.adminFunctions = $adminFunctions; + this.autoCommit = $autoCommit; + this.autoShiftManagement = $autoShiftManagement; + this.autoShutterManagement = $autoShutterManagement; + this.financialFunctions = $financialFunctions; + this.guides = $guides; + this.nonFinancialFunctions = $nonFinancialFunctions; + this.protocolLevels = $protocolLevels; + this.sleepTimer = $sleepTimer; + this.statusFunctions = $statusFunctions; + this.dialogFunctions = $dialogFunctions; + } + get $adminFunctions() { + return this.adminFunctions; + } + get $autoCommit() { + return this.autoCommit; + } + get $autoShiftManagement() { + return this.autoShiftManagement; + } + get $autoShutterManagement() { + return this.autoShutterManagement; + } + get $financialFunctions() { + return this.financialFunctions; + } + get $guides() { + return this.guides; + } + get $nonFinancialFunctions() { + return this.nonFinancialFunctions; + } + get $protocolLevels() { + return this.protocolLevels; + } + get $sleepTimer() { + return this.sleepTimer; + } + get $statusFunctions() { + return this.statusFunctions; + } + get $dialogFunctions() { + return this.dialogFunctions; + } + } + timapi.FeaturesSixml = FeaturesSixml; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class Hardware { + constructor($hardwareType, $serialNumber, $productionDate, $productVersion, $firmwareVersion, $securityStatus, $lastCleaningDate) { + this.hardwareType = $hardwareType; + this.serialNumber = $serialNumber; + this.productionDate = $productionDate; + this.productVersion = $productVersion; + this.firmwareVersion = $firmwareVersion; + this.securityStatus = $securityStatus; + this.lastCleaningDate = $lastCleaningDate; + } + get $hardwareType() { + return this.hardwareType; + } + get $serialNumber() { + return this.serialNumber; + } + get $productionDate() { + return this.productionDate; + } + get $productVersion() { + return this.productVersion; + } + get $firmwareVersion() { + return this.firmwareVersion; + } + get $securityStatus() { + return this.securityStatus; + } + get $lastCleaningDate() { + return this.lastCleaningDate; + } + } + timapi.Hardware = Hardware; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class HardwareInformationResponse { + constructor($hardwares, $kernelVersions, $settings, $statistics) { + this.hardwares = $hardwares; + this.kernelVersions = $kernelVersions; + this.settings = $settings; + this.statistics = $statistics; + } + get $hardwares() { + return this.hardwares; + } + get $kernelVersions() { + return this.kernelVersions; + } + get $settings() { + return this.settings; + } + get $statistics() { + return this.statistics; + } + } + timapi.HardwareInformationResponse = HardwareInformationResponse; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class InternalBuildInfo { + } + InternalBuildInfo.VERSION = "3.8.1-97"; + InternalBuildInfo.DATE = "2018-08-31"; + timapi.InternalBuildInfo = InternalBuildInfo; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class ItemQuantity { + constructor($quantity, $exponent, $quantityType) { + this.quantity = $quantity; + this.exponent = $exponent; + this.quantityType = $quantityType; + } + get $quantity() { + return this.quantity; + } + get $exponent() { + return this.exponent; + } + get $quantityType() { + return this.quantityType; + } + } + timapi.ItemQuantity = ItemQuantity; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class MerchantOption { + constructor($type, $value) { + this.type = $type; + this.value = $value; + } + get $type() { + return this.type; + } + get $value() { + return this.value; + } + } + timapi.MerchantOption = MerchantOption; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class NativeError { + constructor($code, $message, $source) { + this.code = $code; + this.message = $message; + this.source = $source; + } + get $code() { + return this.code; + } + get $message() { + return this.message; + } + get $source() { + return this.source; + } + } + timapi.NativeError = NativeError; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class NetworkInformation { + constructor($terminalIp, $terminalIpMask, $terminalIpGw, $terminalIpDns) { + this.terminalIp = $terminalIp; + this.terminalIpMask = $terminalIpMask; + this.terminalIpGw = $terminalIpGw; + this.terminalIpDns = $terminalIpDns; + } + get $terminalIp() { + return this.terminalIp; + } + get $terminalIpMask() { + return this.terminalIpMask; + } + get $terminalIpGw() { + return this.terminalIpGw; + } + get $terminalIpDns() { + return this.terminalIpDns; + } + } + timapi.NetworkInformation = NetworkInformation; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class PpInfo { + constructor($paymentProtocol, $ppEp2TransSeqCntOrig, $ppEp2AuthReslt, $ppEp2AuthRespC) { + this.paymentProtocol = $paymentProtocol; + this.ppEp2TransSeqCntOrig = $ppEp2TransSeqCntOrig; + this.ppEp2AuthReslt = $ppEp2AuthReslt; + this.ppEp2AuthRespC = $ppEp2AuthRespC; + } + get $paymentProtocol() { + return this.paymentProtocol; + } + get $ppEp2TransSeqCntOrig() { + return this.ppEp2TransSeqCntOrig; + } + get $ppEp2AuthReslt() { + return this.ppEp2AuthReslt; + } + get $ppEp2AuthRespC() { + return this.ppEp2AuthRespC; + } + } + timapi.PpInfo = PpInfo; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class PrintData { + constructor($receipts, $receiptItems) { + this.receipts = $receipts.slice(); + this.receiptItems = $receiptItems.slice(); + } + get $receipts() { + return this.receipts; + } + get $receiptItems() { + return this.receiptItems; + } + } + timapi.PrintData = PrintData; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class PrintOption { + constructor($recipient, $printFormat, $printWidth, $printFlags) { + this.recipient = $recipient; + this.printFormat = $printFormat; + this.printWidth = $printWidth; + this.printFlags = $printFlags; + } + get $recipient() { + return this.recipient; + } + get $printFormat() { + return this.printFormat; + } + get $printWidth() { + return this.printWidth; + } + get $printFlags() { + return this.printFlags; + } + } + timapi.PrintOption = PrintOption; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class Receipt { + constructor($recipient, $value) { + this.recipient = $recipient; + this.value = $value; + } + get $recipient() { + return this.recipient; + } + get $value() { + return this.value; + } + } + timapi.Receipt = Receipt; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class ReceiptItem { + constructor($receiptItemType, $recipient, $value) { + this.receiptItemType = $receiptItemType; + this.recipient = $recipient; + this.value = $value; + } + get $receiptItemType() { + return this.receiptItemType; + } + get $recipient() { + return this.recipient; + } + get $value() { + return this.value; + } + } + timapi.ReceiptItem = ReceiptItem; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class ReceiptItems { + constructor($receiptType, $receiptItem) { + this.receiptType = $receiptType; + this.receiptItem = $receiptItem; + } + get $receiptType() { + return this.receiptType; + } + get $receiptItem() { + return this.receiptItem; + } + } + timapi.ReceiptItems = ReceiptItems; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class ReceiptRequestResponse { + constructor($printData, $hasMoreReceiptsL) { + this.printData = $printData; + this.hasMoreReceiptsL = $hasMoreReceiptsL; + } + get $printData() { + return this.printData; + } + get $hasMoreReceiptsL() { + return this.hasMoreReceiptsL; + } + } + timapi.ReceiptRequestResponse = ReceiptRequestResponse; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class ReconciliationResponse { + constructor($counters, $printData) { + this.counters = $counters; + this.printData = $printData; + } + get $counters() { + return this.counters; + } + get $printData() { + return this.printData; + } + } + timapi.ReconciliationResponse = ReconciliationResponse; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class ShowDialogRequest { + constructor($brandBar, $brandMode, $resourceId, $theme, $timeout, $language, $placeholderItems) { + if ($brandBar !== undefined) { + this.brandBar = $brandBar.slice(); + } + else { + this.brandBar = new Array(); + } + if ($brandMode !== undefined) { + this.brandMode = $brandMode; + } + else { + this.$brandMode = timapi.constants.BrandMode.all; + } + if ($resourceId !== undefined) { + this.resourceId = $resourceId; + } + else { + this.resourceId = timapi.constants.ResourceId.welcomeCard; + } + if ($theme !== undefined) { + this.theme = $theme; + } + else { + this.theme = timapi.constants.Theme.six; + } + if ($timeout !== undefined) { + this.timeout = $timeout; + } + else { + this.timeout = 60; + } + if ($language !== undefined) { + this.language = $language; + } + if ($placeholderItems !== undefined) { + this.placeholderItems = $placeholderItems; + } + else { + this.placeholderItems = new Map(); + } + } + get $brandBar() { + return this.brandBar; + } + set $brandBar(value) { + this.brandBar = value; + } + get $brandMode() { + return this.brandMode; + } + set $brandMode(value) { + this.brandMode = value; + } + get $resourceId() { + return this.resourceId; + } + set $resourceId(value) { + this.resourceId = value; + } + get $theme() { + return this.theme; + } + set $theme(value) { + this.theme = value; + } + get $timeout() { + return this.timeout; + } + set $timeout(value) { + this.timeout = value; + } + get $language() { + return this.language; + } + set $language(value) { + this.language = value; + } + get $placeholderItems() { + return this.placeholderItems; + } + set $placeholderItems(value) { + this.placeholderItems = value; + } + } + timapi.ShowDialogRequest = ShowDialogRequest; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class ShowDialogResponse { + constructor($reason, $userInput, $cardData) { + this.reason = $reason; + this.userInput = $userInput; + this.cardData = $cardData; + } + get $reason() { + return this.reason; + } + get $userInput() { + return this.userInput; + } + get $cardData() { + return this.cardData; + } + } + timapi.ShowDialogResponse = ShowDialogResponse; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class ShowSignatureCaptureRequest { + constructor(request) { + if (arguments.length === 0) { + this.brandBar = new Array(); + this.brandMode = timapi.constants.BrandMode.all; + this.backgroundColor = timapi.utils.Color.Color.white; + this.imageFileFormat = timapi.constants.ImageFileFormat.png; + this.imageFileWidth = 200; + this.imageFileHeight = 150; + this.resourceId = timapi.constants.ResourceId.EMPTY_DIALOG; + this.signatureColor = timapi.utils.Color.Color.black; + this.theme = timapi.constants.Theme.six; + this.timeout = 60; + this.language = undefined; + this.watermarkColor = timapi.utils.Color.Color.black; + this.watermarkItems = new Array(); + } + else { + this.brandBar = request.brandBar.slice(); + this.brandMode = request.brandMode; + this.backgroundColor = request.backgroundColor; + this.imageFileFormat = request.imageFileFormat; + this.imageFileWidth = request.imageFileWidth; + this.imageFileHeight = request.imageFileHeight; + this.resourceId = request.resourceId; + this.signatureColor = request.signatureColor; + this.theme = request.theme; + this.timeout = request.timeout; + this.language = request.language; + this.watermarkColor = request.watermarkColor; + this.watermarkItems = request.watermarkItems.slice(); + } + } + get $brandBar() { + return this.brandBar; + } + set $brandBar(value) { + this.brandBar = value.slice(); + } + get $brandMode() { + return this.brandMode; + } + set $brandMode(value) { + this.brandMode = value; + } + get $backgroundColor() { + return this.backgroundColor; + } + set $backgroundColor(value) { + this.backgroundColor = value; + } + get $imageFileFormat() { + return this.imageFileFormat; + } + set $imageFileFormat(value) { + this.imageFileFormat = value; + } + get $imageFileWidth() { + return this.imageFileWidth; + } + set $imageFileWidth(value) { + this.imageFileWidth = value; + } + get $imageFileHeight() { + return this.imageFileHeight; + } + set $imageFileHeight(value) { + this.imageFileHeight = value; + } + get $resourceId() { + return this.resourceId; + } + set $resourceId(value) { + this.resourceId = value; + } + get $signatureColor() { + return this.signatureColor; + } + set $signatureColor(value) { + this.signatureColor = value; + } + get $theme() { + return this.theme; + } + set $theme(value) { + this.theme = value; + } + get $timeout() { + return this.timeout; + } + set $timeout(value) { + this.timeout = value; + } + get $language() { + return this.language; + } + set $language(value) { + this.language = value; + } + get $watermarkColor() { + return this.watermarkColor; + } + set $watermarkColor(value) { + this.watermarkColor = value; + } + get $watermarkItems() { + return this.watermarkItems; + } + set $watermarkItems(value) { + this.watermarkItems = value.slice(); + } + } + timapi.ShowSignatureCaptureRequest = ShowSignatureCaptureRequest; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class ShowSignatureCaptureResponse { + constructor($reason, $imageFileFormat, $imageWidth, $imageHeight, $imageData) { + this.reason = $reason; + this.imageFileFormat = $imageFileFormat; + this.imageWidth = $imageWidth; + this.imageHeight = $imageHeight; + this.imageData = $imageData.slice(); + this.image = this.createImageFromData(); + } + get $reason() { + return this.reason; + } + get $imageFileFormat() { + return this.imageFileFormat; + } + get $imageWidth() { + return this.imageWidth; + } + get $imageHeight() { + return this.imageHeight; + } + get $imageData() { + return this.imageData; + } + get $image() { + return this.image; + } + createImageFromData() { + let image = undefined; + return image; + } + } + timapi.ShowSignatureCaptureResponse = ShowSignatureCaptureResponse; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class SignatureInformation { + constructor($imageFileFormat, $imageWidth, $imageHeight, $imageData) { + this.imageFileFormat = $imageFileFormat; + this.imageWidth = $imageWidth; + this.imageHeight = $imageHeight; + this.imageData = $imageData.slice(); + } + get $imageFileFormat() { + return this.imageFileFormat; + } + get $imageWidth() { + return this.imageWidth; + } + get $imageHeight() { + return this.imageHeight; + } + get $imageData() { + return this.imageData; + } + } + timapi.SignatureInformation = SignatureInformation; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class SixmlReceivedMessageHacks { + constructor(settings) { + this.settings = settings; + this.enableDpsenbi240 = settings.$enabledHacks.has(240); + this.enableDpsenbi257 = settings.$enabledHacks.has(257); + } + processXmlMessage(message) { + if (this.enableDpsenbi240) { + this.dpsenbi240(message); + } + if (this.enableDpsenbi257) { + this.dpsenbi257(message); + } + return message; + } + dpsenbi240(node) { + for (let [entryKey, entryValue] of node.attributes.entries()) { + if (entryKey === "CardExpiryDate" && entryValue.length === 0) { + entryValue = "0418"; + } + } + for (let each of node.children) { + this.dpsenbi240(each); + } + } + dpsenbi257(node) { + if (node.name !== "sixml:Response") { + return; + } + if (node.attributes.get("ResultCode") === "0") { + return; + } + if (node.attributes.get("Function") !== + timapi.protocol.constants.Function.featureRequest) { + return; + } + node.attributes.put("ResultCode", "0"); + node.children = new Array(); + let features = new timapi.protocol.XmlNode("sixml:Features"); + this.addContentNode(features, "sixml:Feature", "3", "FeatureType", timapi.protocol.constants.FeatureType.sixmlProtocolLevel); + this.addContentNode(features, "sixml:Feature", "1", "FeatureType", timapi.protocol.constants.FeatureType.sixmlGuides); + this.addContentNode(features, "sixml:Feature", "1", "FeatureType", timapi.protocol.constants.FeatureType.sixmlStatusFunctions); + this.addContentNode(features, "sixml:Feature", "263", "FeatureType", timapi.protocol.constants.FeatureType.sixmlAdminFunctions); + this.addContentNode(features, "sixml:Feature", "7", "FeatureType", timapi.protocol.constants.FeatureType.sixmlFinancialTransactions); + this.addContentNode(features, "sixml:Feature", "1", "FeatureType", timapi.protocol.constants.FeatureType.sixmlNonFinancialTransactions); + this.addContentNode(features, "sixml:Feature", "1", "FeatureType", timapi.protocol.constants.FeatureType.ep2Available); + this.addContentNode(features, "sixml:Feature", "1", "FeatureType", timapi.protocol.constants.FeatureType.hardwareDisplayCardholderInstalled); + node.children.add(features); + this.addContentNode(node, "sixml:TerminalId", this.settings.$terminalId); + } + addContentNode(node, name, value, attrName, attrValue) { + let child = new timapi.protocol.XmlNode(name); + child.textContent = value; + child.attributes.put(attrName, attrValue); + node.children.add(child); + } + } + timapi.SixmlReceivedMessageHacks = SixmlReceivedMessageHacks; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class SynchronousTerminalListener { + prepareWait(requestType) { + this.lastActivateResponse = undefined; + this.lastBalanceResponse = undefined; + this.lastCountersRequestResponse = undefined; + this.lastDccRatesResponse = undefined; + this.lastDeactivateResponse = undefined; + this.lastException = undefined; + this.lastHardwareInformationResponse = undefined; + this.lastReconciliationResponse = undefined; + this.lastReceiptRequestResponse = undefined; + this.lastReconfigResponse = undefined; + this.lastRollbackResponse = undefined; + this.lastSoftwareUpdateResponse = undefined; + this.lastSystemInformationResponse = undefined; + this.lastTransactionResponse = undefined; + this.lastShowSignatureCaptureResponse = undefined; + this.lastShowDialogResponse = undefined; + this.lastBalanceInquiryResponse = undefined; + this.lastQueryLoyaltyResponse = undefined; + this.lastInitTransactionResponse = undefined; + this.notifyRequestType = requestType; + this.notifyRequestCompleted = false; + } + waitForRequestCompleted() { + while (!this.notifyRequestCompleted) { + waits(); + } + } + get $lastException() { + return this.lastException; + } + get $lastActivateResponse() { + return this.lastActivateResponse; + } + get $lastBalanceResponse() { + return this.lastBalanceResponse; + } + get $lastCountersRequestResponse() { + return this.lastCountersRequestResponse; + } + get $lastDeactivateResponse() { + return this.lastDeactivateResponse; + } + get $lastDccRatesResponse() { + return this.lastDccRatesResponse; + } + get $lastHardwareInformationResponse() { + return this.lastHardwareInformationResponse; + } + get $lastReconciliationResponse() { + return this.lastReconciliationResponse; + } + get $lastReceiptRequestResponse() { + return this.lastReceiptRequestResponse; + } + get $lastReconfigResponse() { + return this.lastReconfigResponse; + } + get $lastRollbackResponse() { + return this.lastRollbackResponse; + } + get $lastSoftwareUpdateResponse() { + return this.lastSoftwareUpdateResponse; + } + get $lastSystemInformationResponse() { + return this.lastSystemInformationResponse; + } + get $lastTransactionResponse() { + return this.lastTransactionResponse; + } + get $lastShowSignatureCaptureResponse() { + return this.lastShowSignatureCaptureResponse; + } + get $lastShowDialogResponse() { + return this.lastShowDialogResponse; + } + get $lastBalanceInquiryResponse() { + return this.lastBalanceInquiryResponse; + } + get $lastQueryLoyaltyResponse() { + return this.lastQueryLoyaltyResponse; + } + get $lastInitTransactionResponse() { + return this.lastInitTransactionResponse; + } + connectCompleted(event) { + this.datalessRequestCompleted(event, timapi.constants.RequestType.connect); + } + activateCompleted(event, data) { + if (this.notifyRequestType == undefined || this.notifyRequestCompleted) { + return; + } + if (event.$exception == undefined) { + this.lastActivateResponse = data; + if (this.notifyRequestType === timapi.constants.RequestType.activate) { + this.notifyRequestCompleted = true; + } + } + else { + this.lastException = event.$exception; + this.notifyRequestCompleted = true; + } + } + applicationInformationCompleted(event) { + this.datalessRequestCompleted(event, timapi.constants.RequestType.applicationInformation); + } + balanceCompleted(event, data) { + if (this.notifyRequestType == undefined || this.notifyRequestCompleted) { + return; + } + if (event.$exception == undefined) { + this.lastBalanceResponse = data; + if (this.notifyRequestType === timapi.constants.RequestType.balance) { + this.notifyRequestCompleted = true; + } + } + else { + this.lastException = event.$exception; + this.notifyRequestCompleted = true; + } + } + changeSettingsCompleted(event) { + this.datalessRequestCompleted(event, timapi.constants.RequestType.changeSettings); + } + commitCompleted(event) { + this.datalessRequestCompleted(event, timapi.constants.RequestType.commit); + } + counterRequestCompleted(event, data) { + if (this.notifyRequestType == undefined || this.notifyRequestCompleted) { + return; + } + if (event.$exception == undefined) { + this.lastCountersRequestResponse = data; + if (this.notifyRequestType === timapi.constants.RequestType.counterRequest) { + this.notifyRequestCompleted = true; + } + } + else { + this.lastException = event.$exception; + this.notifyRequestCompleted = true; + } + } + deactivateCompleted(event, data) { + if (this.notifyRequestType == undefined || this.notifyRequestCompleted) { + return; + } + if (event.$exception == undefined) { + this.lastDeactivateResponse = data; + if (this.notifyRequestType === timapi.constants.RequestType.deactivate) { + this.notifyRequestCompleted = true; + } + } + else { + this.lastException = event.$exception; + this.notifyRequestCompleted = true; + } + } + dccRatesCompleted(event, data) { + if (this.notifyRequestType == undefined || this.notifyRequestCompleted) { + return; + } + if (event.$exception == undefined) { + this.lastDccRatesResponse = data; + if (this.notifyRequestType === timapi.constants.RequestType.dccRates) { + this.notifyRequestCompleted = true; + } + } + else { + this.lastException = event.$exception; + this.notifyRequestCompleted = true; + } + } + hardwareInformationCompleted(event, data) { + if (this.notifyRequestType == undefined || this.notifyRequestCompleted) { + return; + } + if (event.$exception == undefined) { + this.lastHardwareInformationResponse = data; + if (this.notifyRequestType === + timapi.constants.RequestType.hardwareInformation) { + this.notifyRequestCompleted = true; + } + } + else { + this.lastException = event.$exception; + this.notifyRequestCompleted = true; + } + } + initTransactionCompleted(event, data) { + if (this.notifyRequestType == undefined || this.notifyRequestCompleted) { + return; + } + if (event.$exception == undefined) { + this.lastInitTransactionResponse = data; + if (this.notifyRequestType === + timapi.constants.RequestType.initTransaction) { + this.notifyRequestCompleted = true; + } + } + else { + this.lastException = event.$exception; + this.notifyRequestCompleted = true; + } + } + loginCompleted(event) { + this.datalessRequestCompleted(event, timapi.constants.RequestType.login); + } + logoutCompleted(event) { + this.datalessRequestCompleted(event, timapi.constants.RequestType.logout); + } + rebootCompleted(event) { + this.datalessRequestCompleted(event, timapi.constants.RequestType.reboot); + } + reconciliationCompleted(event, data) { + if (this.notifyRequestType == undefined || this.notifyRequestCompleted) { + return; + } + if (event.$exception == undefined) { + this.lastReconciliationResponse = data; + if (this.notifyRequestType === timapi.constants.RequestType.reconciliation) { + this.notifyRequestCompleted = true; + } + } + else { + this.lastException = event.$exception; + this.notifyRequestCompleted = true; + } + } + receiptRequestCompleted(event, data) { + if (this.notifyRequestType == undefined || this.notifyRequestCompleted) { + return; + } + if (event.$exception == undefined) { + this.lastReceiptRequestResponse = data; + if (this.notifyRequestType === timapi.constants.RequestType.receiptRequest) { + this.notifyRequestCompleted = true; + } + } + else { + this.lastException = event.$exception; + this.notifyRequestCompleted = true; + } + } + reconfigCompleted(event, data) { + if (this.notifyRequestType == undefined || this.notifyRequestCompleted) { + return; + } + if (event.$exception == undefined) { + this.lastReconfigResponse = data; + if (this.notifyRequestType === timapi.constants.RequestType.reconfig) { + this.notifyRequestCompleted = true; + } + } + else { + this.lastException = event.$exception; + this.notifyRequestCompleted = true; + } + } + rollbackCompleted(event, data) { + if (this.notifyRequestType == undefined || this.notifyRequestCompleted) { + return; + } + if (event.$exception == undefined) { + this.lastRollbackResponse = data; + if (this.notifyRequestType === timapi.constants.RequestType.rollback) { + this.notifyRequestCompleted = true; + } + } + else { + this.lastException = event.$exception; + this.notifyRequestCompleted = true; + } + } + softwareUpdateCompleted(event, data) { + if (this.notifyRequestType == undefined || this.notifyRequestCompleted) { + return; + } + if (event.$exception == undefined) { + this.lastSoftwareUpdateResponse = data; + if (this.notifyRequestType === timapi.constants.RequestType.softwareUpdate) { + this.notifyRequestCompleted = true; + } + } + else { + this.lastException = event.$exception; + this.notifyRequestCompleted = true; + } + } + systemInformationCompleted(event, data) { + if (this.notifyRequestType == undefined || this.notifyRequestCompleted) { + return; + } + if (event.$exception == undefined) { + this.lastSystemInformationResponse = data; + if (this.notifyRequestType === + timapi.constants.RequestType.systemInformation) { + this.notifyRequestCompleted = true; + } + } + else { + this.lastException = event.$exception; + this.notifyRequestCompleted = true; + } + } + transactionCompleted(event, data) { + if (this.notifyRequestType == undefined || this.notifyRequestCompleted) { + return; + } + if (event.$exception == undefined) { + this.lastTransactionResponse = data; + if (this.notifyRequestType === timapi.constants.RequestType.transaction) { + this.notifyRequestCompleted = true; + } + } + else { + this.lastException = event.$exception; + this.notifyRequestCompleted = true; + } + } + terminalStatusChanged(terminal) { + } + disconnected(terminal, exception) { + if (this.notifyRequestType == undefined || this.notifyRequestCompleted) { + return; + } + this.lastException = exception; + this.notifyRequestCompleted = true; + } + datalessRequestCompleted(event, matchesType) { + if (this.notifyRequestType == undefined || this.notifyRequestCompleted) { + return; + } + if (event.$exception == undefined) { + if (this.notifyRequestType === matchesType) { + this.notifyRequestCompleted = true; + } + } + else { + this.lastException = event.$exception; + this.notifyRequestCompleted = true; + } + } + closeReaderCompleted(event) { + this.datalessRequestCompleted(event, timapi.constants.RequestType.closeReader); + } + openReaderCompleted(event) { + this.datalessRequestCompleted(event, timapi.constants.RequestType.openReader); + } + ejectCardCompleted(event) { + this.datalessRequestCompleted(event, timapi.constants.RequestType.ejectCard); + } + openMaintenanceWindowCompleted(event) { + this.datalessRequestCompleted(event, timapi.constants.RequestType.openMaintenanceWindow); + } + closeMaintenanceWindowCompleted(event) { + this.datalessRequestCompleted(event, timapi.constants.RequestType.closeMaintenanceWindow); + } + activateServiceMenuCompleted(event) { + this.datalessRequestCompleted(event, timapi.constants.RequestType.activateServiceMenu); + } + openDialogModeCompleted(event) { + this.datalessRequestCompleted(event, timapi.constants.RequestType.openDialogMode); + } + closeDialogModeCompleted(event) { + this.datalessRequestCompleted(event, timapi.constants.RequestType.closeDialogMode); + } + showSignatureCaptureCompleted(event, data) { + if (this.notifyRequestType == undefined || this.notifyRequestCompleted) { + return; + } + if (event.$exception == undefined) { + this.lastShowSignatureCaptureResponse = data; + if (this.notifyRequestType === + timapi.constants.RequestType.showSignatureCapture) { + this.notifyRequestCompleted = true; + } + } + else { + this.lastException = event.$exception; + this.notifyRequestCompleted = true; + } + } + showDialogCompleted(event, data) { + if (this.notifyRequestType == undefined || this.notifyRequestCompleted) { + return; + } + if (event.$exception == undefined) { + this.lastShowDialogResponse = data; + if (this.notifyRequestType === timapi.constants.RequestType.showDialog) { + this.notifyRequestCompleted = true; + } + } + else { + this.lastException = event.$exception; + this.notifyRequestCompleted = true; + } + } + balanceInquiryCompleted(event, data) { + if (this.notifyRequestType == undefined || this.notifyRequestCompleted) { + return; + } + if (event.$exception == undefined) { + this.lastBalanceInquiryResponse = data; + if (this.notifyRequestType === timapi.constants.RequestType.balanceInquiry) { + this.notifyRequestCompleted = true; + } + } + else { + this.lastException = event.$exception; + this.notifyRequestCompleted = true; + } + } + queryLoyaltyCompleted(event, data) { + if (this.notifyRequestType == undefined || this.notifyRequestCompleted) { + return; + } + if (event.$exception == undefined) { + this.lastQueryLoyaltyResponse = data; + if (this.notifyRequestType === timapi.constants.RequestType.queryLoyalty) { + this.notifyRequestCompleted = true; + } + } + else { + this.lastException = event.$exception; + this.notifyRequestCompleted = true; + } + } + } + timapi.SynchronousTerminalListener = SynchronousTerminalListener; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class SystemInformationResponse { + constructor($networkInformation) { + this.networkInformation = $networkInformation; + } + get $networkInformation() { + return this.networkInformation; + } + } + timapi.SystemInformationResponse = SystemInformationResponse; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class Terminal { + constructor(settings) { + this.initLogging(settings); + Terminal.logger.log(timapi.logging.Level.INFO, "TimApiBuildInfo: Version=" + timapi.InternalBuildInfo.VERSION + + " Date=" + timapi.InternalBuildInfo.DATE); + if (Terminal.logger.isLoggable(timapi.logging.Level.FINEST)) { + Terminal.logger.entering(Terminal.CLASS_NAME, "<constructor>", [settings]); + } + else { + Terminal.logger.entering(Terminal.CLASS_NAME, "<constructor>"); + } + if (settings.$connectionMode === + timapi.constants.ConnectionMode.broadcast && + settings.$terminalId.length === 0) { + throw new Error("Terminal ID can not be empty if broadcast connection mode is used"); + } + if (settings.$connectionMode === timapi.constants.ConnectionMode.onFixIp && + settings.$connectionIPString.length === 0) { + throw new Error("Connection IP can not be empty if IP connection mode is used"); + } + this.settings = new timapi.TerminalSettingsImmutable(settings); + this.transactionData = new timapi.TransactionData(); + this.initEcrData(); + this.initPrintOptions(); + this.backend = new timapi.TerminalBackendSixml(this); + Terminal.logger.exiting(Terminal.CLASS_NAME, "<constructor>"); + } + dispose() { + Terminal.logger.entering(Terminal.CLASS_NAME, "dispose"); + this.backend.dispose(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "dispose"); + } + get $settings() { + return this.settings; + } + terminalId() { + return this.backend.$terminalId; + } + get $posId() { + return this.posId; + } + set $posId(value) { + if (Terminal.logger.isLoggable(timapi.logging.Level.FINEST)) { + Terminal.logger.entering(Terminal.CLASS_NAME, "setPosId", [this.posId]); + } + else { + Terminal.logger.entering(Terminal.CLASS_NAME, "setPosId"); + } + this.posId = value; + Terminal.logger.exiting(Terminal.CLASS_NAME, "setPosId"); + } + get $userId() { + return this.userId; + } + set $userId(value) { + if (Terminal.logger.isLoggable(timapi.logging.Level.FINEST)) { + Terminal.logger.entering(Terminal.CLASS_NAME, "setUserId", [this.userId]); + } + else { + Terminal.logger.entering(Terminal.CLASS_NAME, "setUserId"); + } + this.userId = value; + Terminal.logger.exiting(Terminal.CLASS_NAME, "setUserId"); + } + get $ecrData() { + return this.ecrData; + } + set $ecrData(value) { + if (Terminal.logger.isLoggable(timapi.logging.Level.FINEST)) { + Terminal.logger.entering(Terminal.CLASS_NAME, "setEcrData", [this.ecrData]); + } + else { + Terminal.logger.entering(Terminal.CLASS_NAME, "setEcrData"); + } + this.ecrData = value; + Terminal.logger.exiting(Terminal.CLASS_NAME, "setEcrData"); + } + get $printOptions() { + return this.printOptions; + } + set $printOptions(value) { + if (Terminal.logger.isLoggable(timapi.logging.Level.FINEST)) { + Terminal.logger.entering(Terminal.CLASS_NAME, "setPrintOptions", [ + this.printOptions + ]); + } + else { + Terminal.logger.entering(Terminal.CLASS_NAME, "setPrintOptions"); + } + this.printOptions = value; + Terminal.logger.exiting(Terminal.CLASS_NAME, "setPrintOptions"); + } + get $merchantOptions() { + return this.merchantOptions; + } + set $merchantOptions(value) { + if (Terminal.logger.isLoggable(timapi.logging.Level.FINEST)) { + Terminal.logger.entering(Terminal.CLASS_NAME, "setMerchantOptions", [ + this.merchantOptions + ]); + } + else { + Terminal.logger.entering(Terminal.CLASS_NAME, "setMerchantOptions"); + } + this.merchantOptions = value; + Terminal.logger.exiting(Terminal.CLASS_NAME, "setMerchantOptions"); + } + get $transactionData() { + return this.transactionData; + } + set $transactionData(value) { + if (Terminal.logger.isLoggable(timapi.logging.Level.FINEST)) { + Terminal.logger.entering(Terminal.CLASS_NAME, "setTransactionData", [ + this.transactionData + ]); + } + else { + Terminal.logger.entering(Terminal.CLASS_NAME, "setTransactionData"); + } + this.transactionData = value; + Terminal.logger.exiting(Terminal.CLASS_NAME, "setTransactionData"); + } + get $receiptFormatter() { + return this.receiptFormatter; + } + set $receiptFormatter(value) { + this.receiptFormatter = value; + } + getTerminalStatus() { + return this.backend.$terminalStatus; + } + getBrands() { + return this.backend.$brands; + } + getFeatures() { + return this.backend.$features; + } + getActSeqCounter() { + return this.backend.$actSeqCounter; + } + getConfigData() { + return this.backend.$configData; + } + activate() { + Terminal.logger.entering(Terminal.CLASS_NAME, "activate"); + let result = this.backend.activate(); + if (Terminal.logger.isLoggable(timapi.logging.Level.FINEST)) { + Terminal.logger.exiting(Terminal.CLASS_NAME, "activate", [result]); + } + else { + Terminal.logger.exiting(Terminal.CLASS_NAME, "activate"); + } + return result; + } + activateAsync() { + Terminal.logger.entering(Terminal.CLASS_NAME, "activateAsync"); + this.backend.activateAsync(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "activateAsync"); + } + applicationInformation() { + Terminal.logger.entering(Terminal.CLASS_NAME, "applicationInformation"); + this.backend.applicationInformation(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "applicationInformation"); + } + applicationInformationAsync() { + Terminal.logger.entering(Terminal.CLASS_NAME, "applicationInformationAsync"); + this.backend.applicationInformationAsync(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "applicationInformationAsync"); + } + balance() { + Terminal.logger.entering(Terminal.CLASS_NAME, "balance"); + let result = this.backend.balance(); + if (Terminal.logger.isLoggable(timapi.logging.Level.FINEST)) { + Terminal.logger.exiting(Terminal.CLASS_NAME, "balance", [result]); + } + else { + Terminal.logger.exiting(Terminal.CLASS_NAME, "balance"); + } + return result; + } + balanceAsync() { + Terminal.logger.entering(Terminal.CLASS_NAME, "balanceAsync"); + this.backend.balanceAsync(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "balanceAsync"); + } + cancel(silent, retainCard) { + if (silent == undefined && retainCard == undefined) { + Terminal.logger.entering(Terminal.CLASS_NAME, "cancel"); + this.backend.cancel(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "cancel"); + } + else if (Terminal.logger.isLoggable(timapi.logging.Level.FINEST)) { + Terminal.logger.entering(Terminal.CLASS_NAME, "cancel(silent,retainCard)", [silent, retainCard]); + } + else { + Terminal.logger.entering(Terminal.CLASS_NAME, "cancel(silent,retainCard)"); + } + if (silent !== undefined && + silent !== undefined && + retainCard !== undefined && + retainCard !== undefined) { + this.backend.cancel(silent, retainCard); + Terminal.logger.exiting(Terminal.CLASS_NAME, "cancel(silent,retainCard)"); + } + } + changeSettings(settings) { + if (Terminal.logger.isLoggable(timapi.logging.Level.FINEST)) { + Terminal.logger.entering(Terminal.CLASS_NAME, "changeSettings", [ + settings + ]); + } + else { + Terminal.logger.entering(Terminal.CLASS_NAME, "changeSettings"); + } + this.backend.changeSettings(settings); + Terminal.logger.exiting(Terminal.CLASS_NAME, "changeSettings"); + } + changeSettingsAsync(settings) { + if (Terminal.logger.isLoggable(timapi.logging.Level.FINEST)) { + Terminal.logger.entering(Terminal.CLASS_NAME, "changeSettingsAsync", [ + settings + ]); + } + else { + Terminal.logger.entering(Terminal.CLASS_NAME, "changeSettingsAsync"); + } + this.backend.changeSettingsAsync(settings); + Terminal.logger.exiting(Terminal.CLASS_NAME, "changeSettingsAsync"); + } + commit() { + Terminal.logger.entering(Terminal.CLASS_NAME, "commit"); + this.backend.commit(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "commit"); + } + commitAsync() { + Terminal.logger.entering(Terminal.CLASS_NAME, "commitAsync"); + this.backend.commitAsync(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "commitAsync"); + } + connect() { + Terminal.logger.entering(Terminal.CLASS_NAME, "connect"); + this.backend.connect(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "connect"); + } + counterRequest(type) { + if (Terminal.logger.isLoggable(timapi.logging.Level.FINEST)) { + Terminal.logger.entering(Terminal.CLASS_NAME, "counterRequest", [type]); + } + else { + Terminal.logger.entering(Terminal.CLASS_NAME, "counterRequest"); + } + let result = this.backend.counterRequest(type); + if (Terminal.logger.isLoggable(timapi.logging.Level.FINEST)) { + Terminal.logger.exiting(Terminal.CLASS_NAME, "counterRequest", [ + result + ]); + } + else { + Terminal.logger.exiting(Terminal.CLASS_NAME, "counterRequest"); + } + return result; + } + counterRequestAsync(type) { + if (Terminal.logger.isLoggable(timapi.logging.Level.FINEST)) { + Terminal.logger.entering(Terminal.CLASS_NAME, "counterRequestAsync", [type]); + } + else { + Terminal.logger.entering(Terminal.CLASS_NAME, "counterRequestAsync"); + } + this.backend.counterRequestAsync(type); + Terminal.logger.exiting(Terminal.CLASS_NAME, "counterRequestAsync"); + } + deactivate() { + Terminal.logger.entering(Terminal.CLASS_NAME, "deactivate"); + let result = this.backend.deactivate(); + if (Terminal.logger.isLoggable(timapi.logging.Level.FINEST)) { + Terminal.logger.exiting(Terminal.CLASS_NAME, "deactivate", [result]); + } + else { + Terminal.logger.exiting(Terminal.CLASS_NAME, "deactivate"); + } + return result; + } + deactivateAsync() { + Terminal.logger.entering(Terminal.CLASS_NAME, "deactivateAsync"); + this.backend.deactivateAsync(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "deactivateAsync"); + } + disconnect() { + Terminal.logger.entering(Terminal.CLASS_NAME, "disconnect"); + this.backend.disconnect(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "disconnect"); + } + dccRates() { + Terminal.logger.entering(Terminal.CLASS_NAME, "dccRates"); + let result = this.backend.dccRates(); + if (Terminal.logger.isLoggable(timapi.logging.Level.FINEST)) { + Terminal.logger.exiting(Terminal.CLASS_NAME, "dccRates", [result]); + } + else { + Terminal.logger.exiting(Terminal.CLASS_NAME, "dccRates"); + } + return result; + } + dccRatesAsync() { + Terminal.logger.entering(Terminal.CLASS_NAME, "dccRatesAsync"); + this.backend.dccRatesAsync(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "dccRatesAsync"); + } + hardwareInformation() { + Terminal.logger.entering(Terminal.CLASS_NAME, "hardwareInformation"); + this.backend.hardwareInformation(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "hardwareInformation"); + } + hardwareInformationAsync() { + Terminal.logger.entering(Terminal.CLASS_NAME, "hardwareInformationAsync"); + this.backend.hardwareInformationAsync(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "hardwareInformationAsync"); + } + initTransaction(displayAmount, amount) { + Terminal.logger.entering(Terminal.CLASS_NAME, "initTransaction", [ + displayAmount + ]); + let result = this.backend.initTransaction(displayAmount, amount); + Terminal.logger.exiting(Terminal.CLASS_NAME, "initTransaction", [result]); + return result; + } + initTransactionAsync(displayAmount, amount) { + Terminal.logger.entering(Terminal.CLASS_NAME, "initTransactionAsync", [ + displayAmount + ]); + this.backend.initTransactionAsync(displayAmount, amount); + Terminal.logger.exiting(Terminal.CLASS_NAME, "initTransactionAsync"); + } + login() { + Terminal.logger.entering(Terminal.CLASS_NAME, "login"); + this.backend.login(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "login"); + } + loginAsync() { + Terminal.logger.entering(Terminal.CLASS_NAME, "loginAsync"); + this.backend.loginAsync(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "loginAsync"); + } + logout() { + Terminal.logger.entering(Terminal.CLASS_NAME, "logout"); + this.backend.logout(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "logout"); + } + logoutAsync() { + Terminal.logger.entering(Terminal.CLASS_NAME, "logoutAsync"); + this.backend.logoutAsync(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "logoutAsync"); + } + reboot() { + Terminal.logger.entering(Terminal.CLASS_NAME, "reboot"); + this.backend.reboot(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "reboot"); + } + rebootAsync() { + Terminal.logger.entering(Terminal.CLASS_NAME, "rebootAsync"); + this.backend.rebootAsync(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "rebootAsync"); + } + reconciliation() { + Terminal.logger.entering(Terminal.CLASS_NAME, "reconciliation"); + let result = this.backend.reconciliation(); + if (Terminal.logger.isLoggable(timapi.logging.Level.FINEST)) { + Terminal.logger.exiting(Terminal.CLASS_NAME, "reconciliation", [ + result + ]); + } + else { + Terminal.logger.exiting(Terminal.CLASS_NAME, "reconciliation"); + } + return result; + } + reconciliationAsync() { + Terminal.logger.entering(Terminal.CLASS_NAME, "reconciliationAsync"); + this.backend.reconciliationAsync(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "reconciliationAsync"); + } + receiptRequest(type) { + if (Terminal.logger.isLoggable(timapi.logging.Level.FINEST)) { + Terminal.logger.entering(Terminal.CLASS_NAME, "receiptRequest", [type]); + } + else { + Terminal.logger.entering(Terminal.CLASS_NAME, "receiptRequest"); + } + let result = this.backend.receiptRequest(type); + if (Terminal.logger.isLoggable(timapi.logging.Level.FINEST)) { + Terminal.logger.exiting(Terminal.CLASS_NAME, "receiptRequest", [ + result + ]); + } + else { + Terminal.logger.exiting(Terminal.CLASS_NAME, "receiptRequest"); + } + return result; + } + receiptRequestAsync(type) { + if (Terminal.logger.isLoggable(timapi.logging.Level.FINEST)) { + Terminal.logger.entering(Terminal.CLASS_NAME, "receiptRequestAsync", [type]); + } + else { + Terminal.logger.entering(Terminal.CLASS_NAME, "receiptRequestAsync"); + } + this.backend.receiptRequestAsync(type); + Terminal.logger.exiting(Terminal.CLASS_NAME, "receiptRequestAsync"); + } + reconfig() { + Terminal.logger.entering(Terminal.CLASS_NAME, "reconfig"); + let result = this.backend.reconfig(); + if (Terminal.logger.isLoggable(timapi.logging.Level.FINEST)) { + Terminal.logger.exiting(Terminal.CLASS_NAME, "reconfig", [result]); + } + else { + Terminal.logger.exiting(Terminal.CLASS_NAME, "reconfig"); + } + return result; + } + reconfigAsync() { + Terminal.logger.entering(Terminal.CLASS_NAME, "reconfigAsync"); + this.backend.reconfigAsync(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "reconfigAsync"); + } + rollback() { + Terminal.logger.entering(Terminal.CLASS_NAME, "rollback"); + let result = this.backend.rollback(); + if (Terminal.logger.isLoggable(timapi.logging.Level.FINEST)) { + Terminal.logger.exiting(Terminal.CLASS_NAME, "rollback", [result]); + } + else { + Terminal.logger.exiting(Terminal.CLASS_NAME, "rollback"); + } + return result; + } + rollbackAsync() { + Terminal.logger.entering(Terminal.CLASS_NAME, "rollbackAsync"); + this.backend.rollbackAsync(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "rollbackAsync"); + } + softwareUpdate() { + Terminal.logger.entering(Terminal.CLASS_NAME, "softwareUpdate"); + let result = this.backend.softwareUpdate(); + if (Terminal.logger.isLoggable(timapi.logging.Level.FINEST)) { + Terminal.logger.exiting(Terminal.CLASS_NAME, "softwareUpdate", [ + result + ]); + } + else { + Terminal.logger.exiting(Terminal.CLASS_NAME, "softwareUpdate"); + } + return result; + } + softwareUpdateAsync() { + Terminal.logger.entering(Terminal.CLASS_NAME, "softwareUpdateAsync"); + this.backend.softwareUpdateAsync(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "softwareUpdateAsync"); + } + systemInformation() { + Terminal.logger.entering(Terminal.CLASS_NAME, "systemInformation"); + let result = this.backend.systemInformation(); + if (Terminal.logger.isLoggable(timapi.logging.Level.FINEST)) { + Terminal.logger.exiting(Terminal.CLASS_NAME, "systemInformation", [ + result + ]); + } + else { + Terminal.logger.exiting(Terminal.CLASS_NAME, "systemInformation"); + } + return result; + } + systemInformationAsync() { + Terminal.logger.entering(Terminal.CLASS_NAME, "systemInformationAsync"); + this.backend.systemInformationAsync(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "systemInformationAsync"); + } + transaction(type, amountOrTransactionRequest) { + if (amountOrTransactionRequest instanceof timapi.Amount) { + return this.transactionWithAmount(type, amountOrTransactionRequest); + } + else if (amountOrTransactionRequest instanceof timapi.TransactionRequest) { + return this.transactionWithTransactionRequest(type, amountOrTransactionRequest); + } + return undefined; + } + transactionWithAmount(type, amount) { + if (Terminal.logger.isLoggable(timapi.logging.Level.FINEST)) { + Terminal.logger.entering(Terminal.CLASS_NAME, "transaction", new Array({ type, amount })); + } + else { + Terminal.logger.entering(Terminal.CLASS_NAME, "transaction"); + } + let result = this.backend.transaction(type, amount); + result = new timapi.TransactionResponse(result.$transactionType, result.$amount, result.$amount, result.$amountDcc, result.$amountSaldo, result.$transactionInformation, result.$dccDisclaimer, result.$cardData, timapi.Convenience.processPrintReceipts(this, result.$printData), result.$tipAmount, result.$additionalInfo, result.$basket); + if (Terminal.logger.isLoggable(timapi.logging.Level.FINEST)) { + Terminal.logger.exiting(Terminal.CLASS_NAME, "transaction", [result]); + } + else { + Terminal.logger.exiting(Terminal.CLASS_NAME, "transaction"); + } + return result; + } + transactionWithTransactionRequest(type, request) { + if (Terminal.logger.isLoggable(timapi.logging.Level.FINEST)) { + Terminal.logger.entering(Terminal.CLASS_NAME, "transaction", new Array({ type, request })); + } + else { + Terminal.logger.entering(Terminal.CLASS_NAME, "transaction"); + } + let result = this.backend.transaction(type, request); + result = new timapi.TransactionResponse(result.$transactionType, result.$amount, result.$amount, result.$amountDcc, result.$amountSaldo, result.$transactionInformation, result.$dccDisclaimer, result.$cardData, timapi.Convenience.processPrintReceipts(this, result.$printData), result.$tipAmount, result.$additionalInfo, result.$basket); + if (Terminal.logger.isLoggable(timapi.logging.Level.FINEST)) { + Terminal.logger.exiting(Terminal.CLASS_NAME, "transaction", [result]); + } + else { + Terminal.logger.exiting(Terminal.CLASS_NAME, "transaction"); + } + return result; + } + transactionAsync(type, amountOrRequest) { + if (amountOrRequest instanceof timapi.Amount) { + this.transactionAsyncWithAmount(type, amountOrRequest); + } + else if (amountOrRequest instanceof timapi.TransactionRequest) { + this.transactionAsyncWithRequest(type, amountOrRequest); + } + } + transactionAsyncWithAmount(type, amount) { + if (Terminal.logger.isLoggable(timapi.logging.Level.FINEST)) { + Terminal.logger.entering(Terminal.CLASS_NAME, "transactionAsync", new Array({ type, amount })); + } + else { + Terminal.logger.entering(Terminal.CLASS_NAME, "transactionAsync"); + } + this.backend.transactionAsync(type, amount); + Terminal.logger.exiting(Terminal.CLASS_NAME, "transactionAsync"); + } + transactionAsyncWithRequest(type, request) { + if (Terminal.logger.isLoggable(timapi.logging.Level.FINEST)) { + Terminal.logger.entering(Terminal.CLASS_NAME, "transactionAsync", new Array({ type, request })); + } + else { + Terminal.logger.entering(Terminal.CLASS_NAME, "transactionAsync"); + } + this.backend.transactionAsync(type, request); + Terminal.logger.exiting(Terminal.CLASS_NAME, "transactionAsync"); + } + transactionTip(type, amount, tipAmount) { + if (Terminal.logger.isLoggable(timapi.logging.Level.FINEST)) { + Terminal.logger.entering(Terminal.CLASS_NAME, "transactionTip", new Array({ type, amount })); + } + else { + Terminal.logger.entering(Terminal.CLASS_NAME, "transactionTip"); + } + let result = this.backend.transactionTip(type, amount, tipAmount); + if (Terminal.logger.isLoggable(timapi.logging.Level.FINEST)) { + Terminal.logger.exiting(Terminal.CLASS_NAME, "transactionTip", [ + result + ]); + } + else { + Terminal.logger.exiting(Terminal.CLASS_NAME, "transactionTip"); + } + return result; + } + transactionTipAsync(type, amount, tipAmount) { + if (Terminal.logger.isLoggable(timapi.logging.Level.FINEST)) { + Terminal.logger.entering(Terminal.CLASS_NAME, "transactionTipAsync", new Array({ type, amount, tipAmount })); + } + else { + Terminal.logger.entering(Terminal.CLASS_NAME, "transactionTipAsync"); + } + this.backend.transactionTipAsync(type, amount, tipAmount); + Terminal.logger.exiting(Terminal.CLASS_NAME, "transactionTipAsync"); + } + transactionCashback(type, amount, amountOther) { + Terminal.logger.entering(Terminal.CLASS_NAME, "transactionCashback(TransactionType,Amount,Amount)", [type, amount, amountOther]); + let result = this.backend.transactionCashback(type, amount, amountOther); + Terminal.logger.exiting(Terminal.CLASS_NAME, "transactionCashback(TransactionType,Amount,Amount)", [result]); + return result; + } + transactionCashbackAsync(type, amount, amountOther) { + Terminal.logger.entering(Terminal.CLASS_NAME, "transactionCashbackAsync(TransactionType,Amount,Amount)", [type, amount, amountOther]); + this.backend.transactionCashbackAsync(type, amount, amountOther); + Terminal.logger.exiting(Terminal.CLASS_NAME, "transactionCashbackAsync(TransactionType,Amount,Amount)"); + } + closeReader() { + Terminal.logger.entering(Terminal.CLASS_NAME, "closeReader"); + this.backend.closeReader(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "closeReader"); + } + closeReaderAsync() { + Terminal.logger.entering(Terminal.CLASS_NAME, "closeReaderAsync"); + this.backend.closeReaderAsync(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "closeReaderAsync"); + } + openReader() { + Terminal.logger.entering(Terminal.CLASS_NAME, "openReader"); + this.backend.openReader(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "openReader"); + } + openReaderAsync() { + Terminal.logger.entering(Terminal.CLASS_NAME, "openReaderAsync"); + this.backend.openReaderAsync(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "openReaderAsync"); + } + ejectCard() { + Terminal.logger.entering(Terminal.CLASS_NAME, "ejectCard"); + this.backend.ejectCard(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "ejectCard"); + } + ejectCardAsync() { + Terminal.logger.entering(Terminal.CLASS_NAME, "ejectCardAsync"); + this.backend.ejectCardAsync(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "ejectCardAsync"); + } + openMaintenanceWindow() { + Terminal.logger.entering(Terminal.CLASS_NAME, "openMaintenanceWindow"); + this.backend.openMaintenanceWindow(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "openMaintenanceWindow"); + } + openMaintenanceWindowAsync() { + Terminal.logger.entering(Terminal.CLASS_NAME, "openMaintenanceWindowAsync"); + this.backend.openMaintenanceWindowAsync(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "openMaintenanceWindowAsync"); + } + closeMaintenanceWindow() { + Terminal.logger.entering(Terminal.CLASS_NAME, "closeMaintenanceWindow"); + this.backend.closeMaintenanceWindow(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "closeMaintenanceWindow"); + } + closeMaintenanceWindowAsync() { + Terminal.logger.entering(Terminal.CLASS_NAME, "closeMaintenanceWindowAsync"); + this.backend.closeMaintenanceWindowAsync(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "closeMaintenanceWindowAsync"); + } + holdCommit() { + Terminal.logger.entering(Terminal.CLASS_NAME, "holdCommit"); + this.backend.holdCommit(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "holdCommit"); + } + activateServiceMenu() { + Terminal.logger.entering(Terminal.CLASS_NAME, "activateServiceMenu"); + this.backend.activateServiceMenu(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "activateServiceMenu"); + } + activateServiceMenuAsync() { + Terminal.logger.entering(Terminal.CLASS_NAME, "activateServiceMenuAsync"); + this.backend.activateServiceMenuAsync(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "activateServiceMenuAsync"); + } + openDialogMode() { + Terminal.logger.entering(Terminal.CLASS_NAME, "openDialogMode"); + this.backend.openDialogMode(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "openDialogMode"); + } + openDialogModeAsync() { + Terminal.logger.entering(Terminal.CLASS_NAME, "openDialogModeAsync"); + this.backend.openDialogModeAsync(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "openDialogModeAsync"); + } + closeDialogMode() { + Terminal.logger.entering(Terminal.CLASS_NAME, "closeDialogMode"); + this.backend.closeDialogMode(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "closeDialogMode"); + } + closeDialogModeAsync() { + Terminal.logger.entering(Terminal.CLASS_NAME, "closeDialogModeAsync"); + this.backend.closeDialogModeAsync(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "closeDialogModeAsync"); + } + showSignatureCapture(request) { + Terminal.logger.entering(Terminal.CLASS_NAME, "showSignatureCapture", [ + request + ]); + let result = this.backend.showSignatureCapture(request); + Terminal.logger.exiting(Terminal.CLASS_NAME, "showSignatureCapture", [ + result + ]); + return result; + } + showSignatureCaptureAsync(request) { + Terminal.logger.entering(Terminal.CLASS_NAME, "showSignatureCaptureAsync", [request]); + this.backend.showSignatureCaptureAsync(request); + Terminal.logger.exiting(Terminal.CLASS_NAME, "showSignatureCaptureAsync"); + } + showDialog(request) { + Terminal.logger.entering(Terminal.CLASS_NAME, "showDialog", [request]); + let result = this.backend.showDialog(request); + Terminal.logger.exiting(Terminal.CLASS_NAME, "showDialog", [result]); + return result; + } + showDialogAsync(request) { + Terminal.logger.entering(Terminal.CLASS_NAME, "showDialogAsync", [ + request + ]); + this.backend.showDialogAsync(request); + Terminal.logger.exiting(Terminal.CLASS_NAME, "showDialogAsync"); + } + balanceInquiry() { + Terminal.logger.entering(Terminal.CLASS_NAME, "balanceInquiry"); + let response = this.backend.balanceInquiry(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "balanceInquiry", [ + response + ]); + return response; + } + balanceInquiryAsync() { + Terminal.logger.entering(Terminal.CLASS_NAME, "balanceInquiryAsync"); + this.backend.balanceInquiryAsync(); + Terminal.logger.exiting(Terminal.CLASS_NAME, "balanceInquiryAsync"); + } + queryLoyalty(retainCard, loyaltyInfoType) { + Terminal.logger.entering(Terminal.CLASS_NAME, "queryLoyalty", [ + retainCard, + loyaltyInfoType + ]); + let response = this.backend.queryLoyalty(retainCard, loyaltyInfoType); + Terminal.logger.exiting(Terminal.CLASS_NAME, "queryLoyalty", [response]); + return response; + } + queryLoyaltyAsync(retainCard, loyaltyInfoType) { + Terminal.logger.entering(Terminal.CLASS_NAME, "queryLoyaltyAsync", [retainCard, loyaltyInfoType]); + this.backend.queryLoyaltyAsync(retainCard, loyaltyInfoType); + Terminal.logger.exiting(Terminal.CLASS_NAME, "queryLoyaltyAsync"); + } + addListener(listener) { + if (Terminal.logger.isLoggable(timapi.logging.Level.FINEST)) { + Terminal.logger.entering(Terminal.CLASS_NAME, "addListener", [ + listener + ]); + } + else { + Terminal.logger.entering(Terminal.CLASS_NAME, "addListener"); + } + this.backend.addListener(listener); + Terminal.logger.exiting(Terminal.CLASS_NAME, "addListener"); + } + removeListener(listener) { + if (Terminal.logger.isLoggable(timapi.logging.Level.FINEST)) { + Terminal.logger.entering(Terminal.CLASS_NAME, "removeListener", [ + listener + ]); + } + else { + Terminal.logger.entering(Terminal.CLASS_NAME, "removeListener"); + } + this.backend.removeListener(listener); + Terminal.logger.exiting(Terminal.CLASS_NAME, "removeListener"); + } + initLogging(settings) { + let retainFileCount = settings.$logRetainFileCount; + try { + let prefix = "api-"; + switch (settings.$connectionMode) { + case timapi.constants.ConnectionMode.broadcast: + prefix = prefix + settings.$terminalId + "-"; + break; + case timapi.constants.ConnectionMode.onFixIp: + prefix = + prefix + + "-"; + break; + default: + break; + } + } + catch (error) { + } + } + initEcrData() { + this.ecrData = new Array(); + let ecrInfo = new timapi.EcrInfo(); + ecrInfo.$name = window.navigator.platform; + ecrInfo.$version = window.navigator.appVersion; + ecrInfo.$integratorSolution = "Developer"; + this.ecrData.push(ecrInfo); + } + initPrintOptions() { + this.printOptions = new Array(); + this.printOptions.push(new timapi.PrintOption(timapi.constants.Recipient.merchant, timapi.constants.PrintFormat.normal, 40, new Set())); + this.printOptions.push(new timapi.PrintOption(timapi.constants.Recipient.cardholder, timapi.constants.PrintFormat.normal, 40, new Set())); + } + } + Terminal.CLASS_NAME = "Terminal.ts"; + Terminal.logger = timapi.logging.Logger.getLogger(Terminal.logger_NAME); + timapi.Terminal = Terminal; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class TerminalBackend { + constructor(terminal) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "<constructor>"); + if (terminal == undefined) { + throw new Error("terminal is undefined or null"); + } + this.terminal = terminal; + this.listeners = new Array(); + this.lockCountListeners = 0; + TerminalBackend.logger.exiting(TerminalBackend.CLASS_NAME, "<constructor>"); + } + get $terminal() { + return this.terminal; + } + get $terminalStatus() { + return this.terminalStatus; + } + set $terminalStatus(value) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "setTerminalStatus", [this.terminalStatus]); + this.terminalStatus = value; + TerminalBackend.logger.exiting(TerminalBackend.CLASS_NAME, "setTerminalStatus"); + } + get $brands() { + return this.brands; + } + set $brands(value) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "setBrands", [this.brands]); + this.brands = value; + TerminalBackend.logger.exiting(TerminalBackend.CLASS_NAME, "setBrands"); + } + get $features() { + return this.features; + } + set $features(value) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "setFeatures", [this.$features]); + this.features = value; + TerminalBackend.logger.exiting(TerminalBackend.CLASS_NAME, "setFeatures"); + } + get $actSeqCounter() { + return this.actSeqCounter; + } + set $actSeqCounter(value) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "setActSeqCounter", [this.actSeqCounter]); + this.actSeqCounter = value; + TerminalBackend.logger.exiting(TerminalBackend.CLASS_NAME, "setActSeqCounter"); + } + get $configData() { + return this.configData; + } + set $configData(value) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "setConfigData", [this.configData]); + this.configData = value; + TerminalBackend.logger.exiting(TerminalBackend.CLASS_NAME, "setConfigData"); + } + get $terminalId() { + return this.terminalId; + } + set $terminalId(value) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "setTerminalId", [this.terminalId]); + this.terminalId = value; + TerminalBackend.logger.exiting(TerminalBackend.CLASS_NAME, "setTerminalId"); + } + get $runningRequest() { + return this.runningRequest; + } + hasRunningRequest() { + return this.runningRequest != undefined; + } + set $runningRequest(value) { + this.runningRequest = value; + } + clearRunningRequestIf(runningRequest) { + if (this.runningRequest === runningRequest) { + this.runningRequest = undefined; + } + } + dispose() { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "dispose"); + this.commDisconnect(); + this.listeners = new Array(); + this.lockCountListeners = 0; + this.lockedListeners = undefined; + TerminalBackend.logger.exiting(TerminalBackend.CLASS_NAME, "dispose"); + } + addListener(listener) { + if (TerminalBackend.logger.isLoggable(timapi.logging.Level.FINEST)) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "addListener", [listener]); + } + else { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "addListener"); + } + if (listener == undefined) { + throw new Error("listener is undefined"); + } + if (this.lockCountListeners === 0) { + if (this.listeners !== undefined) { + this.listeners.push(listener); + } + } + else { + if (this.lockedListeners == undefined) { + this.lockedListeners = this.listeners.slice(); + } + if (this.lockedListeners !== undefined) { + this.lockedListeners.push(listener); + } + } + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "addListener"); + } + removeListener(listener) { + if (TerminalBackend.logger.isLoggable(timapi.logging.Level.FINEST)) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "removeListener", [listener]); + } + else { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "removeListener"); + } + if (listener == undefined) { + throw new Error("listener is undefined"); + } + if (this.lockCountListeners === 0) { + if (this.listeners !== undefined) { + this.listeners = timapi.utils.ArrayAdditions.ArrayAdditions.remove(listener, this.listeners); + } + } + else { + if (this.lockedListeners == undefined) { + if (this.listeners !== undefined) { + this.lockedListeners = this.listeners.slice(); + } + else { + this.lockedListeners = new Array(); + } + } + this.lockedListeners = timapi.utils.ArrayAdditions.ArrayAdditions.remove(listener, this.lockedListeners); + } + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "removeListener"); + } + notifyConnectCompleted(exception) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyConnectCompleted"); + let event = new timapi.TimEvent(this.terminal, exception, timapi.constants.RequestType.connect); + this.lockListeners(); + try { + if (this.listeners !== undefined) { + for (let listener of this.listeners) { + listener.connectCompleted(event); + } + } + } + finally { + this.unlockListeners(); + } + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyConnectCompleted"); + } + notifyDisconnected(exception) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyDisconnected"); + this.lockListeners(); + try { + if (this.listeners !== undefined) { + for (let listener of this.listeners) { + listener.disconnected(this.terminal, exception); + } + } + } + finally { + this.unlockListeners(); + } + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyDisconnected"); + } + notifyActivateCompleted(exception, data) { + if (TerminalBackend.logger.isLoggable(timapi.logging.Level.FINEST)) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyActivateCompleted", [exception, data]); + } + else { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyActivateCompleted"); + } + this.clearRunningRequestIf(timapi.constants.RequestType.activate); + let event = new timapi.TimEvent(this.terminal, exception, timapi.constants.RequestType.activate); + this.lockListeners(); + try { + if (this.listeners !== undefined) { + for (let listener of this.listeners) { + listener.activateCompleted(event, data); + } + } + } + finally { + this.unlockListeners(); + } + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyActivateCompleted"); + } + notifyApplicationInformationCompleted(exception) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyApplicationInformationCompleted", [exception]); + this.clearRunningRequestIf(timapi.constants.RequestType.applicationInformation); + let event = new timapi.TimEvent(this.terminal, exception, timapi.constants.RequestType.applicationInformation); + this.lockListeners(); + try { + if (this.listeners !== undefined) { + for (let listener of this.listeners) { + listener.applicationInformationCompleted(event); + } + } + } + finally { + this.unlockListeners(); + } + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyApplicationInformationCompleted"); + } + notifyBalanceCompleted(exception, data) { + if (TerminalBackend.logger.isLoggable(timapi.logging.Level.FINEST)) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyBalanceCompleted", [exception, data]); + } + else { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyBalanceCompleted"); + } + this.clearRunningRequestIf(timapi.constants.RequestType.balance); + let event = new timapi.TimEvent(this.terminal, exception, timapi.constants.RequestType.balance); + this.lockListeners(); + try { + if (this.listeners !== undefined) { + for (let listener of this.listeners) { + listener.balanceCompleted(event, data); + } + } + } + finally { + this.unlockListeners(); + } + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyBalanceCompleted"); + } + notifyChangeSettingsCompleted(exception) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyBalanceCompleted", [exception]); + this.clearRunningRequestIf(timapi.constants.RequestType.changeSettings); + let event = new timapi.TimEvent(this.terminal, exception, timapi.constants.RequestType.changeSettings); + this.lockListeners(); + try { + if (this.listeners !== undefined) { + for (let listener of this.listeners) { + listener.changeSettingsCompleted(event); + } + } + } + finally { + this.unlockListeners(); + } + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyChangeSettingsCompleted"); + } + notifyCommitCompleted(exception) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyCommitCompleted", [exception]); + this.clearRunningRequestIf(timapi.constants.RequestType.commit); + let event = new timapi.TimEvent(this.terminal, exception, timapi.constants.RequestType.commit); + this.lockListeners(); + try { + if (this.listeners !== undefined) { + for (let listener of this.listeners) { + listener.commitCompleted(event); + } + } + } + finally { + this.unlockListeners(); + } + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyCommitCompleted"); + } + notifyCounterRequestCompleted(exception, data) { + if (TerminalBackend.logger.isLoggable(timapi.logging.Level.FINEST)) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyCounterRequestCompleted", [exception, data]); + } + else { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyCounterRequestCompleted"); + } + this.clearRunningRequestIf(timapi.constants.RequestType.counterRequest); + let event = new timapi.TimEvent(this.terminal, exception, timapi.constants.RequestType.counterRequest); + this.lockListeners(); + try { + if (this.listeners !== undefined) { + for (let listener of this.listeners) { + listener.counterRequestCompleted(event, data); + } + } + } + finally { + this.unlockListeners(); + } + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyCounterRequestCompleted"); + } + notifyDeactivateCompleted(exception, data) { + if (TerminalBackend.logger.isLoggable(timapi.logging.Level.FINEST)) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyDeactivateCompleted", [exception, data]); + } + else { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyDeactivateCompleted"); + } + this.clearRunningRequestIf(timapi.constants.RequestType.deactivate); + let event = new timapi.TimEvent(this.terminal, exception, timapi.constants.RequestType.deactivate); + this.lockListeners(); + try { + if (this.listeners !== undefined) { + for (let listener of this.listeners) { + listener.deactivateCompleted(event, data); + } + } + } + finally { + this.unlockListeners(); + } + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyDeactivateCompleted"); + } + notifyDccRatesCompleted(exception, data) { + if (TerminalBackend.logger.isLoggable(timapi.logging.Level.FINEST)) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyDccRatesCompleted", [exception, data]); + } + else { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyDccRatesCompleted"); + } + this.clearRunningRequestIf(timapi.constants.RequestType.dccRates); + let event = new timapi.TimEvent(this.terminal, exception, timapi.constants.RequestType.dccRates); + this.lockListeners(); + try { + if (this.listeners !== undefined) { + for (let listener of this.listeners) { + listener.dccRatesCompleted(event, data); + } + } + } + finally { + this.unlockListeners(); + } + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyDeactivateCompleted"); + } + notifyHardwareInformationCompleted(exception, data) { + if (TerminalBackend.logger.isLoggable(timapi.logging.Level.FINEST)) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyHardwareInformationCompleted", [exception, data]); + } + else { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyHardwareInformationCompleted"); + } + this.clearRunningRequestIf(timapi.constants.RequestType.hardwareInformation); + let event = new timapi.TimEvent(this.terminal, exception, timapi.constants.RequestType.hardwareInformation); + this.lockListeners(); + try { + if (this.listeners !== undefined) { + for (let listener of this.listeners) { + listener.hardwareInformationCompleted(event, data); + } + } + } + finally { + this.unlockListeners(); + } + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyHardwareInformationCompleted"); + } + notifyInitTransactionCompleted(exception, data) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyInitTransactionCompleted", [exception]); + this.clearRunningRequestIf(timapi.constants.RequestType.initTransaction); + let event = new timapi.TimEvent(this.terminal, exception, timapi.constants.RequestType.initTransaction); + this.lockListeners(); + try { + if (this.listeners !== undefined) { + for (let listener of this.listeners) { + listener.initTransactionCompleted(event, data); + } + } + } + finally { + this.unlockListeners(); + } + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyInitTransactionCompleted"); + } + notifyLoginCompleted(exception) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyLoginCompleted", [exception]); + this.clearRunningRequestIf(timapi.constants.RequestType.login); + let event = new timapi.TimEvent(this.terminal, exception, timapi.constants.RequestType.login); + this.lockListeners(); + try { + if (this.listeners !== undefined) { + for (let listener of this.listeners) { + listener.loginCompleted(event); + } + } + } + finally { + this.unlockListeners(); + } + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyLoginCompleted"); + } + notifyLogoutCompleted(exception) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyLogoutCompleted", [exception]); + this.clearRunningRequestIf(timapi.constants.RequestType.logout); + let event = new timapi.TimEvent(this.terminal, exception, timapi.constants.RequestType.logout); + this.lockListeners(); + try { + if (this.listeners !== undefined) { + for (let listener of this.listeners) { + listener.logoutCompleted(event); + } + } + } + finally { + this.unlockListeners(); + } + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyLogoutCompleted"); + } + notifyRebootCompleted(exception) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyRebootCompleted", [exception]); + this.clearRunningRequestIf(timapi.constants.RequestType.reboot); + let event = new timapi.TimEvent(this.terminal, exception, timapi.constants.RequestType.reboot); + this.lockListeners(); + try { + if (this.listeners !== undefined) { + for (let listener of this.listeners) { + listener.rebootCompleted(event); + } + } + } + finally { + this.unlockListeners(); + } + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyRebootCompleted"); + } + notifyReconciliationCompleted(exception, data) { + if (TerminalBackend.logger.isLoggable(timapi.logging.Level.FINEST)) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyReconciliationCompleted", [exception, data]); + } + else { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyReconciliationCompleted"); + } + this.clearRunningRequestIf(timapi.constants.RequestType.reconciliation); + let event = new timapi.TimEvent(this.terminal, exception, timapi.constants.RequestType.reconciliation); + this.lockListeners(); + try { + if (this.listeners !== undefined) { + for (let listener of this.listeners) { + listener.reconciliationCompleted(event, data); + } + } + } + finally { + this.unlockListeners(); + } + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyReconciliationCompleted"); + } + notifyReceiptRequestCompleted(exception, data) { + if (TerminalBackend.logger.isLoggable(timapi.logging.Level.FINEST)) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyReceiptRequestCompleted", [exception, data]); + } + else { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyReceiptRequestCompleted"); + } + this.clearRunningRequestIf(timapi.constants.RequestType.receiptRequest); + let event = new timapi.TimEvent(this.terminal, exception, timapi.constants.RequestType.receiptRequest); + this.lockListeners(); + try { + if (this.listeners !== undefined) { + for (let listener of this.listeners) { + listener.receiptRequestCompleted(event, data); + } + } + } + finally { + this.unlockListeners(); + } + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyReceiptRequestCompleted"); + } + notifyReconfigCompleted(exception, data) { + if (TerminalBackend.logger.isLoggable(timapi.logging.Level.FINEST)) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyReconfigCompleted", [exception, data]); + } + else { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyReconfigCompleted"); + } + this.clearRunningRequestIf(timapi.constants.RequestType.reconfig); + let event = new timapi.TimEvent(this.terminal, exception, timapi.constants.RequestType.reconfig); + this.lockListeners(); + try { + if (this.listeners !== undefined) { + for (let listener of this.listeners) { + listener.reconfigCompleted(event, data); + } + } + } + finally { + this.unlockListeners(); + } + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyReconfigCompleted"); + } + notifyRollbackCompleted(exception, data) { + if (TerminalBackend.logger.isLoggable(timapi.logging.Level.FINEST)) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyRollbackCompleted", [exception, data]); + } + else { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyRollbackCompleted"); + } + this.clearRunningRequestIf(timapi.constants.RequestType.rollback); + let event = new timapi.TimEvent(this.terminal, exception, timapi.constants.RequestType.rollback); + this.lockListeners(); + try { + if (this.listeners !== undefined) { + for (let listener of this.listeners) { + listener.rollbackCompleted(event, data); + } + } + } + finally { + this.unlockListeners(); + } + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyRollbackCompleted"); + } + notifySoftwareUpdateCompleted(exception, data) { + if (TerminalBackend.logger.isLoggable(timapi.logging.Level.FINEST)) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifySoftwareUpdateCompleted", [exception, data]); + } + else { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifySoftwareUpdateCompleted"); + } + this.clearRunningRequestIf(timapi.constants.RequestType.softwareUpdate); + let event = new timapi.TimEvent(this.terminal, exception, timapi.constants.RequestType.softwareUpdate); + this.lockListeners(); + try { + if (this.listeners !== undefined) { + for (let listener of this.listeners) { + listener.softwareUpdateCompleted(event, data); + } + } + } + finally { + this.unlockListeners(); + } + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifySoftwareUpdateCompleted"); + } + notifySystemInformationCompleted(exception, data) { + if (TerminalBackend.logger.isLoggable(timapi.logging.Level.FINEST)) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifySystemInformationCompleted", [exception, data]); + } + else { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifySystemInformationCompleted"); + } + this.clearRunningRequestIf(timapi.constants.RequestType.systemInformation); + let event = new timapi.TimEvent(this.terminal, exception, timapi.constants.RequestType.systemInformation); + this.lockListeners(); + try { + if (this.listeners !== undefined) { + for (let listener of this.listeners) { + listener.systemInformationCompleted(event, data); + } + } + } + finally { + this.unlockListeners(); + } + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifySystemInformationCompleted"); + } + notifyTransactionCompleted(exception, data) { + if (TerminalBackend.logger.isLoggable(timapi.logging.Level.FINEST)) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyTransactionCompleted", [exception, data]); + } + else { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyTransactionCompleted"); + } + this.clearRunningRequestIf(timapi.constants.RequestType.transaction); + let event = new timapi.TimEvent(this.terminal, exception, timapi.constants.RequestType.transaction); + this.lockListeners(); + try { + if (this.listeners !== undefined) { + for (let listener of this.listeners) { + listener.transactionCompleted(event, data); + } + } + } + finally { + this.unlockListeners(); + } + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyTransactionCompleted"); + } + notifyTerminalStatusChanged() { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyTerminalStatusChanged"); + this.lockListeners(); + try { + if (this.listeners !== undefined) { + for (let listener of this.listeners) { + listener.terminalStatusChanged(this.terminal); + } + } + } + finally { + this.unlockListeners(); + } + TerminalBackend.logger.exiting(TerminalBackend.CLASS_NAME, "notifyTerminalStatusChanged"); + } + notifyCloseReaderCompleted(exception) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyCloseReaderCompleted"); + this.clearRunningRequestIf(timapi.constants.RequestType.closeReader); + let event = new timapi.TimEvent(this.terminal, exception, timapi.constants.RequestType.closeReader); + this.lockListeners(); + try { + if (this.listeners !== undefined) { + for (let listener of this.listeners) { + listener.closeReaderCompleted(event); + } + } + } + finally { + this.unlockListeners(); + } + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyCloseReaderCompleted"); + } + notifyOpenReaderCompleted(exception) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyOpenReaderCompleted"); + this.clearRunningRequestIf(timapi.constants.RequestType.openReader); + let event = new timapi.TimEvent(this.terminal, exception, timapi.constants.RequestType.openReader); + this.lockListeners(); + try { + if (this.listeners !== undefined) { + for (let listener of this.listeners) { + listener.openReaderCompleted(event); + } + } + } + finally { + this.unlockListeners(); + } + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyOpenReaderCompleted"); + } + notifyEjectCardCompleted(exception) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyEjectCardCompleted"); + this.clearRunningRequestIf(timapi.constants.RequestType.ejectCard); + let event = new timapi.TimEvent(this.terminal, exception, timapi.constants.RequestType.ejectCard); + this.lockListeners(); + try { + if (this.listeners !== undefined) { + for (let listener of this.listeners) { + listener.ejectCardCompleted(event); + } + } + } + finally { + this.unlockListeners(); + } + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyEjectCardCompleted"); + } + notifyOpenMaintenanceWindowCompleted(exception) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyOpenMaintenanceWindowCompleted"); + this.clearRunningRequestIf(timapi.constants.RequestType.openMaintenanceWindow); + let event = new timapi.TimEvent(this.terminal, exception, timapi.constants.RequestType.openMaintenanceWindow); + this.lockListeners(); + try { + if (this.listeners !== undefined) { + for (let listener of this.listeners) { + listener.openMaintenanceWindowCompleted(event); + } + } + } + finally { + this.unlockListeners(); + } + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyOpenMaintenanceWindowCompleted"); + } + notifyCloseMaintenanceWindowCompleted(exception) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyCloseMaintenanceWindowCompleted"); + this.clearRunningRequestIf(timapi.constants.RequestType.closeMaintenanceWindow); + let event = new timapi.TimEvent(this.terminal, exception, timapi.constants.RequestType.closeMaintenanceWindow); + this.lockListeners(); + try { + if (this.listeners !== undefined) { + for (let listener of this.listeners) { + listener.closeMaintenanceWindowCompleted(event); + } + } + } + finally { + this.unlockListeners(); + } + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyCloseMaintenanceWindowCompleted"); + } + notifyActivateServiceMenuCompleted(exception) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyActivateServiceMenuCompleted"); + this.clearRunningRequestIf(timapi.constants.RequestType.activateServiceMenu); + let event = new timapi.TimEvent(this.terminal, exception, timapi.constants.RequestType.activateServiceMenu); + this.lockListeners(); + try { + if (this.listeners !== undefined) { + for (let listener of this.listeners) { + listener.activateServiceMenuCompleted(event); + } + } + } + finally { + this.unlockListeners(); + } + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyActivateServiceMenuCompleted"); + } + notifyOpenDialogModeCompleted(exception) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyOpenDialogModeCompleted"); + this.clearRunningRequestIf(timapi.constants.RequestType.openDialogMode); + let event = new timapi.TimEvent(this.terminal, exception, timapi.constants.RequestType.openDialogMode); + this.lockListeners(); + try { + if (this.listeners !== undefined) { + for (let listener of this.listeners) { + listener.openDialogModeCompleted(event); + } + } + } + finally { + this.unlockListeners(); + } + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyOpenDialogModeCompleted"); + } + notifyCloseDialogModeCompleted(exception) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyCloseDialogModeCompleted"); + this.clearRunningRequestIf(timapi.constants.RequestType.closeDialogMode); + let event = new timapi.TimEvent(this.terminal, exception, timapi.constants.RequestType.closeDialogMode); + this.lockListeners(); + try { + if (this.listeners !== undefined) { + for (let listener of this.listeners) { + listener.closeDialogModeCompleted(event); + } + } + } + finally { + this.unlockListeners(); + } + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyCloseDialogModeCompleted"); + } + notifyShowSignatureCaptureCompleted(exception, data) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyShowSignatureCaptureCompleted"); + this.clearRunningRequestIf(timapi.constants.RequestType.showSignatureCapture); + let event = new timapi.TimEvent(this.terminal, exception, timapi.constants.RequestType.showSignatureCapture); + this.lockListeners(); + try { + if (this.listeners !== undefined) { + for (let listener of this.listeners) { + listener.showSignatureCaptureCompleted(event, data); + } + } + } + finally { + this.unlockListeners(); + } + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyShowSignatureCaptureCompleted"); + } + notifyShowDialogCompleted(exception, data) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyShowDialogCompleted"); + this.clearRunningRequestIf(timapi.constants.RequestType.showDialog); + let event = new timapi.TimEvent(this.terminal, exception, timapi.constants.RequestType.showDialog); + this.lockListeners(); + try { + if (this.listeners !== undefined) { + for (let listener of this.listeners) { + listener.showDialogCompleted(event, data); + } + } + } + finally { + this.unlockListeners(); + } + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyShowDialogCompleted"); + } + notifyBalanceInquiryCompleted(exception, data) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyBalanceInquiryCompleted", [data]); + this.clearRunningRequestIf(timapi.constants.RequestType.balanceInquiry); + let event = new timapi.TimEvent(this.terminal, exception, timapi.constants.RequestType.balanceInquiry); + this.lockListeners(); + try { + if (this.listeners !== undefined) { + for (let listener of this.listeners) { + listener.balanceInquiryCompleted(event, data); + } + } + } + finally { + this.unlockListeners(); + } + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyBalanceInquiryCompleted"); + } + notifyQueryLoyaltyCompleted(exception, data) { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyQueryLoyaltyCompleted", [data]); + this.clearRunningRequestIf(timapi.constants.RequestType.queryLoyalty); + let event = new timapi.TimEvent(this.terminal, exception, timapi.constants.RequestType.queryLoyalty); + this.lockListeners(); + try { + if (this.listeners !== undefined) { + for (let listener of this.listeners) { + listener.queryLoyaltyCompleted(event, data); + } + } + } + finally { + this.unlockListeners(); + } + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "notifyQueryLoyaltyCompleted"); + } + get $commEndpoint() { + return this.commEndpoint; + } + isCommConnected() { + return this.commEndpoint !== undefined; + } + commConnect() { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "commConnect"); + if (this.commEndpoint !== undefined) { + throw new Error("Already connected to this.terminal"); + } + TerminalBackend.logger.log(timapi.logging.Level.INFO, "Connecting to this.terminal " + this.terminal.$settings.$terminalId); + this.commEndpoint = new timapi.SocketCommEndpoint(this, this.terminal.$settings); + this.commEndpoint.connect(); + TerminalBackend.logger.exiting(TerminalBackend.CLASS_NAME, "commConnect"); + } + commDisconnect() { + TerminalBackend.logger.entering(TerminalBackend.CLASS_NAME, "commDisconnect"); + if (this.commEndpoint !== undefined) { + this.commEndpoint.disconnect(); + this.commEndpoint = undefined; + } + TerminalBackend.logger.exiting(TerminalBackend.CLASS_NAME, "commDisconnect"); + } + hasGuide(guide) { + return this.terminal.$settings.$guides.has(guide); + } + hasAdminFunction(fnct) { + return (this.terminal.getFeatures() == undefined || + this.terminal.getFeatures().$sixml.$adminFunctions.has(fnct)); + } + hasStatusFunction(fnct) { + return (this.terminal.getFeatures() == undefined || + this.terminal.getFeatures().$sixml.$statusFunctions.has(fnct)); + } + hasFinancialFunction(fnct) { + return (this.terminal.getFeatures() == undefined || + this.terminal.getFeatures().$sixml.$financialFunctions.has(fnct)); + } + hasNonFinancialFunction(fnct) { + return (this.terminal.getFeatures() == undefined || + this.terminal.getFeatures().$sixml.$nonFinancialFunctions.has(fnct)); + } + hasDialogFunction(fnct) { + return (this.terminal.getFeatures() == undefined || + this.terminal.getFeatures().$sixml.$dialogFunctions.has(fnct)); + } + lockListeners() { + this.lockCountListeners++; + } + unlockListeners() { + this.lockCountListeners--; + if (this.lockCountListeners > 0) { + return; + } + if (this.lockedListeners !== undefined) { + this.listeners = this.lockedListeners; + this.lockedListeners = undefined; + } + } + connected() { } + disconnected() { } + messageReceived(message) { } + connectionFailed(error) { } + } + TerminalBackend.LOGGER_NAME = "TerminalBackend"; + TerminalBackend.CLASS_NAME = "TerminalBackend"; + TerminalBackend.logger = timapi.logging.Logger.getLogger(TerminalBackend.LOGGER_NAME); + timapi.TerminalBackend = TerminalBackend; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class TerminalBackendSixml extends timapi.TerminalBackend { + constructor(terminal) { + super(terminal); + this.synchronousRequest = new timapi.SynchronousTerminalListener(); + this.stateMachine = new timapi.statemachine.sixml.StateMachine(this); + this.nextSequenceNumber = 0; + this.m_xmlWriter = new timapi.protocol.XmlWriter(true, false); + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "<constructor>"); + this.sixmlReceivedMessageHacks = new timapi.SixmlReceivedMessageHacks(terminal.$settings); + this.setDisconnectedTerminalStatus(); + this.stateMachine.start(); + if (this.synchronousRequest !== undefined) { + this.addListener(this.synchronousRequest); + } + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "<constructor>"); + } + get $pendingAction() { + return this.pendingAction; + } + set $pendingAction(value) { + this.pendingAction = value; + } + dispose() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "dispose"); + this.stateMachine.dispose(); + this.synchronousRequest = undefined; + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "dispose"); + super.dispose(); + } + get $license() { + return this.license; + } + set $license(value) { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "setLicense", [this.license]); + this.license = value; + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "setLicense"); + } + isPendingRequestAllowed() { + switch (this.stateMachine.$pendingRequest) { + case timapi.constants.RequestType.activate: + return this.hasAdminFunction(timapi.constants.AdminFunctions.activate); + case timapi.constants.RequestType.applicationInformation: + return this.hasStatusFunction(timapi.constants.StatusFunctions.applicationInformation); + case timapi.constants.RequestType.balance: + return this.hasAdminFunction(timapi.constants.AdminFunctions.balance); + case timapi.constants.RequestType.commit: + return this.hasFinancialFunction(timapi.constants.FinancialTransactions.commit); + case timapi.constants.RequestType.counterRequest: + return this.hasAdminFunction(timapi.constants.AdminFunctions.counterRequest); + case timapi.constants.RequestType.dccRates: + return this.hasAdminFunction(timapi.constants.AdminFunctions.dccRates); + case timapi.constants.RequestType.deactivate: + return this.hasAdminFunction(timapi.constants.AdminFunctions.deactivate); + case timapi.constants.RequestType.hardwareInformation: + return this.hasStatusFunction(timapi.constants.StatusFunctions.hardwareInformation); + case timapi.constants.RequestType.changeSettings: + return this.hasAdminFunction(timapi.constants.AdminFunctions.changeSettings); + case timapi.constants.RequestType.initTransaction: + return this.hasNonFinancialFunction(timapi.constants.NonFinancialTransactions.initTransaction); + case timapi.constants.RequestType.login: + return this.hasAdminFunction(timapi.constants.AdminFunctions.login); + case timapi.constants.RequestType.logout: + return this.hasAdminFunction(timapi.constants.AdminFunctions.logout); + case timapi.constants.RequestType.reboot: + return this.hasAdminFunction(timapi.constants.AdminFunctions.reboot); + case timapi.constants.RequestType.receiptRequest: + return this.hasAdminFunction(timapi.constants.AdminFunctions.receiptRequest); + case timapi.constants.RequestType.reconciliation: + return this.hasAdminFunction(timapi.constants.AdminFunctions.reconciliation); + case timapi.constants.RequestType.reconfig: + return this.hasAdminFunction(timapi.constants.AdminFunctions.reconfig); + case timapi.constants.RequestType.rollback: + return this.hasFinancialFunction(timapi.constants.FinancialTransactions.rollback); + case timapi.constants.RequestType.softwareUpdate: + return this.hasAdminFunction(timapi.constants.AdminFunctions.softwareUpdate); + case timapi.constants.RequestType.systemInformation: + return this.hasStatusFunction(timapi.constants.StatusFunctions.systemInformation); + case timapi.constants.RequestType.transaction: + switch (this.failTransactionType) { + case timapi.constants.TransactionType.purchase: + return this.hasFinancialFunction(timapi.constants.FinancialTransactions.purchase); + case timapi.constants.TransactionType.credit: + return this.hasFinancialFunction(timapi.constants.FinancialTransactions.credit); + case timapi.constants.TransactionType.reversal: + return this.hasFinancialFunction(timapi.constants.FinancialTransactions.reversal); + case timapi.constants.TransactionType.preAuthorization: + return (this.hasGuide(timapi.constants.Guides.petrol) && + this.hasFinancialFunction(timapi.constants.FinancialTransactions.preAuthorization)); + case timapi.constants.TransactionType.finalizePurchase: + return (this.hasGuide(timapi.constants.Guides.petrol) && + this.hasFinancialFunction(timapi.constants.FinancialTransactions.finalizePurchase)); + case timapi.constants.TransactionType.purchaseForcedAcceptance: + return (this.hasGuide(timapi.constants.Guides.advancedRetail) && + this.hasFinancialFunction(timapi.constants.FinancialTransactions + .purchaseForcedAcceptance)); + case timapi.constants.TransactionType.cashAdvance: + return (this.hasGuide(timapi.constants.Guides.advancedRetail) && + this.hasFinancialFunction(timapi.constants.FinancialTransactions.cashAdvance)); + case timapi.constants.TransactionType.purchaseWithCashback: + return (this.hasGuide(timapi.constants.Guides.advancedRetail) && + this.hasFinancialFunction(timapi.constants.FinancialTransactions.purchaseWithCashback)); + case timapi.constants.TransactionType.purchasePhoneAuthorized: + return (this.hasGuide(timapi.constants.Guides.advancedRetail) && + this.hasFinancialFunction(timapi.constants.FinancialTransactions.purchasePhoneAuthorized)); + default: + return true; + } + case timapi.constants.RequestType.openReader: + return (this.hasGuide(timapi.constants.Guides.unattended) && + this.hasAdminFunction(timapi.constants.AdminFunctions.openReader)); + case timapi.constants.RequestType.closeReader: + return (this.hasGuide(timapi.constants.Guides.unattended) && + this.hasAdminFunction(timapi.constants.AdminFunctions.closeReader)); + case timapi.constants.RequestType.ejectCard: + return (this.hasGuide(timapi.constants.Guides.unattended) && + this.hasAdminFunction(timapi.constants.AdminFunctions.ejectCard)); + case timapi.constants.RequestType.openMaintenanceWindow: + return (this.hasGuide(timapi.constants.Guides.unattended) && + this.hasAdminFunction(timapi.constants.AdminFunctions.openMaintenanceWindow)); + case timapi.constants.RequestType.closeMaintenanceWindow: + return (this.hasGuide(timapi.constants.Guides.unattended) && + this.hasAdminFunction(timapi.constants.AdminFunctions.closeMaintenanceWindow)); + case timapi.constants.RequestType.activateServiceMenu: + return (this.hasGuide(timapi.constants.Guides.unattended) && + this.hasAdminFunction(timapi.constants.AdminFunctions.activateServiceMenu)); + case timapi.constants.RequestType.openDialogMode: + return (this.hasGuide(timapi.constants.Guides.dialog) && + this.hasAdminFunction(timapi.constants.AdminFunctions.openDialogMode)); + case timapi.constants.RequestType.closeDialogMode: + return (this.hasGuide(timapi.constants.Guides.dialog) && + this.hasAdminFunction(timapi.constants.AdminFunctions.closeDialogMode)); + case timapi.constants.RequestType.showSignatureCapture: + return (this.hasGuide(timapi.constants.Guides.DIALOG) && + this.hasDialogFunction(timapi.constants.DialogFunctions.showSignatureCapture)); + case timapi.constants.RequestType.showDialog: + return (this.hasGuide(timapi.constants.Guides.DIALOG) && + this.hasDialogFunction(timapi.constants.DialogFunctions.showDialog)); + default: + return true; + } + } + activate() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "activate"); + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.activate)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + if (this.synchronousRequest == undefined) { + throw new Error("synchronousRequest == undefined"); + } + this.synchronousRequest.prepareWait(timapi.constants.RequestType.activate); + this.$runningRequest = timapi.constants.RequestType.activate; + this.stateMachine.eventActivate(); + this.synchronousRequest.waitForRequestCompleted(); + if (this.synchronousRequest.$lastException !== undefined) { + throw this.synchronousRequest.$lastException; + } + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "activate"); + if (this.synchronousRequest.$lastActivateResponse == undefined) { + throw new Error("this.synchronousRequest.$lastActivateResponse == undefined"); + } + return this.synchronousRequest.$lastActivateResponse; + } + activateAsync() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "activateAsync"); + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.activate)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + this.$runningRequest = timapi.constants.RequestType.activate; + this.stateMachine.eventActivate(); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "activateAsync"); + } + applicationInformation() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "applicationInformation"); + if (!this.hasStatusFunction(timapi.constants.StatusFunctions.applicationInformation)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + if (this.synchronousRequest == undefined) { + throw new Error("this.synchronousRequest == undefined"); + } + this.synchronousRequest.prepareWait(timapi.constants.RequestType.applicationInformation); + this.$runningRequest = timapi.constants.RequestType.applicationInformation; + this.stateMachine.eventApplicationInformation(); + this.synchronousRequest.waitForRequestCompleted(); + if (this.synchronousRequest.$lastException !== undefined) { + throw this.synchronousRequest.$lastException; + } + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "applicationInformation"); + } + applicationInformationAsync() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "applicationInformationAsync"); + if (!this.hasStatusFunction(timapi.constants.StatusFunctions.applicationInformation)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + this.$runningRequest = timapi.constants.RequestType.applicationInformation; + this.stateMachine.eventApplicationInformation(); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "applicationInformationAsync"); + } + balance() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "balance"); + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.balance)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + if (this.synchronousRequest == undefined) { + throw new Error("this.synchronousRequest == undefined"); + } + this.synchronousRequest.prepareWait(timapi.constants.RequestType.balance); + this.$runningRequest = timapi.constants.RequestType.balance; + this.stateMachine.eventBalance(); + this.synchronousRequest.waitForRequestCompleted(); + if (this.synchronousRequest.$lastException !== undefined) { + throw this.synchronousRequest.$lastException; + } + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "balance"); + if (this.synchronousRequest.$lastBalanceResponse == undefined) { + throw new Error("this.synchronousRequest.$lastBalanceResponse == undefined"); + } + return this.synchronousRequest.$lastBalanceResponse; + } + balanceAsync() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "balanceAsync"); + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.balance)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + this.$runningRequest = timapi.constants.RequestType.balance; + this.stateMachine.eventBalance(); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "balanceAsync"); + } + cancel(silent, retainCard) { + if (arguments.length === 0) { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "cancel"); + if (!this.hasNonFinancialFunction(timapi.constants.NonFinancialTransactions.cancel)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + this.stateMachine.$notificationCancel = new timapi.protocol.sixml.Notification_Cancel(); + this.stateMachine.eventCancel(); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "cancel"); + } + else { + if (TerminalBackendSixml.logger.isLoggable(timapi.logging.Level.FINEST)) { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "cancel(silent,retainCard)", [silent, retainCard]); + } + else { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "cancel(silent,retainCard)"); + } + if (!(this.hasGuide(timapi.constants.Guides.petrol) || + this.hasGuide(timapi.constants.Guides.unattended))) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (!this.hasNonFinancialFunction(timapi.constants.NonFinancialTransactions.cancel)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + let notification = new timapi.protocol.sixml.Notification_Cancel(); + notification.silentFlag = silent; + notification.retainCardFlag = retainCard; + this.stateMachine.$notificationCancel = notification; + this.stateMachine.eventCancel(); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "cancel(silnet,retainCard)"); + } + } + changeSettings(settings) { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "changeSettings", [settings]); + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.changeSettings)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + if (this.synchronousRequest !== undefined) { + this.synchronousRequest.prepareWait(timapi.constants.RequestType.changeSettings); + let request = new timapi.protocol.sixml.Request_ChangeSettings(); + request.settingsList = timapi.statemachine.sixml.ConvertTimApi2SIXml.convertSettings(settings); + this.stateMachine.$requestChangeSettings(request); + this.$runningRequest = timapi.constants.RequestType.changeSettings; + this.stateMachine.eventChangeSettings(); + this.synchronousRequest.waitForRequestCompleted(); + if (this.synchronousRequest.$lastException !== undefined) { + throw this.synchronousRequest.$lastException; + } + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "changeSettings"); + } + } + changeSettingsAsync(settings) { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "changeSettingsAsync", [settings]); + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.changeSettings)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + let request = new timapi.protocol.sixml.Request_ChangeSettings(); + request.settingsList = timapi.statemachine.sixml.ConvertTimApi2SIXml.convertSettings(settings); + this.stateMachine.$requestChangeSettings(request); + this.$runningRequest = timapi.constants.RequestType.changeSettings; + this.stateMachine.eventChangeSettings(); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "changeSettingsAsync"); + } + commit() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "commit"); + if (!this.hasFinancialFunction(timapi.constants.FinancialTransactions.commit)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + if (this.synchronousRequest !== undefined) { + this.synchronousRequest.prepareWait(timapi.constants.RequestType.commit); + this.$runningRequest = timapi.constants.RequestType.commit; + this.stateMachine.eventCommit(); + this.synchronousRequest.waitForRequestCompleted(); + if (this.synchronousRequest.$lastException !== undefined) { + throw this.synchronousRequest.$lastException; + } + } + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "commit"); + } + commitAsync() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "commitAsync"); + if (!this.hasFinancialFunction(timapi.constants.FinancialTransactions.commit)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + this.$runningRequest = timapi.constants.RequestType.commit; + this.stateMachine.eventCommit(); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "commitAsync"); + } + connect() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "connect"); + this.stateMachine.eventConnect(); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "connect"); + } + disconnect() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "disconnect"); + try { + this.stateMachine.eventDisconnect(); + } + catch (ignore) { + console.log("exception ignore: $ignore"); + } + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "disconnect"); + } + counterRequest(type) { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "counterRequest", type); + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.counterRequest)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + if (this.synchronousRequest == undefined) { + throw new Error("this.synchronousRequest == undefined"); + } + this.synchronousRequest.prepareWait(timapi.constants.RequestType.counterRequest); + let request = new timapi.protocol.sixml.Request_CounterRequest(); + request.counterType = timapi.constants.CounterType.timApi2Protocol(type); + this.stateMachine.$requestCounterRequest(request); + this.$runningRequest = timapi.constants.RequestType.counterRequest; + this.stateMachine.eventCounterRequest(); + this.synchronousRequest.waitForRequestCompleted(); + if (this.synchronousRequest.$lastException !== undefined) { + throw this.synchronousRequest.$lastException; + } + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "counterRequest"); + if (this.synchronousRequest.$lastCountersRequestResponse == undefined) { + throw new Error("this.synchronousRequest.$lastCountersRequestResponse == undefined"); + } + return this.synchronousRequest.$lastCountersRequestResponse; + } + counterRequestAsync(type) { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "counterRequestAsync", type); + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.counterRequest)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + let request = new timapi.protocol.sixml.Request_CounterRequest(); + request.counterType = timapi.constants.CounterType.timApi2Protocol(type); + this.stateMachine.$requestCounterRequest(request); + this.$runningRequest = timapi.constants.RequestType.counterRequest; + this.stateMachine.eventCounterRequest(); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "counterRequestAsync"); + } + deactivate() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "deactivate"); + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.deactivate)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + if (this.synchronousRequest !== undefined) { + this.synchronousRequest.prepareWait(timapi.constants.RequestType.deactivate); + this.$runningRequest = timapi.constants.RequestType.deactivate; + this.stateMachine.eventDeactivate(); + this.synchronousRequest.waitForRequestCompleted(); + if (this.synchronousRequest.$lastException !== undefined) { + throw this.synchronousRequest.$lastException; + } + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "deactivate"); + if (this.synchronousRequest.$lastDeactivateResponse == undefined) { + throw new Error("this.synchronousRequest.$lastDeactivateResponse == undefined"); + } + return this.synchronousRequest.$lastDeactivateResponse; + } + } + deactivateAsync() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "deactivateAsync"); + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.deactivate)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + this.$runningRequest = timapi.constants.RequestType.deactivate; + this.stateMachine.eventDeactivate(); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "deactivateAsync"); + } + dccRates() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "dccRates"); + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.dccRates)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + if (this.synchronousRequest == undefined) { + throw new Error("this.synchronousRequest == undefined"); + } + this.synchronousRequest.prepareWait(timapi.constants.RequestType.dccRates); + this.$runningRequest = timapi.constants.RequestType.dccRates; + this.stateMachine.eventDccRates(); + this.synchronousRequest.waitForRequestCompleted(); + if (this.synchronousRequest.$lastException !== undefined) { + throw this.synchronousRequest.$lastException; + } + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "dccRates"); + if (this.synchronousRequest.$lastDccRatesResponse == undefined) { + throw new Error("this.synchronousRequest.$lastDccRatesResponse == undefined"); + } + return this.synchronousRequest.$lastDccRatesResponse; + } + dccRatesAsync() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "dccRatesAsync"); + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.dccRates)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + this.$runningRequest = timapi.constants.RequestType.dccRates; + this.stateMachine.eventDccRates(); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "dccRatesAsync"); + } + hardwareInformation() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "hardwareInformation"); + if (!this.hasStatusFunction(timapi.constants.StatusFunctions.hardwareInformation)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + if (this.synchronousRequest == undefined) { + throw new Error("this.synchronousRequest == undefined"); + } + this.synchronousRequest.prepareWait(timapi.constants.RequestType.hardwareInformation); + this.$runningRequest = timapi.constants.RequestType.hardwareInformation; + this.stateMachine.eventHardwareInformation(); + this.synchronousRequest.waitForRequestCompleted(); + if (this.synchronousRequest.$lastException !== undefined) { + throw this.synchronousRequest.$lastException; + } + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "hardwareInformation"); + } + hardwareInformationAsync() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "hardwareInformationAsync"); + if (!this.hasStatusFunction(timapi.constants.StatusFunctions.hardwareInformation)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + this.$runningRequest = timapi.constants.RequestType.hardwareInformation; + this.stateMachine.eventHardwareInformation(); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "hardwareInformationAsync"); + } + initTransaction(displayAmount, amount) { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "initTransaction", [displayAmount, amount]); + if (!this.hasNonFinancialFunction(timapi.constants.NonFinancialTransactions.initTransaction)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + if (this.synchronousRequest == undefined) { + throw new Error("this.synchronousRequest == undefined"); + } + this.synchronousRequest.prepareWait(timapi.constants.RequestType.initTransaction); + let request = new timapi.protocol.sixml.Request_InitTransaction(); + request.displayAmountFlag = displayAmount; + request.amount = timapi.statemachine.sixml.ConvertSIXml2TimApi.convertAmountOrNull(amount); + this.stateMachine.$requestInitTransaction(request); + this.$runningRequest = timapi.constants.RequestType.initTransaction; + this.stateMachine.eventInitTransaction(); + this.synchronousRequest.waitForRequestCompleted(); + if (this.synchronousRequest.$lastException !== undefined) { + throw this.synchronousRequest.$lastException; + } + let result = this.synchronousRequest.$lastInitTransactionResponse; + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "initTransaction", [result]); + if (result == undefined) { + throw new Error("result == undefined"); + } + return result; + } + initTransactionAsync(displayAmount, amount) { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "initTransactionAsync"); + if (!this.hasNonFinancialFunction(timapi.constants.NonFinancialTransactions.initTransaction)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + let request = new timapi.protocol.sixml.Request_InitTransaction(); + request.displayAmountFlag = displayAmount; + request.amount = timapi.statemachine.sixml.ConvertSIXml2TimApi.convertAmountOrNull(amount); + this.stateMachine.$requestInitTransaction(request); + this.$runningRequest = timapi.constants.RequestType.initTransaction; + this.stateMachine.eventInitTransaction(); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "initTransactionAsync"); + } + login() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "login"); + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.login)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + if (this.synchronousRequest == undefined) { + throw new Error("this.synchronousRequest == undefined"); + } + this.synchronousRequest.prepareWait(timapi.constants.RequestType.login); + this.stateMachine.$requestLogin = timapi.statemachine.sixml.ConvertTimApi2SIXml.createLoginRequest(this.$terminal); + this.$runningRequest = timapi.constants.RequestType.login; + this.stateMachine.eventLogin(); + this.synchronousRequest.waitForRequestCompleted(); + if (this.synchronousRequest.$lastException !== undefined) { + throw this.synchronousRequest.$lastException; + } + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "login"); + } + loginAsync() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "loginAsync"); + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.login)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + this.stateMachine.$requestLogin = + timapi.statemachine.sixml.ConvertTimApi2SIXml.createLoginRequest(this.$terminal); + this.$runningRequest = timapi.constants.RequestType.login; + this.stateMachine.eventLogin(); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "loginAsync"); + } + logout() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "logout"); + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.logout)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + if (this.synchronousRequest == undefined) { + throw new Error("this.synchronousRequest == undefined"); + } + this.synchronousRequest.prepareWait(timapi.constants.RequestType.logout); + this.$runningRequest = timapi.constants.RequestType.logout; + this.stateMachine.eventLogout(); + this.synchronousRequest.waitForRequestCompleted(); + if (this.synchronousRequest.$lastException !== undefined) { + throw this.synchronousRequest.$lastException; + } + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "logout"); + } + logoutAsync() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "logoutAsync"); + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.logout)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + this.$runningRequest = timapi.constants.RequestType.logout; + this.stateMachine.eventLogout(); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "logoutAsync"); + } + reboot() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "reboot"); + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.reboot)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + if (this.synchronousRequest == undefined) { + throw new Error("this.synchronousRequest == undefined"); + } + this.synchronousRequest.prepareWait(timapi.constants.RequestType.reboot); + this.$runningRequest = timapi.constants.RequestType.reboot; + this.stateMachine.eventReboot(); + this.synchronousRequest.waitForRequestCompleted(); + if (this.synchronousRequest.$lastException !== undefined) { + throw this.synchronousRequest.$lastException; + } + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "reboot"); + } + rebootAsync() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "rebootAsync"); + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.reboot)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + this.$runningRequest = timapi.constants.RequestType.reboot; + this.stateMachine.eventReboot(); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "rebootAsync"); + } + reconciliation() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "reconciliation"); + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.reconciliation)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + if (this.synchronousRequest == undefined || + this.synchronousRequest == undefined) { + throw new Error("this.synchronousRequest == undefined || this.synchronousRequest == undefined"); + } + this.synchronousRequest.prepareWait(timapi.constants.RequestType.reconciliation); + this.$runningRequest = timapi.constants.RequestType.reconciliation; + this.stateMachine.eventReconciliation(); + this.synchronousRequest.waitForRequestCompleted(); + if (this.synchronousRequest.$lastException !== undefined) { + throw this.synchronousRequest.$lastException; + } + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "reconciliation"); + if (this.synchronousRequest.$lastReconciliationResponse == undefined || + this.synchronousRequest.$lastReconciliationResponse == undefined) { + throw new Error("this.synchronousRequest.$lastReconciliationResponse == undefined || this.synchronousRequest.$lastReconciliationResponse == undefined"); + } + return this.synchronousRequest.$lastReconciliationResponse; + } + reconciliationAsync() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "reconciliationAsync"); + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.reconciliation)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + this.$runningRequest = timapi.constants.RequestType.reconciliation; + this.stateMachine.eventReconciliation(); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "reconciliationAsync"); + } + receiptRequest(receiptType) { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "receiptRequest", [receiptType]); + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.receiptRequest)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + if (this.synchronousRequest == undefined) { + TerminalBackendSixml.logger.log(timapi.logging.Level.INFO, "synchronousRequest is undefined or null"); + return undefined; + } + this.synchronousRequest.prepareWait(timapi.constants.RequestType.receiptRequest); + let request = new timapi.protocol.sixml.Request_ReceiptRequest(); + request.receiptRequestType = timapi.constants.ReceiptRequestType.timApi2Protocol(receiptType); + this.stateMachine.$requestReceiptRequest = request; + this.$runningRequest = timapi.constants.RequestType.receiptRequest; + this.stateMachine.eventReceiptRequest(); + this.synchronousRequest.waitForRequestCompleted(); + if (this.synchronousRequest.$lastException !== undefined) { + throw this.synchronousRequest.$lastException; + } + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "receiptRequest"); + return this.synchronousRequest.$lastReceiptRequestResponse; + } + receiptRequestAsync(receiptType) { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "receiptRequestAsync", [receiptType]); + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.receiptRequest)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + let request = new timapi.protocol.sixml.Request_ReceiptRequest(); + request.receiptRequestType = timapi.constants.ReceiptRequestType.timApi2Protocol(receiptType); + this.stateMachine.$requestReceiptRequest = request; + this.$runningRequest = timapi.constants.RequestType.receiptRequest; + this.stateMachine.eventReceiptRequest(); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "receiptRequestAsync"); + } + reconfig() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "reconfig"); + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.reconfig)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + if (this.synchronousRequest == undefined) { + TerminalBackendSixml.logger.log(timapi.logging.Level.INFO, "synchronousRequest is undefined or null"); + return undefined; + } + this.synchronousRequest.prepareWait(timapi.constants.RequestType.reconfig); + this.$runningRequest = timapi.constants.RequestType.reconfig; + this.stateMachine.eventReconfig(); + this.synchronousRequest.waitForRequestCompleted(); + if (this.synchronousRequest.$lastException !== undefined) { + throw this.synchronousRequest.$lastException; + } + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "reconfig"); + return this.synchronousRequest.$lastReconfigResponse; + } + reconfigAsync() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "reconfigAsync"); + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.reconfig)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + this.$runningRequest = timapi.constants.RequestType.reconfig; + this.stateMachine.eventReconfig(); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "reconfigAsync"); + } + rollback() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "rollback"); + if (!this.hasFinancialFunction(timapi.constants.FinancialTransactions.rollback)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + if (this.synchronousRequest == undefined) { + TerminalBackendSixml.logger.log(timapi.logging.Level.INFO, "synchronousRequest is undefined or null"); + return undefined; + } + this.synchronousRequest.prepareWait(timapi.constants.RequestType.rollback); + this.$runningRequest = timapi.constants.RequestType.rollback; + this.stateMachine.eventRollback(); + this.synchronousRequest.waitForRequestCompleted(); + if (this.synchronousRequest.$lastException !== undefined) { + throw this.synchronousRequest.$lastException; + } + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "rollback"); + return this.synchronousRequest.$lastRollbackResponse; + } + rollbackAsync() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "rollbackAsync"); + if (!this.hasFinancialFunction(timapi.constants.FinancialTransactions.rollback)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + this.$runningRequest = timapi.constants.RequestType.rollback; + this.stateMachine.eventRollback(); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "rollbackAsync"); + } + softwareUpdate() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "softwareUpdate"); + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.softwareUpdate)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + if (this.synchronousRequest == undefined) { + TerminalBackendSixml.logger.log(timapi.logging.Level.INFO, "synchronousRequest is undefined or null"); + return undefined; + } + this.synchronousRequest.prepareWait(timapi.constants.RequestType.softwareInformation); + this.$runningRequest = timapi.constants.RequestType.softwareUpdate; + this.stateMachine.eventSoftwareUpdate(); + this.synchronousRequest.waitForRequestCompleted(); + if (this.synchronousRequest.$lastException !== undefined) { + throw this.synchronousRequest.$lastException; + } + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "softwareUpdate"); + return this.synchronousRequest.$lastSoftwareUpdateResponse; + } + softwareUpdateAsync() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "softwareUpdateAsync"); + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.softwareUpdate)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + this.$runningRequest = timapi.constants.RequestType.softwareUpdate; + this.stateMachine.eventSoftwareUpdate(); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "softwareUpdateAsync"); + } + systemInformation() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "systemInformation"); + if (!this.hasStatusFunction(timapi.constants.StatusFunctions.systemInformation)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + if (this.synchronousRequest == undefined) { + TerminalBackendSixml.logger.log(timapi.logging.Level.INFO, "synchronousRequest is undefined or null"); + return undefined; + } + this.synchronousRequest.prepareWait(timapi.constants.RequestType.systemInformation); + this.$runningRequest = timapi.constants.RequestType.systemInformation; + this.stateMachine.eventSystemInformation(); + this.synchronousRequest.waitForRequestCompleted(); + if (this.synchronousRequest.$lastException !== undefined) { + throw this.synchronousRequest.$lastException; + } + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "systemInformation"); + return this.synchronousRequest.$lastSystemInformationResponse; + } + systemInformationAsync() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "systemInformationAsync"); + if (!this.hasStatusFunction(timapi.constants.StatusFunctions.systemInformation)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + this.$runningRequest = timapi.constants.RequestType.systemInformation; + this.stateMachine.eventSystemInformation(); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "systemInformationAsync"); + } + transaction(type, amountOrTransactionRequest) { + if (amountOrTransactionRequest instanceof timapi.Amount) { + return this.transactionWithAmount(type, amountOrTransactionRequest); + } + else { + return this.transactionWithTransactionRequest(type.amountOrTransactionRequest); + } + } + transactionWithAmount(type, amount) { + if (TerminalBackendSixml.logger.isLoggable(timapi.logging.Level.FINEST)) { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "transaction(TransactionType,Amount)", [type, amount]); + } + else { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "transaction(TransactionType,Amount)"); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + this.failTransactionType = type; + this.checkTransactionTypeAllowed(type); + this.synchronousRequest.prepareWait(timapi.constants.RequestType.transaction); + let terminal = this.$terminal; + let request = new timapi.TransactionRequest(); + request.$amount = amount; + if (terminal.$merchantOptions != undefined && terminal.$merchantOptions.length > 0) { + request.$merchantOptions = new Array(terminal.$merchantOptions); + } + request.$userId = terminal.$userId; + request.$transactionData = terminal.$transactionData; + this.stateMachine.$requestTransaction = + timapi.statemachine.sixml.ConvertTimApi2SIXml.convertTransactionRequest(this.$terminal, request, type, this.$terminal.$settings.$guides); + this.$runningRequest = timapi.constants.RequestType.transaction; + this.stateMachine.eventTransaction(); + if (this.synchronousRequest == undefined) { + TerminalBackendSixml.logger.log(timapi.logging.Level.INFO, "synchronousRequest is undefined or null"); + return undefined; + } + this.synchronousRequest.waitForRequestCompleted(); + if (this.synchronousRequest.$lastException !== undefined) { + throw this.synchronousRequest.$lastException; + } + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "transaction(TransactionType,Amount)"); + return this.synchronousRequest.$lastTransactionResponse; + } + transactionWithTransactionRequest(type, request) { + if (TerminalBackendSixml.logger.isLoggable(timapi.logging.Level.FINEST)) { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "transaction(TransactionType,TransactionRequest)", [type, request]); + } + else { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "transaction(TransactionType,TransactionRequest)"); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + this.failTransactionType = type; + this.checkTransactionTypeAllowed(type); + if (this.synchronousRequest == undefined) { + TerminalBackendSixml.logger.log(timapi.logging.Level.INFO, "synchronousRequest is undefined or null"); + return undefined; + } + this.synchronousRequest.prepareWait(timapi.constants.RequestType.transaction); + this.stateMachine.$requestTransaction = + timapi.statemachine.sixml.ConvertTimApi2SIXml.convertTransactionRequest(this.$terminal, request, type, this.$terminal.$settings.$guides); + this.$runningRequest = timapi.constants.RequestType.transaction; + this.stateMachine.eventTransaction(); + if (this.synchronousRequest == undefined) { + TerminalBackendSixml.logger.log(timapi.logging.Level.INFO, "synchronousRequest is undefined or null"); + return undefined; + } + this.synchronousRequest.waitForRequestCompleted(); + if (this.synchronousRequest.$lastException !== undefined) { + throw this.synchronousRequest.$lastException; + } + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "transaction(TransactionType,TransactionRequest)"); + return this.synchronousRequest.$lastTransactionResponse; + } + transactionAsync(type, amountOrTransactionRequest) { + if (amountOrTransactionRequest instanceof timapi.Amount) { + this.transactionAsyncWithAmount(type, amountOrTransactionRequest); + } + else if (amountOrTransactionRequest instanceof timapi.TransactionRequest) { + this.transactionWithTransactionRequest(type, amountOrTransactionRequest); + } + } + transactionAsyncWithAmount(type, amount) { + if (TerminalBackendSixml.logger.isLoggable(timapi.logging.Level.FINEST)) { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "transactionAsync(TransactionType,Amount)", [type, amount]); + } + else { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "transactionAsync(TransactionType,Amount)"); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + this.failTransactionType = type; + this.checkTransactionTypeAllowed(type); + let terminal = this.$terminal; + let request = new timapi.TransactionRequest(); + request.$amount = amount; + if (terminal.$merchantOptions != undefined && terminal.$merchantOptions.length > 0) { + request.$merchantOptions = new Array(terminal.$merchantOptions); + } + request.$userId = terminal.$userId; + request.$transactionData = terminal.$transactionData; + this.stateMachine.$requestTransaction = + timapi.statemachine.sixml.ConvertTimApi2SIXml.convertTransactionRequest(this.$terminal, request, type, this.$terminal.$settings.$guides); + this.$runningRequest = timapi.constants.RequestType.transaction; + this.stateMachine.eventTransaction(); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "transactionAsync(TransactionType,Amount)"); + } + transactionAsyncWithTransactionRequest(type, request) { + if (TerminalBackendSixml.logger.isLoggable(timapi.logging.Level.FINEST)) { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "transactionAsync(TransactionType,TransactionRequest)", [type, request]); + } + else { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "transactionAsync(TransactionType,TransactionRequest)"); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + this.failTransactionType = type; + this.checkTransactionTypeAllowed(type); + this.stateMachine.$requestTransaction = + timapi.statemachine.sixml.ConvertTimApi2SIXml.convertTransactionRequest(this.$terminal, request, type, this.$terminal.$settings.$guides); + this.$runningRequest = timapi.constants.RequestType.transaction; + this.stateMachine.eventTransaction(); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "transactionAsync(TransactionType,TransactionRequest)"); + } + transactionTip(type, amount, tipAmount) { + if (TerminalBackendSixml.logger.isLoggable(timapi.logging.Level.FINEST)) { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "transactionTip(TransactionType,Amount,Amount)", [type, amount, tipAmount]); + } + else { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "transactionTip(TransactionType,Amount,Amount)"); + } + if (!this.hasGuide(timapi.constants.Guides.gastro)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + this.failTransactionType = type; + this.checkTransactionTypeAllowed(type); + if (this.synchronousRequest == undefined) { + TerminalBackendSixml.logger.log(timapi.logging.Level.INFO, "synchronousRequest is undefined or null"); + return undefined; + } + this.synchronousRequest.prepareWait(timapi.constants.RequestType.transaction); + let terminal = this.$terminal; + let request = new timapi.TransactionRequest(); + request.$amount = amount; + request.$tipAmount = tipAmount; + if (terminal.$merchantOptions != undefined && terminal.$merchantOptions.length > 0) { + request.$merchantOptions = new Array(terminal.$merchantOptions); + } + request.$userId = terminal.$userId; + request.$transactionData = terminal.$transactionData; + this.stateMachine.$requestTransaction = + timapi.statemachine.sixml.ConvertTimApi2SIXml.convertTransactionRequest(this.$terminal, request, type, this.$terminal.$settings.$guides); + this.$runningRequest = timapi.constants.RequestType.transaction; + this.stateMachine.eventTransaction(); + this.synchronousRequest.waitForRequestCompleted(); + if (this.synchronousRequest.$lastException !== undefined) { + throw this.synchronousRequest.$lastException; + } + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "transactionTip(TransactionType,Amount,Amount)"); + return this.synchronousRequest.$lastTransactionResponse; + } + transactionTipAsync(type, amount, tipAmount) { + if (TerminalBackendSixml.logger.isLoggable(timapi.logging.Level.FINEST)) { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "transactionTipAsync(TransactionType,Amount,Amount)", [type, amount]); + } + else { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "transactionTipAsync(TransactionType,Amount,Amount)"); + } + if (!this.hasGuide(timapi.constants.Guides.gastro)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + this.failTransactionType = type; + this.checkTransactionTypeAllowed(type); + let terminal = this.$terminal; + let request = new timapi.TransactionRequest(); + request.$amount = amount; + request.$tipAmount = tipAmount; + if (terminal.$merchantOptions != undefined && terminal.$merchantOptions.length > 0) { + request.$merchantOptions = new Array(terminal.$merchantOptions); + } + request.$userId = terminal.$userId; + request.$transactionData = terminal.$transactionData; + this.stateMachine.$requestTransaction = + timapi.statemachine.sixml.ConvertTimApi2SIXml.convertTransactionRequest(this.$terminal, request, type, this.$terminal.$settings.$guides); + this.$runningRequest = timapi.constants.RequestType.transaction; + this.stateMachine.eventTransaction(); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "transactionTipAsync(TransactionType,Amount,Amount)"); + } + transactionCashback(type, amount, amountOther) { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "transactionCashback(TransactionType,Amount,Amount)", [type, amount, amountOther]); + if (!this.hasGuide(timapi.constants.Guides.advancedRetail)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + this.failTransactionType = type; + this.checkTransactionTypeAllowed(type); + if (this.synchronousRequest == undefined) { + TerminalBackendSixml.logger.log(timapi.logging.Level.INFO, "synchronousRequest is undefined or null"); + return undefined; + } + this.synchronousRequest.prepareWait(timapi.constants.RequestType.transaction); + let terminal = this.$terminal; + let request = new timapi.TransactionRequest(); + request.$amount = amount; + request.$amountOther = amountOther; + if (terminal.$merchantOptions.lenngth > 0) { + request.$merchantOptions = new Array(terminal.$merchantOptions); + } + request.$userId = terminal.$userId; + request.$transactionData = terminal.$transactionData; + this.stateMachine.$requestTransaction = + timapi.statemachine.sixml.ConvertTimApi2SIXml.convertTransactionRequest(this.$terminal, request, type, this.$terminal.$settings.$guides); + this.$runningRequest = timapi.constants.RequestType.transaction; + this.stateMachine.eventTransaction(); + if (this.synchronousRequest == undefined) { + TerminalBackendSixml.logger.log(timapi.logging.Level.INFO, "synchronousRequest is undefined or null"); + return undefined; + } + this.synchronousRequest.waitForRequestCompleted(); + if (this.synchronousRequest.$lastException !== undefined) { + throw this.synchronousRequest.$lastException; + } + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "transactionCashback(TransactionType,Amount,Amount)"); + return this.synchronousRequest.$lastTransactionResponse; + } + transactionCashbackAsync(type, amount, amountOther) { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "transactionCashbackAsync(TransactionType,Amount,Amount)", [type, amount, amountOther]); + if (!this.hasGuide(timapi.constants.Guides.advancedRetail)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + this.failTransactionType = type; + this.checkTransactionTypeAllowed(type); + let terminal = this.$terminal; + let request = new timapi.TransactionRequest(); + request.$amount = amount; + request.$amountOther = amountOther; + if (terminal.$merchantOptions != undefined && terminal.$merchantOptions.length > 0) { + request.$merchantOptions = new Array(terminal.$merchantOptions); + } + request.$userId = terminal.$userId; + request.$transactionData = terminal.$transactionData; + this.stateMachine.$requestTransaction = + timapi.statemachine.sixml.ConvertTimApi2SIXml.convertTransactionRequest(this.$terminal, request, type, this.$terminal.$settings.$guides); + this.$runningRequest = timapi.constants.RequestType.transaction; + this.stateMachine.eventTransaction(); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "transactionCashbackAsync(TransactionType,Amount,Amount)"); + } + closeReader() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "closeReader"); + if (!this.hasGuide(timapi.constants.Guides.unattended)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.closeReader)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + if (this.synchronousRequest == undefined) { + TerminalBackendSixml.logger.log(timapi.logging.Level.INFO, "synchronousRequest is undefined or null"); + return; + } + this.synchronousRequest.prepareWait(timapi.constants.RequestType.closeReader); + this.$runningRequest = timapi.constants.RequestType.closeReader; + this.stateMachine.eventCloseReader(); + this.synchronousRequest.waitForRequestCompleted(); + if (this.synchronousRequest.$lastException !== undefined) { + throw this.synchronousRequest.$lastException; + } + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "closeReader"); + } + closeReaderAsync() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "closeReaderAsync"); + if (!this.hasGuide(timapi.constants.Guides.unattended)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.closeReader)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + this.$runningRequest = timapi.constants.RequestType.closeReader; + this.stateMachine.eventCloseReader(); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "closeReaderAsync"); + } + openReader() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "openReader"); + if (!this.hasGuide(timapi.constants.Guides.unattended)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.openReader)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + this.synchronousRequest.prepareWait(timapi.constants.RequestType.openReader); + this.$runningRequest = timapi.constants.RequestType.openReader; + this.stateMachine.eventOpenReader(); + this.synchronousRequest.waitForRequestCompleted(); + if (this.synchronousRequest.$lastException !== undefined) { + throw this.synchronousRequest.$lastException; + } + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "openReader"); + } + openReaderAsync() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "openReaderAsync"); + if (!this.hasGuide(timapi.constants.Guides.unattended)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.openReader)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + this.$runningRequest = timapi.constants.RequestType.openReader; + this.stateMachine.eventOpenReader(); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "openReaderAsync"); + } + ejectCard() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "ejectCard"); + if (!this.hasGuide(timapi.constants.Guides.unattended)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.ejectCard)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + if (this.synchronousRequest == undefined) { + TerminalBackendSixml.logger.log(timapi.logging.Level.INFO, "synchronousRequest is undefined or null"); + return; + } + this.synchronousRequest.prepareWait(timapi.constants.RequestType.ejectCard); + this.$runningRequest = timapi.constants.RequestType.ejectCard; + this.stateMachine.eventEjectCard(); + this.synchronousRequest.waitForRequestCompleted(); + if (this.synchronousRequest.$lastException !== undefined) { + throw this.synchronousRequest.$lastException; + } + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "ejectCard"); + } + ejectCardAsync() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "ejectCardAsync"); + if (!this.hasGuide(timapi.constants.Guides.unattended)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.ejectCard)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + this.$runningRequest = timapi.constants.RequestType.ejectCard; + this.stateMachine.eventEjectCard(); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "ejectCardAsync"); + } + openMaintenanceWindow() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "openMaintenanceWindow"); + if (!this.hasGuide(timapi.constants.Guides.unattended)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.openMaintenanceWindow)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + if (this.synchronousRequest == undefined) { + TerminalBackendSixml.logger.log(timapi.logging.Level.INFO, "synchronousRequest is undefined or null"); + return; + } + this.synchronousRequest.prepareWait(timapi.constants.RequestType.openMaintenanceWindow); + this.$runningRequest = timapi.constants.RequestType.openMaintenanceWindow; + this.stateMachine.eventOpenMaintenanceWindow(); + this.synchronousRequest.waitForRequestCompleted(); + if (this.synchronousRequest.$lastException !== undefined) { + throw this.synchronousRequest.$lastException; + } + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "openMaintenanceWindow"); + } + openMaintenanceWindowAsync() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "openMaintenanceWindowAsync"); + if (!this.hasGuide(timapi.constants.Guides.unattended)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.openMaintenanceWindow)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + this.$runningRequest = timapi.constants.RequestType.openMaintenanceWindow; + this.stateMachine.eventOpenMaintenanceWindow(); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "openMaintenanceWindowAsync"); + } + closeMaintenanceWindow() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "closeMaintenanceWindow"); + if (!this.hasGuide(timapi.constants.Guides.unattended)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.closeMaintenanceWindow)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + if (this.synchronousRequest == undefined) { + TerminalBackendSixml.logger.log(timapi.logging.Level.INFO, "synchronousRequest is undefined or null"); + throw new Error("synchronousRequest is undefined or null"); + } + this.synchronousRequest.prepareWait(timapi.constants.RequestType.closeMaintenanceWindow); + this.$runningRequest = timapi.constants.RequestType.closeMaintenanceWindow; + this.stateMachine.eventCloseMaintenanceWindow(); + this.synchronousRequest.waitForRequestCompleted(); + if (this.synchronousRequest.$lastException !== undefined) { + throw this.synchronousRequest.$lastException; + } + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "closeMaintenanceWindow"); + } + closeMaintenanceWindowAsync() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "closeMaintenanceWindowAsync"); + if (!this.hasGuide(timapi.constants.Guides.unattended)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.closeMaintenanceWindow)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + this.$runningRequest = timapi.constants.RequestType.closeMaintenanceWindow; + this.stateMachine.eventCloseMaintenanceWindow(); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "closeMaintenanceWindowAsync"); + } + holdCommit() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "holdCommit"); + if (!this.hasGuide(timapi.constants.Guides.unattended)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (!this.hasNonFinancialFunction(timapi.constants.NonFinancialTransactions.holdCommit)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + this.stateMachine.eventHoldCommit(); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "holdCommit"); + } + activateServiceMenu() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "activateServiceMenu"); + if (!this.hasGuide(timapi.constants.Guides.unattended)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.activateServiceMenu)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + if (this.synchronousRequest == undefined) { + TerminalBackendSixml.logger.log(timapi.logging.Level.INFO, "synchronousRequest is undefined or null"); + throw new Error("synchronousRequest is undefined or null"); + } + this.synchronousRequest.prepareWait(timapi.constants.RequestType.activateServiceMenu); + this.$runningRequest = timapi.constants.RequestType.activateServiceMenu; + this.stateMachine.eventActivateServiceMenu(); + this.synchronousRequest.waitForRequestCompleted(); + if (this.synchronousRequest.$lastException !== undefined) { + throw this.synchronousRequest.$lastException; + } + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "activateServiceMenu"); + } + activateServiceMenuAsync() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "activateServiceMenuAsync"); + if (!this.hasGuide(timapi.constants.Guides.unattended)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.activateServiceMenu)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + this.$runningRequest = timapi.constants.RequestType.activateServiceMenu; + this.stateMachine.eventActivateServiceMenu(); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "activateServiceMenuAsync"); + } + openDialogMode() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "openDialogMode"); + if (!this.hasGuide(timapi.constants.Guides.DIALOG)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.openDialogMode)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + if (this.synchronousRequest == undefined) { + TerminalBackendSixml.logger.log(timapi.logging.Level.INFO, "synchronousRequest is undefined or null"); + throw new Error("synchronousRequest is undefined or null"); + } + this.synchronousRequest.prepareWait(timapi.constants.RequestType.openDialogMode); + this.$runningRequest = timapi.constants.RequestType.openDialogMode; + this.stateMachine.eventOpenDialogMode(); + this.synchronousRequest.waitForRequestCompleted(); + if (this.synchronousRequest.$lastException !== undefined) { + throw this.synchronousRequest.$lastException; + } + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "openDialogMode"); + } + openDialogModeAsync() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "openDialogModeAsync"); + if (!this.hasGuide(timapi.constants.Guides.DIALOG)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.openDialogMode)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + this.$runningRequest = timapi.constants.RequestType.openDialogMode; + this.stateMachine.eventOpenDialogMode(); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "openDialogModeAsync"); + } + closeDialogMode() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "closeDialogMode"); + if (!this.hasGuide(timapi.constants.Guides.DIALOG)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.closeDialogMode)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + if (this.synchronousRequest == undefined) { + TerminalBackendSixml.logger.log(timapi.logging.Level.INFO, "synchronousRequest is undefined or null"); + throw new Error("synchronousRequest is undefined or null"); + } + this.synchronousRequest.prepareWait(timapi.constants.RequestType.closeDialogMode); + this.$runningRequest = timapi.constants.RequestType.closeDialogMode; + this.stateMachine.eventCloseDialogMode(); + this.synchronousRequest.waitForRequestCompleted(); + if (this.synchronousRequest.$lastException !== undefined) { + throw this.synchronousRequest.$lastException; + } + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "closeDialogMode"); + } + closeDialogModeAsync() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "closeDialogModeAsync"); + if (!this.hasGuide(timapi.constants.Guides.DIALOG)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (!this.hasAdminFunction(timapi.constants.AdminFunctions.closeDialogMode)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + this.$runningRequest = timapi.constants.RequestType.closeDialogMode; + this.stateMachine.eventCloseDialogMode(); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "closeDialogModeAsync"); + } + showSignatureCapture(request) { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "showSignatureCapture", [request]); + if (!this.hasGuide(timapi.constants.Guides.DIALOG)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (!this.hasDialogFunction(timapi.constants.DialogFunctions.showSignatureCapture)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + this.synchronousRequest.prepareWait(timapi.constants.RequestType.showSignatureCapture); + this.stateMachine.$requestShowSignatureCapture(timapi.statemachine.sixml.ConvertSIXml2TimApi.convertRequestShowSignatureCapture(request)); + this.$runningRequest = timapi.constants.RequestType.showSignatureCapture; + this.stateMachine.eventShowSignatureCapture(); + if (this.synchronousRequest == undefined) { + TerminalBackendSixml.logger.log(timapi.logging.Level.INFO, "synchronousRequest is undefined or null"); + throw new Error("synchronousRequest is undefined or null"); + } + this.synchronousRequest.waitForRequestCompleted(); + if (this.synchronousRequest.$lastException !== undefined) { + throw this.synchronousRequest.$lastException; + } + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "showSignatureCapture"); + return this.synchronousRequest.$lastShowSignatureCaptureResponse; + } + showSignatureCaptureAsync(request) { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "showSignatureCaptureAsync", [request]); + if (!this.hasGuide(timapi.constants.Guides.DIALOG)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (!this.hasDialogFunction(timapi.constants.DialogFunctions.showSignatureCapture)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + this.stateMachine.$requestShowSignatureCapture(timapi.statemachine.sixml.ConvertSIXml2TimApi.convertRequestShowSignatureCapture(request)); + this.$runningRequest = timapi.constants.RequestType.showSignatureCapture; + this.stateMachine.eventShowSignatureCapture(); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "showSignatureCaptureAsync"); + } + showDialog(request) { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "showDialog", [request]); + if (!this.hasGuide(timapi.constants.Guides.DIALOG)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (!this.hasDialogFunction(timapi.constants.DialogFunctions.showDialog)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + this.synchronousRequest.prepareWait(timapi.constants.RequestType.showDialog); + this.stateMachine.$requestShowDialog(timapi.statemachine.sixml.ConvertTimApi2SIXml.convertRequestShowDialog(request)); + this.$runningRequest = timapi.constants.RequestType.showDialog; + this.stateMachine.eventShowDialog(); + if (this.synchronousRequest == undefined) { + TerminalBackendSixml.logger.log(timapi.logging.Level.INFO, "synchronousRequest is undefined or null"); + return undefined; + } + this.synchronousRequest.waitForRequestCompleted(); + if (this.synchronousRequest.$lastException !== undefined) { + throw this.synchronousRequest.$lastException; + } + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "showDialog"); + return this.synchronousRequest.$lastShowDialogResponse; + } + showDialogAsync(request) { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "showDialogAsync", [request]); + if (!this.hasGuide(timapi.constants.Guides.dialog)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (!this.hasDialogFunction(timapi.constants.DialogFunctions.showDialog)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + this.stateMachine.$requestShowDialog(timapi.statemachine.sixml.ConvertTimApi2SIXml.convertRequestShowDialog(request)); + this.$runningRequest = timapi.constants.RequestType.showDialog; + this.stateMachine.eventShowDialog(); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "showDialogAsync"); + } + balanceInquiry() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "balanceInquiry"); + if (!this.hasGuide(timapi.constants.Guides.advancedRetail)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (!this.hasNonFinancialFunction(timapi.constants.NonFinancialTransactions.balanceInquiry)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + this.synchronousRequest.prepareWait(timapi.constants.RequestType.balanceInquiry); + this.$runningRequest = timapi.constants.RequestType.balanceInquiry; + this.stateMachine.eventBalanceInquiry(); + this.synchronousRequest.waitForRequestCompleted(); + if (this.synchronousRequest.$lastException !== undefined) { + throw this.synchronousRequest.$lastException; + } + let response = this.synchronousRequest.$lastBalanceInquiryResponse; + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "balanceInquiry", [response]); + return response; + } + balanceInquiryAsync() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "balanceInquiryAsync"); + if (!this.hasGuide(timapi.constants.Guides.advancedRetail)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (!this.hasNonFinancialFunction(timapi.constants.NonFinancialTransactions.balanceInquiry)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + this.$runningRequest = timapi.constants.RequestType.balanceInquiry; + this.stateMachine.eventBalanceInquiry(); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "balanceInquiryAsync"); + } + queryLoyalty(retainCard, loyaltyInfoType) { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "queryLoyalty", [retainCard, loyaltyInfoType]); + if (!this.hasGuide(timapi.constants.Guides.advancedRetail)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (!this.hasNonFinancialFunction(timapi.constants.NonFinancialTransactions.queryLoyalty)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + this.synchronousRequest.prepareWait(timapi.constants.RequestType.queryLoyalty); + let request = new timapi.protocol.sixml.Request_QueryLoyalty(); + request.retainCardFlag = retainCard; + request.loyaltyInfoType = loyaltyInfoType; + this.stateMachine.$requestQueryLoyalty(request); + this.$runningRequest = timapi.constants.RequestType.queryLoyalty; + this.stateMachine.eventQueryLoyalty(); + this.synchronousRequest.waitForRequestCompleted(); + if (this.synchronousRequest.$lastException !== undefined) { + throw this.synchronousRequest.$lastException; + } + let response = this.synchronousRequest.$lastQueryLoyaltyResponse; + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "queryLoyalty", [response]); + return response; + } + queryLoyaltyAsync(retainCard, loyaltyInfoType) { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "queryLoyaltyAsync", [retainCard, loyaltyInfoType]); + if (!this.hasGuide(timapi.constants.Guides.advancedRetail)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (!this.hasNonFinancialFunction(timapi.constants.NonFinancialTransactions.queryLoyalty)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (this.hasRunningRequest()) { + throw new timapi.TimException(timapi.constants.ResultCode.requestPending); + } + let request = new timapi.protocol.sixml.Request_QueryLoyalty(); + request.retainCardFlag = retainCard; + request.loyaltyInfoType = loyaltyInfoType; + this.stateMachine.$requestQueryLoyalty(request); + this.$runningRequest = timapi.constants.RequestType.queryLoyalty; + this.stateMachine.eventQueryLoyalty(); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "queryLoyaltyAsync"); + } + failRunningRequest(exception) { + if (TerminalBackendSixml.logger.isLoggable(timapi.logging.Level.FINEST)) { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "failRunningRequest", [exception, timapi.constants.RequestType[this.$runningRequest]]); + } + else { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "failRunningRequest"); + } + if (this.hasRunningRequest()) { + this.failRequest(this.$runningRequest, exception); + } + this.failPendingRequest(exception); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "failRunningRequest"); + } + failPendingRequest(exception) { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "failPendingRequest", [exception]); + let pendingRequest = this.stateMachine.$pendingRequest; + if (pendingRequest == undefined) { + return; + } + try { + this.stateMachine.actionClearPendingEvent(); + } + catch (ignore) { + console.log(ignore); + } + this.failRequest(pendingRequest, exception); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "failPendingRequest"); + } + failRequest(requestType, exception) { + if (TerminalBackendSixml.logger.isLoggable(timapi.logging.Level.FINEST)) { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "failRequest", [timapi.constants.RequestType[requestType], exception]); + } + else { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "failRequest"); + } + TerminalBackendSixml.logger.log(timapi.logging.Level.INFO, "Fail request ", [timapi.constants.RequestType[requestType]]); + switch (requestType) { + case timapi.constants.RequestType.activate: + this.notifyActivateCompleted(exception, undefined); + break; + case timapi.constants.RequestType.applicationInformation: + this.notifyApplicationInformationCompleted(exception); + break; + case timapi.constants.RequestType.balance: + this.notifyBalanceCompleted(exception, undefined); + break; + case timapi.constants.RequestType.commit: + this.notifyCommitCompleted(exception); + break; + case timapi.constants.RequestType.counterRequest: + this.notifyCounterRequestCompleted(exception, undefined); + break; + case timapi.constants.RequestType.dccRates: + this.notifyDccRatesCompleted(exception, undefined); + break; + case timapi.constants.RequestType.deactivate: + this.notifyDeactivateCompleted(exception, undefined); + break; + case timapi.constants.RequestType.hardwareInformation: + this.notifyHardwareInformationCompleted(exception, undefined); + break; + case timapi.constants.RequestType.changeSettings: + this.notifyChangeSettingsCompleted(exception); + break; + case timapi.constants.RequestType.initTransaction: + this.notifyInitTransactionCompleted(exception, undefined); + break; + case timapi.constants.RequestType.login: + this.notifyLoginCompleted(exception); + break; + case timapi.constants.RequestType.logout: + this.notifyLogoutCompleted(exception); + break; + case timapi.constants.RequestType.reboot: + this.notifyRebootCompleted(exception); + break; + case timapi.constants.RequestType.receiptRequest: + this.notifyReceiptRequestCompleted(exception, undefined); + break; + case timapi.constants.RequestType.reconciliation: + this.notifyReconciliationCompleted(exception, undefined); + break; + case timapi.constants.RequestType.reconfig: + this.notifyReconfigCompleted(exception, undefined); + break; + case timapi.constants.RequestType.rollback: + this.notifyRollbackCompleted(exception, undefined); + break; + case timapi.constants.RequestType.softwareUpdate: + this.notifySoftwareUpdateCompleted(exception, undefined); + break; + case timapi.constants.RequestType.systemInformation: + this.notifySystemInformationCompleted(exception, undefined); + break; + case timapi.constants.RequestType.transaction: + this.notifyTransactionCompleted(exception, new timapi.TransactionResponse(this.failTransactionType, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, new Map(), new Array())); + break; + case timapi.constants.RequestType.openReader: + this.notifyOpenReaderCompleted(exception); + break; + case timapi.constants.RequestType.closeReader: + this.notifyCloseReaderCompleted(exception); + break; + case timapi.constants.RequestType.ejectCard: + this.notifyEjectCardCompleted(exception); + break; + case timapi.constants.RequestType.openMaintenanceWindow: + this.notifyOpenMaintenanceWindowCompleted(exception); + break; + case timapi.constants.RequestType.closeMaintenanceWindow: + this.notifyCloseMaintenanceWindowCompleted(exception); + break; + case timapi.constants.RequestType.activateServiceMenu: + this.notifyActivateServiceMenuCompleted(exception); + break; + case timapi.constants.RequestType.openDialogMode: + this.notifyOpenDialogModeCompleted(exception); + break; + case timapi.constants.RequestType.closeDialogMode: + this.notifyCloseDialogModeCompleted(exception); + break; + case timapi.constants.RequestType.showSignatureCapture: + this.notifyShowSignatureCaptureCompleted(exception, undefined); + break; + case timapi.constants.RequestType.showDialog: + this.notifyShowDialogCompleted(exception, undefined); + break; + case timapi.constants.RequestType.balanceInquiry: + this.notifyBalanceInquiryCompleted(exception, undefined); + break; + case timapi.constants.RequestType.queryLoyalty: + this.notifyQueryLoyaltyCompleted(exception, undefined); + break; + case timapi.constants.RequestType.connect: + this.notifyConnectCompleted(exception); + break; + case timapi.constants.RequestType.softwareInformation: + this.notifySoftwareUpdateCompleted(exception, undefined); + break; + } + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "failRequest"); + } + consumeNextSequenceNumber() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "consumeNextSequenceNumber"); + if (this.nextSequenceNumber === Number.MAX_VALUE) { + this.nextSequenceNumber = 1; + return Number.MAX_VALUE; + } + if (TerminalBackendSixml.logger.isLoggable(timapi.logging.Level.FINEST)) { + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "consumeNextSequenceNumber", [this.nextSequenceNumber + 1]); + } + else { + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "consumeNextSequenceNumber"); + } + this.nextSequenceNumber += 1; + return this.nextSequenceNumber; + } + hasPendingMessage() { + return this.pendingMessage !== undefined; + } + sendMessage(message) { + if (TerminalBackendSixml.logger.isLoggable(timapi.logging.Level.FINEST)) { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "sendMessage"); + } + else { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "sendMessage"); + } + if (!this.isCommConnected()) { + throw new timapi.TimException(timapi.constants.ResultCode.TIM_COMMUNICATION_FAILURE); + } + let channel = 1; + let node = this.m_xmlWriter.writeXml(message.toXmlNode()); + TerminalBackendSixml.logger.log(timapi.logging.Level.FINE, "Sending message: ", node); + let data = timapi.utils.StringEncoder.toArrayBuffer(node); + try { + this.$commEndpoint.sendMessage(new Uint8Array(data)); + this.pendingMessage = message; + } + catch (e) { + throw new timapi.TimException(timapi.constants.ResultCode.TIM_COMMUNICATION_FAILURE); + } + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "sendMessage"); + } + sendNotification(message) { + if (TerminalBackendSixml.logger.isLoggable(timapi.logging.Level.FINEST)) { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "sendNotification"); + } + else { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "sendNotification"); + } + if (!this.isCommConnected()) { + throw new Error("Not connected to terminal"); + } + let channel = 1; + let node = this.m_xmlWriter.writeXml(message.toXmlNode()); + let data = timapi.utils.StringEncoder.toArrayBuffer(node); + this.$commEndpoint.sendMessage(new Uint8Array(data)); + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "sendNotification"); + } + setDisconnectedTerminalStatus() { + this.terminalStatus = new timapi.TerminalStatus(new Array(), timapi.constants.ConnectionStatus.disconnected, timapi.constants.ManagementStatus.closed, timapi.constants.CardReaderStatus.cardReaderEmpty, timapi.constants.TransactionStatus.idle, undefined, false, undefined, false); + } + connected() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "connected"); + try { + this.notifyConnectCompleted(undefined); + this.stateMachine.eventConnected(); + } + catch (ignore) { + console.log(ignore); + } + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "connected"); + } + connectionFailed(error) { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "connectionFailed"); + try { + this.notifyConnectCompleted(new timapi.TimException(error)); + this.stateMachine.eventConnectFailed(); + } + catch (ignore) { + } + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "connectionFailed"); + } + disconnected() { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "disconnected"); + let exception = new timapi.TimException(timapi.constants.ResultCode.TIM_COMMUNICATION_FAILURE); + try { + this.failRunningRequest(exception); + this.setDisconnectedTerminalStatus(); + this.notifyDisconnected(exception); + this.stateMachine.eventDisconnect(); + } + catch (ignore) { + } + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "disconnected"); + } + checkTransactionTypeAllowed(type) { + switch (type) { + case timapi.constants.TransactionType.purchase: + if (!this.hasFinancialFunction(timapi.constants.FinancialTransactions.purchase)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + break; + case timapi.constants.TransactionType.credit: + if (!this.hasFinancialFunction(timapi.constants.FinancialTransactions.credit)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + break; + case timapi.constants.TransactionType.reversal: + if (!this.hasFinancialFunction(timapi.constants.FinancialTransactions.reversal)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + break; + case timapi.constants.TransactionType.preAuthorization: + if (!this.hasGuide(timapi.constants.Guides.petrol)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (!this.hasFinancialFunction(timapi.constants.FinancialTransactions.preAuthorization)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + break; + case timapi.constants.TransactionType.finalizePurchase: + if (!this.hasGuide(timapi.constants.Guides.petrol)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (!this.hasFinancialFunction(timapi.constants.FinancialTransactions.finalizePurchase)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + break; + case timapi.constants.TransactionType.purchaseForcedAcceptance: + if (!this.hasGuide(timapi.constants.Guides.advancedRetail)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (!this.hasFinancialFunction(timapi.constants.FinancialTransactions.purchaseForcedAcceptance)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + break; + case timapi.constants.TransactionType.cashAdvance: + if (!this.hasGuide(timapi.constants.Guides.advancedRetail)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (!this.hasFinancialFunction(timapi.constants.FinancialTransactions.cashAdvance)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + break; + case timapi.constants.TransactionType.purchaseWithCashback: + if (!this.hasGuide(timapi.constants.Guides.advancedRetail)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (!this.hasFinancialFunction(timapi.constants.FinancialTransactions.purchaseWithCashback)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + break; + case timapi.constants.TransactionType.purchasePhoneAuthorized: + if (!this.hasGuide(timapi.constants.Guides.advancedRetail)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + if (!this.hasFinancialFunction(timapi.constants.FinancialTransactions.purchasePhoneAuthorized)) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + break; + } + } + connectionFailed(error) { + TerminalBackendSixml.logger.entering(TerminalBackendSixml.CLASS_NAME, "connectionFailed"); + try { + this.notifyConnectCompleted(new timapi.TimException(error)); + this.stateMachine.eventConnectFailed(); + } + catch (_a) { + console.log("error occured"); + } + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "connectionFailed"); + } + disconnected() { + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "disconnected"); + let exception = new timapi.TimException(timapi.constants.ResultCode.timCommunicationFailure); + try { + this.failRunningRequest(exception); + this.setDisconnectedTerminalStatus(); + this.notifyDisconnected(exception); + this.stateMachine.eventDisconnect(); + } + catch (_a) { + console.log("error occured"); + } + TerminalBackendSixml.logger.exiting(TerminalBackendSixml.CLASS_NAME, "disconnected"); + } + messageReceived(data) { + let channel = data[0]; + try { + switch (channel) { + case 1: + let node = timapi.utils.SixmlParser.parseSIXMLFromUint8Array(data.subarray(1)); + let messageType = node.name; + if (messageType === "sixml:Notification") { + let notification = new timapi.protocol.sixml.Notification(node); + if (notification.function === timapi.protocol.constants.Function.keepAlive) { + TerminalBackendSixml.logger.log(timapi.logging.Level.FINEST, "Received keep alive:", node); + } + else { + TerminalBackendSixml.logger.log(timapi.logging.Level.FINER, "Received notification: " + timapi.utils.StringHelper.fromUInt8Array(data), node); + } + } + else { + TerminalBackendSixml.logger.log(timapi.logging.Level.FINE, "Received message: " + timapi.utils.StringHelper.fromUInt8Array(data), node); + } + this.stateMachine.$lastReceivedMessage = node; + this.stateMachine.armKeepAliveTimeout(); + if (messageType === "sixml:Notification") { + let notification = new timapi.protocol.sixml.Notification(node); + if (notification.functionGroup === timapi.protocol.constants.FunctionGroup.status) { + if (notification.function === timapi.protocol.constants.Function.terminalStatus) { + this.stateMachine.eventNotificationStatusChanged(); + } + else if (notification.function === timapi.protocol.constants.Function.licenseChanged) { + this.stateMachine.eventNotificationLicenseChanged(); + } + else if (notification.function === timapi.protocol.constants.Function.keepAlive) { + this.stateMachine.eventNotificationKeepAlive(); + } + else { + this.stateMachine.eventResponseInvalid(); + } + } + else { + this.stateMachine.eventResponseInvalid(); + } + } + else if (messageType === "sixml:Response") { + if (this.pendingMessage == undefined) { + this.stateMachine.eventResponseInvalid(); + } + else { + let response = new timapi.protocol.sixml.Response(node); + if (response.sequenceNumber === this.pendingMessage.sequenceNumber + && response.functionGroup === this.pendingMessage.functionGroup + && response.function === this.pendingMessage.function) { + this.pendingMessage = null; + if (response.resultCode == 0) { + this.stateMachine.eventResponseRequest(); + } + else { + this.stateMachine.eventResponseError(); + } + } + } + } + break; + case 2: + break; + case 3: + break; + case 4: + break; + default: + break; + } + } + catch (e) { + TerminalBackendSixml.logger.log(timapi.logging.Level.SEVERE, "Failed to parse received message", e); + if (channel == 1) { + TerminalBackendSixml.logger.log(timapi.logging.Level.SEVERE, String.fromCharCode(data.subarray(1))); + } + try { + stateMachine.eventResponseInvalid(); + } + catch (ignore) { + console.log(ignore); + } + } + } + checkPendingAction() { + if (this.pendingAction !== timapi.SocketAction.none) { + TerminalBackendSixml.logger.log(timapi.logging.Level.INFO, "Pending request present, waiting"); + return; + } + switch (this.pendingAction) { + case timapi.SocketAction.transaction: + switch (this.state) { + case SocketState.disconnected: + this.connect(); + break; + case SocketState.loggedOut: + this.login(); + break; + case SocketState.loggedIn: + this.activate(); + break; + case SocketState.open: + this.pendingAction = timapi.SocketAction.none; + this.purchase(); + break; + } + break; + case timapi.SocketAction.disconnect: + switch (this.state) { + case SocketState.open: + this.deactivate(); + break; + case SocketState.loggedIn: + this.logout(); + break; + case SocketState.loggedOut: + this.pendingAction = timapi.SocketAction.none; + this.disconnect(); + break; + } + } + } + activate() { + if (this.state !== SocketState.loggedIn) { + return; + } + let sequenceNumber = this.nextSeqNum; + this.nextSeqNum += 1; + let messageBuilder = new Array(); + messageBuilder.push("<?xml version=\"1.0\" ?>"); + messageBuilder.push("<sixml:Request Function=\"Activate\" FunctionGroup=\"Admin\" SequenceNumber=\"" + sequenceNumber + "\" xmlns:sixml=\"http://www.six-payment-services.com/\">"); + messageBuilder.push("<sixml:UsrId>" + this.userId + "</sixml:UsrId>"); + messageBuilder.push("</sixml:Request>"); + TerminalBackendSixml.logger.log(timapi.logging.Level.INFO, "Send message Admin/Activate " + messageBuilder.join("").length + " bytes"); + this.state = SocketState.activating; + this.runningRequest = timapi.constants.RequestType.activate; + this.sendMessage(messageBuilder.join("")); + } + purchase() { + if (this.state !== SocketState.open) { + return; + } + let sequenceNumber = this.nextSeqNum; + this.nextSeqNum += 1; + let messageBuilder = new Array(); + messageBuilder.push("<?xml version=\"1.0\" ?>"); + messageBuilder.push("<sixml:Request Function=\"Purchase\" FunctionGroup=\"FinTransaction\" SequenceNumber=\"" + sequenceNumber + "\" xmlns:sixml=\"http://www.six-payment-services.com/\">"); + messageBuilder.push("<sixml:UsrId>" + this.userId + "</sixml:UsrId>"); + messageBuilder.push("<sixml:Amount Currency=\"CHF\" Exponent=\"2\">" + this.transactionAmount + "</sixml:Amount>"); + messageBuilder.push("<sixml:TransactionData EcrSeqCounter=\"1\"/>"); + messageBuilder.push("</sixml:Request>"); + TerminalBackendSixml.logger.log(timapi.logging.Level.INFO, "Send message FinTransaction/Purchase " + messageBuilder.join("").length + " bytes"); + this.state = SocketState.transaction; + this.runningRequest = { funcGroup: "FinTransaction", func: "Purchase", seqNum: sequenceNumber }; + this.sendMessage(messageBuilder.join("")); + } + deactivate() { + if (this.state !== SocketState.open) { + return; + } + let sequenceNumber = this.nextSeqNum; + this.nextSeqNum += 1; + let messageBuilder = new Array(); + messageBuilder.push("<?xml version=\"1.0\" ?>"); + messageBuilder.push("<sixml:Request Function=\"Deactivate\" FunctionGroup=\"Admin\" SequenceNumber=\"" + sequenceNumber + "\" xmlns:sixml=\"http://www.six-payment-services.com/\">"); + messageBuilder.push("</sixml:Request>"); + TerminalBackendSixml.logger.log(timapi.logging.Level.INFO, "Send message Admin/Deactivate " + messageBuilder.join("").length + " bytes"); + this.state = SocketState.deactivating; + this.runningRequest = { funcGroup: "Admin", func: "Deactivate", seqNum: sequenceNumber }; + this.sendMessage(messageBuilder.join("")); + } + logout() { + if (this.state !== SocketState.loggedIn) { + return; + } + let sequenceNumber = this.nextSeqNum; + this.nextSeqNum += 1; + let messageBuilder = new Array(); + messageBuilder.push("<?xml version=\"1.0\" ?>"); + messageBuilder.push("<sixml:Request Function=\"Logout\" FunctionGroup=\"Admin\" SequenceNumber=\"" + sequenceNumber + "\" xmlns:sixml=\"http://www.six-payment-services.com/\">"); + messageBuilder.push("</sixml:Request>"); + TerminalBackendSixml.logger.log(timapi.logging.Level.INFO, "Send message Admin/Logout " + messageBuilder.join("").length + " bytes"); + this.state = SocketState.loggedOut; + this.runningRequest = { funcGroup: "Admin", func: "Logout", seqNum: sequenceNumber }; + this.sendMessage(messageBuilder.join("")); + } + } + TerminalBackendSixml.LOGGER_NAME = "TerminalBackendSixml"; + TerminalBackendSixml.CLASS_NAME = "TerminalBackendSixml"; + TerminalBackendSixml.logger = timapi.logging.Logger.getLogger(TerminalBackendSixml.LOGGER_NAME); + timapi.TerminalBackendSixml = TerminalBackendSixml; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class TerminalSettings { + constructor() { + this.$logDir = ""; + this.logRetainFileCount = 7; + this.logFileCountPerArchive = 30; + this.logRetainArchiveCount = 3; + this.terminalId = ""; + this.$connectionMode = timapi.constants.ConnectionMode.broadcast; + this.connectionIPString = ""; + this.connectionIPPort = 7784; + this.broadcastInterface = ""; + this.$protocolType = timapi.constants.ProtocolType.sixml; + this.integratorId = "0"; + this.guides = new Set(); + this.guides.add(timapi.constants.Guides.retail); + this.manufacturerFlags = 0; + this.autoConnect = false; + this.autoLogin = false; + this.fetchBrands = false; + this.autoActivate = false; + this.autoCommit = true; + this.autoDeactivate = false; + this.autoLogout = false; + this.autoDisconnect = false; + this.autoShiftManagement = true; + this.autoShutterManagement = true; + this.cardInsertionTimeout = 60; + this.cardRemovalTimeout = 60; + this.commitTimeout = 60; + this.dcc = true; + this.partialApproval = false; + this.proceedTimeout = 60; + this.tipAllowed = false; + this.enableKeepAlive = true; + this.useSaferPay = false; + this.enabledHacks = new Set(); + } + TerminalSettings(settings) { + this.logDir = settings.logDir; + this.logRetainFileCount = settings.logRetainFileCount; + this.logFileCountPerArchive = settings.logFileCountPerArchive; + this.logRetainArchiveCount = settings.logRetainArchiveCount; + this.terminalId = settings.terminalId; + this.connectionMode = settings.connectionMode; + this.connectionIPString = settings.connectionIPString; + this.connectionIPPort = settings.connectionIPPort; + this.broadcastInterface = settings.broadcastInterface; + this.protocolType = settings.protocolType; + this.integratorId = settings.integratorId; + this.guides = settings.guides; + this.manufacturerFlags = settings.manufacturerFlags; + this.autoConnect = settings.autoConnect; + this.autoLogin = settings.autoLogin; + this.fetchBrands = settings.fetchBrands; + this.autoActivate = settings.autoActivate; + this.autoCommit = settings.autoCommit; + this.autoDeactivate = settings.autoDeactivate; + this.autoLogout = settings.autoLogout; + this.autoDisconnect = settings.autoDisconnect; + this.autoShiftManagement = settings.autoShiftManagement; + this.autoShutterManagement = settings.autoShutterManagement; + this.cardInsertionTimeout = settings.cardInsertionTimeout; + this.cardRemovalTimeout = settings.cardRemovalTimeout; + this.commitTimeout = settings.commitTimeout; + this.dcc = settings.dcc; + this.partialApproval = settings.partialApproval; + this.proceedTimeout = settings.proceedTimeout; + this.tipAllowed = settings.tipAllowed; + this.enableKeepAlive = settings.enableKeepAlive; + this.enabledHacks = new Set(settings.enabledHacks); + } + get $logDir() { + return this.logDir; + } + set $logDir(value) { + this.logDir = value; + } + get $logRetainFileCount() { + return this.logRetainFileCount; + } + set $logRetainFileCount(value) { + this.logRetainFileCount = value; + } + get $logFileCountPerArchive() { + return this.logFileCountPerArchive; + } + set $logFileCountPerArchive(value) { + if (value < 0) { + throw new Error("value must be >= 0"); + } + this.logFileCountPerArchive = value; + } + get $logRetainArchiveCount() { + return this.logRetainArchiveCount; + } + set $logRetainArchiveCount(value) { + if (value < 0) { + throw new Error("value must be >= 0"); + } + this.logRetainArchiveCount = value; + } + get $terminalId() { + return this.terminalId; + } + set $terminalId(value) { + this.terminalId = value; + } + get $connectionMode() { + return this.connectionMode; + } + set $connectionMode(value) { + this.connectionMode = value; + } + get $connectionIPString() { + return this.connectionIPString; + } + set $connectionIPString(value) { + this.connectionIPString = value; + } + get $connectionIPPort() { + return this.connectionIPPort; + } + set $connectionIPPort(value) { + this.connectionIPPort = value; + } + get $broadcastInterface() { + return this.broadcastInterface; + } + set $broadcastInterface(value) { + this.broadcastInterface = value; + } + get $protocolType() { + return this.protocolType; + } + set $protocolType(value) { + this.protocolType = value; + } + get $integratorId() { + return this.integratorId; + } + set $integratorId(value) { + this.integratorId = value; + } + get $guides() { + return this.guides; + } + set $guides(value) { + if (!value.has(timapi.constants.Guides.retail)) { + throw new Error("value should include retail"); + } + this.guides = value; + } + get $manufacturerFlags() { + return this.manufacturerFlags; + } + set $manufacturerFlags(value) { + this.manufacturerFlags = value; + } + get $autoConnect() { + return this.autoConnect; + } + set $autoConnect(value) { + this.autoConnect = value; + } + get $autoLogin() { + return this.autoLogin; + } + set $autoLogin(value) { + this.autoLogin = value; + } + get $fetchBrands() { + return this.fetchBrands; + } + set $fetchBrands(value) { + this.fetchBrands = value; + } + get $autoActivate() { + return this.autoActivate; + } + set $autoActivate(value) { + this.autoActivate = value; + } + get $autoCommit() { + return this.autoCommit; + } + set $autoCommit(value) { + this.autoCommit = value; + } + get $autoDeactivate() { + return this.autoDeactivate; + } + set $autoDeactivate(value) { + this.autoDeactivate = value; + } + get $autoLogout() { + return this.autoLogout; + } + set $autoLogout(value) { + this.autoLogout = value; + } + get $autoDisconnect() { + return this.autoDisconnect; + } + set $autoDisconnect(value) { + this.autoDisconnect = value; + } + get $autoShiftManagement() { + return this.autoShiftManagement; + } + set $autoShiftManagement(value) { + this.autoShiftManagement = value; + } + get $autoShutterManagement() { + return this.autoShutterManagement; + } + set $autoShutterManagement(value) { + this.autoShutterManagement = value; + } + get $cardInsertionTimeout() { + return this.cardInsertionTimeout; + } + set $cardInsertionTimeout(value) { + if (value < 1) { + throw new Error("value must be >= 1"); + } + this.cardInsertionTimeout = value; + } + get $cardRemovalTimeout() { + return this.cardRemovalTimeout; + } + set $cardRemovalTimeout(value) { + if (value < 1) { + throw new Error("value must be >= 1"); + } + this.cardRemovalTimeout = value; + } + get $commitTimeout() { + return this.commitTimeout; + } + set $commitTimeout(value) { + if (value < 1) { + throw new Error("value must be >= 1"); + } + this.commitTimeout = value; + } + get $dcc() { + return this.dcc; + } + set $dcc(value) { + this.dcc = value; + } + get $partialApproval() { + return this.partialApproval; + } + set $partialApproval(value) { + this.partialApproval = value; + } + get $proceedTimeout() { + return this.proceedTimeout; + } + set $proceedTimeout(value) { + if (value < 1) { + throw new Error("value must be >= 1"); + } + this.proceedTimeout = value; + } + get $tipAllowed() { + return this.tipAllowed; + } + set $tipAllowed(value) { + this.tipAllowed = value; + } + get $enableKeepAlive() { + return this.enableKeepAlive; + } + set $enableKeepAlive(value) { + this.enableKeepAlive = value; + } + get $enabledHacks() { + return this.enabledHacks; + } + loadConfigFile(filename) { + return new Map(); + } + } + timapi.TerminalSettings = TerminalSettings; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class TerminalSettingsImmutable { + constructor(settings) { + if (settings == undefined) { + throw new Error("settings cannot be undefined or null"); + } + this.logDir = settings.$logDir; + this.logRetainFileCount = settings.$logRetainFileCount; + this.logFileCountPerArchive = settings.$logFileCountPerArchive; + this.logRetainArchiveCount = settings.$logRetainArchiveCount; + this.terminalId = settings.$terminalId; + this.connectionMode = settings.$connectionMode; + this.connectionIPString = settings.$connectionIPString; + this.connectionIPPort = settings.$connectionIPPort; + this.broadcastInterface = settings.$broadcastInterface; + this.protocolType = settings.$protocolType; + this.integratorId = settings.$integratorId; + this.guides = settings.$guides; + this.manufacturerFlags = settings.$manufacturerFlags; + this.autoConnect = settings.$autoConnect; + this.autoLogin = settings.$autoLogin; + this.fetchBrands = settings.$fetchBrands; + this.autoActivate = settings.$autoActivate; + this.autoCommit = settings.$autoCommit; + this.autoDeactivate = settings.$autoDeactivate; + this.autoLogout = settings.$autoLogout; + this.autoDisconnect = settings.$autoDisconnect; + this.autoShiftManagement = settings.$autoShiftManagement; + this.autoShutterManagement = settings.$autoShutterManagement; + this.cardInsertionTimeout = settings.$cardInsertionTimeout; + this.cardRemovalTimeout = settings.$cardRemovalTimeout; + this.commitTimeout = settings.$commitTimeout; + this.dcc = settings.$dcc; + this.partialApproval = settings.$partialApproval; + this.proceedTimeout = settings.$proceedTimeout; + this.tipAllowed = settings.$tipAllowed; + this.enableKeepAlive = settings.$enableKeepAlive; + this.enabledHacks = new Set(settings.$enabledHacks); + } + get $logDir() { + return this.logDir; + } + get $logRetainFileCount() { + return this.logRetainFileCount; + } + get $logFileCountPerArchive() { + return this.logFileCountPerArchive; + } + get $logRetainArchiveCount() { + return this.logRetainArchiveCount; + } + get $terminalId() { + return this.terminalId; + } + get $connectionMode() { + return this.connectionMode; + } + get $connectionIPString() { + return this.connectionIPString; + } + get $connectionIPPort() { + return this.connectionIPPort; + } + get $broadcastInterface() { + return this.broadcastInterface; + } + get $protocolType() { + return this.protocolType; + } + get $integratorId() { + return this.integratorId; + } + get $guides() { + return this.guides; + } + get $manufacturerFlags() { + return this.manufacturerFlags; + } + get $autoConnect() { + return this.autoConnect; + } + get $autoLogin() { + return this.autoLogin; + } + get $fetchBrands() { + return this.fetchBrands; + } + get $autoActivate() { + return this.autoActivate; + } + get $autoCommit() { + return this.autoCommit; + } + get $autoDeactivate() { + return this.autoDeactivate; + } + get $autoLogout() { + return this.autoLogout; + } + get $autoDisconnect() { + return this.autoDisconnect; + } + get $autoShiftManagement() { + return this.autoShiftManagement; + } + get $autoShutterManagement() { + return this.autoShutterManagement; + } + get $cardInsertionTimeout() { + return this.cardInsertionTimeout; + } + get $cardRemovalTimeout() { + return this.cardRemovalTimeout; + } + get $commitTimeout() { + return this.commitTimeout; + } + get $dcc() { + return this.dcc; + } + get $partialApproval() { + return this.partialApproval; + } + get $proceedTimeout() { + return this.proceedTimeout; + } + get $tipAllowed() { + return this.tipAllowed; + } + get $enableKeepAlive() { + return this.enableKeepAlive; + } + get $enabledHacks() { + return this.enabledHacks; + } + } + timapi.TerminalSettingsImmutable = TerminalSettingsImmutable; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class TerminalStatus { + constructor($displayContent = new Array(), $connectionStatus, $managementStatus, $cardReaderStatus, $transactionStatus, $sleepModeStatus, $receiptInformation, $cardData, $swUpdateAvailable) { + this.displayContent = $displayContent.slice(); + this.connectionStatus = $connectionStatus; + this.managementStatus = $managementStatus; + this.cardReaderStatus = $cardReaderStatus; + this.transactionStatus = $transactionStatus; + this.sleepModeStatus = $sleepModeStatus; + this.receiptInformation = $receiptInformation; + this.cardData = $cardData; + this.swUpdateAvailable = $swUpdateAvailable; + } + get $displayContent() { + return this.displayContent; + } + set $displayContent(value) { + this.displayContent = value; + } + get $connectionStatus() { + return this.connectionStatus; + } + get $managementStatus() { + return this.managementStatus; + } + get $cardReaderStatus() { + return this.cardReaderStatus; + } + get $transactionStatus() { + return this.transactionStatus; + } + get $sleepModeStatus() { + return this.sleepModeStatus; + } + get $receiptInformation() { + return this.receiptInformation; + } + get $cardData() { + return this.cardData; + } + get $swUpdateAvailable() { + return this.swUpdateAvailable; + } + } + timapi.TerminalStatus = TerminalStatus; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class TimEvent { + constructor($terminal, $exception, $requestType) { + this.terminal = $terminal; + this.exception = $exception; + this.requestType = $requestType; + } + get $terminal() { + return this.terminal; + } + get $exception() { + return this.exception; + } + get $requestType() { + return this.requestType; + } + } + timapi.TimEvent = TimEvent; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class TimException extends Error { + constructor($resultCode, $errorMessage, $nativeError, $ppInfo, $additionalErrorInfo = new Map(), $printData) { + super(); + this.resultCode = $resultCode; + this.additionalErrorInfo = new Map(); + this.errorMessage = $errorMessage; + this.nativeError = $nativeError; + this.ppInfo = $ppInfo; + this.additionalErrorInfo = $additionalErrorInfo; + this.printData = $printData; + } + getLocalizedMessage() { + return this.errorMessage; + } + get $errorMessage() { + return this.errorMessage; + } + get $resultCode() { + return this.resultCode; + } + getErrorMessage() { + return this.errorMessage; + } + get $nativeError() { + return this.nativeError; + } + get $ppInfo() { + return this.ppInfo; + } + get $additionalErrorInfo() { + return this.additionalErrorInfo; + } + get $printData() { + return this.printData; + } + } + timapi.TimException = TimException; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class Total { + constructor($count, $amountSum, $trxDetails) { + this.count = $count; + this.amountSum = $amountSum; + this.trxDetails = $trxDetails.slice(); + } + get $count() { + return this.count; + } + get $amountSum() { + return this.amountSum; + } + get $trxDetails() { + return this.trxDetails; + } + } + timapi.Total = Total; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class TransactionData { + constructor(data) { + if (data == undefined) { + this.dccAllowed = undefined; + this.trxOriginalDate = undefined; + this.ecrSeqCounter = undefined; + this.partialApprovalAllowed = undefined; + this.transRef = undefined; + this.transSeq = undefined; + this.cardRef = undefined; + this.acqId = undefined; + this.acqTransRef = undefined; + this.trmTransRef = undefined; + this.tipAllowed = undefined; + this.phoneAuthCode = undefined; + } + else { + this.dccAllowed = data.dccAllowed; + this.trxOriginalDate = data.trxOriginalDate; + this.ecrSeqCounter = data.ecrSeqCounter; + this.transRef = data.transRef; + this.transSeq = data.transSeq; + this.cardRef = data.cardRef; + this.acqId = data.acqId; + this.acqTransRef = data.acqTransRef; + this.trmTransRef = data.trmTransRef; + this.tipAllowed = data.tipAllowed; + this.phoneAuthCode = data.phoneAuthCode; + } + } + get $dccAllowed() { + return this.dccAllowed; + } + set $dccAllowed(value) { + this.dccAllowed = value; + } + get $trxOriginalDate() { + return this.trxOriginalDate; + } + set $trxOriginalDate(value) { + this.trxOriginalDate = value; + } + get $ecrSeqCounter() { + return this.ecrSeqCounter; + } + set $ecrSeqCounter(value) { + this.ecrSeqCounter = value; + } + get $partialApprovalAllowed() { + return this.partialApprovalAllowed; + } + set $partialApprovalAllowed(value) { + this.partialApprovalAllowed = value; + } + get $transRef() { + return this.transRef; + } + set $transRef(value) { + this.transRef = value; + } + get $transSeq() { + return this.transSeq; + } + set $transSeq(value) { + this.transSeq = value; + } + get $cardRef() { + return this.cardRef; + } + set $cardRef(value) { + this.cardRef = value; + } + get $acqId() { + return this.acqId; + } + set $acqId(value) { + this.acqId = value; + } + get $acqTransRef() { + return this.acqTransRef; + } + set $acqTransRef(value) { + this.acqTransRef = value; + } + get $trmTransRef() { + return this.trmTransRef; + } + set $trmTransRef(value) { + this.trmTransRef = value; + } + get $tipAllowed() { + return this.tipAllowed; + } + set $tipAllowed(value) { + this.tipAllowed = value; + } + get $phoneAuthCode() { + return this.phoneAuthCode; + } + set $phoneAuthCode(value) { + this.phoneAuthCode = value; + } + get $language() { + return this.language; + } + set $language(value) { + this.language = value; + } + } + timapi.TransactionData = TransactionData; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class TransactionInformation { + constructor($posEntryMode, $cvm, $merchantAction, $authCode, $timeStamp, $transRef, $transSeq, $acqId, $signatureInformation, $trmTransRef, $acqTransRef) { + this.posEntryMode = $posEntryMode; + this.cvm = $cvm; + this.merchantAction = $merchantAction; + this.authCode = $authCode; + this.timeStamp = $timeStamp; + this.transRef = $transRef; + this.transSeq = $transSeq; + this.acqId = $acqId; + this.signatureInformation = $signatureInformation; + this.trmTransRef = $trmTransRef; + this.acqTransRef = $acqTransRef; + } + get $posEntryMode() { + return this.posEntryMode; + } + get $cvm() { + return this.cvm; + } + get $merchantAction() { + return this.merchantAction; + } + get $authCode() { + return this.authCode; + } + get $timeStamp() { + return this.timeStamp; + } + get $transRef() { + return this.transRef; + } + get $transSeq() { + return this.transSeq; + } + get $acqId() { + return this.acqId; + } + get $signatureInformation() { + return this.signatureInformation; + } + get $trmTransRef() { + return this.trmTransRef; + } + get $acqTransRef() { + return this.acqTransRef; + } + } + timapi.TransactionInformation = TransactionInformation; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class TransactionRequest { + constructor(request) { + if (request !== undefined) { + this.userId = request.userId; + this.amount = request.amount; + this.transactionData = new timapi.TransactionData(request.transactionData); + this.merchantOptions = request.merchantOptions.slice(); + this.tipAmount = request.tipAmount; + if (request.basket != undefined) { + this.basket = request.basket.slice(); + } + this.additionalInfo = request.additionalInfo; + this.amountOther = request.amountOther; + } + else { + this.merchantOptions = new Array(); + this.additionalInfo = new Map(); + this.basket = undefined; + } + } + get $userId() { + return this.userId; + } + set $userId(value) { + this.userId = value; + } + get $amount() { + return this.amount; + } + set $amount(value) { + this.amount = value; + } + get $transactionData() { + return this.transactionData; + } + set $transactionData(value) { + this.transactionData = value; + } + get $merchantOptions() { + return this.merchantOptions; + } + set $merchantOptions(value) { + this.merchantOptions = value; + } + get $additionalInfo() { + return this.additionalInfo; + } + set $additionalInfo(value) { + this.additionalInfo = value; + } + set $basket(value) { + this.basket = value; + } + get $basket() { + return this.basket; + } + get $tipAmount() { + return this.tipAmount; + } + set $tipAmount(value) { + this.tipAmount = value; + } + get $amountOther() { + return this.amountOther; + } + set $amountOther(value) { + this.amountOther = value; + } + } + timapi.TransactionRequest = TransactionRequest; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class TransactionResponse { + constructor($transactionType, $amount, $amountDue, $amountDcc, $amountSaldo, $transactionInformation, $dccDisclaimer, $cardData, $printData, $tipAmount, $additionalInfo, $basket) { + this.transactionType = $transactionType; + this.amount = $amount; + this.amountDue = $amountDue; + this.amountDcc = $amountDcc; + this.amountSaldo = $amountSaldo; + this.transactionInformation = $transactionInformation; + this.dccDisclaimer = $dccDisclaimer; + this.cardData = $cardData; + this.printData = $printData; + this.tipAmount = $tipAmount; + this.additionalInfo = $additionalInfo; + if ($basket != undefined) { + this.basket = $basket.slice(); + } + } + get $transactionType() { + return this.transactionType; + } + get $amount() { + return this.amount; + } + set $amount(value) { + this.amount = value; + } + get $amountDue() { + return this.amountDue; + } + get $amountDcc() { + return this.amountDcc; + } + get $amountSaldo() { + return this.amountSaldo; + } + get $transactionInformation() { + return this.transactionInformation; + } + get $dccDisclaimer() { + return this.dccDisclaimer; + } + get $cardData() { + return this.cardData; + } + get $printData() { + return this.printData; + } + get $tipAmount() { + return this.tipAmount; + } + get $additionalInfo() { + return this.additionalInfo; + } + get $basket() { + if (this.basket != undefined) { + return this.basket.slice(); + } + return undefined; + } + } + timapi.TransactionResponse = TransactionResponse; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class TrxDetail { + constructor($dccFlag, $transactionType, $count, $amountSum) { + this.dccFlag = $dccFlag; + this.transactionType = $transactionType; + this.count = $count; + this.amountSum = $amountSum; + } + get $dccFlag() { + return this.dccFlag; + } + get $transactionType() { + return this.transactionType; + } + get $count() { + return this.count; + } + get $amountSum() { + return this.amountSum; + } + } + timapi.TrxDetail = TrxDetail; +})(timapi || (timapi = {})); +timapi.constants.AdjustmentResult = { + ok: 0, + failRequestToLate: 1, + failAmountToHigh: 2 +}; +timapi.constants.CardReader = { + icc: 0, + cl: 1, + ms: 2 +}; +timapi.constants.CouponRejectionReason = { + alreadyRedeemed: 0, + articleDelisted: 1, + campaignExpired: 2, + campaignCancelled: 3, + other: 4 +}; +timapi.constants.NgvMode = { + mandatory: 0, + allowedWithFallback: 1, + notAllowed: 2 +}; +timapi.constants.ResourceParameterType = { + codeCheckType: 0, + codeCheckKeyId: 1, + codeCheckData: 2, + regularDataQueryType: 3, + regularData: 4, + petrolCardData1: 5, + petrolCardData2: 6, + petrolCardData3: 7 +}; +timapi.constants.ResponseType = { + positive: 0, + negative: 1, + cardRemoval: 2, + timeout: 3 +}; +var timapi; +(function (timapi) { + var utils; + (function (utils) { + var Color; + (function (Color_1) { + class Color { + constructor($colorCode) { + this.colorCode = $colorCode; + } + get $blue() { + return this.blue; + } + get $green() { + return this.green; + } + get $red() { + return this.red; + } + get $colorCode() { + return this.colorCode; + } + } + Color.black = new Color("ffffff"); + Color.white = new Color("000000"); + Color_1.Color = Color; + })(Color = utils.Color || (utils.Color = {})); + })(utils = timapi.utils || (timapi.utils = {})); +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + var utils; + (function (utils) { + class SixmlParser { + static parseSIXMLFromUint8Array(data) { + let message = utils.StringHelper.fromUInt8Array(data); + let parser = new DOMParser(); + let xmlNode = parser.parseFromString(message, "application/xml"); + if (xmlNode == undefined) { + throw Error("invalid xml"); + } + let rootNode = xmlNode.children[0]; + let node = SixmlParser.constructSixmlNode(rootNode); + return node; + } + static constructSixmlNode(basicNode) { + let node = new timapi.protocol.XmlNode(basicNode.nodeName); + if (basicNode.attributes != undefined) { + let attrLentgh = basicNode.attributes.length; + if (attrLentgh != undefined) { + for (let i = 0; i < attrLentgh; i++) { + let entry = basicNode.attributes.item(i); + let value = entry.value; + let key = entry.name; + node.attributes.set(key, value); + } + } + } + if (basicNode.parentNode != undefined && basicNode.parentNode.parentNode != undefined) { + node.textContent = basicNode.textContent; + } + basicNode.childNodes.forEach(function (child) { + if (child.hasChildNodes) { + let sixmlChild = SixmlParser.constructSixmlNode(child); + node.children.push(sixmlChild); + return sixmlChild; + } + }); + return node; + } + } + utils.SixmlParser = SixmlParser; + })(utils = timapi.utils || (timapi.utils = {})); +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + var utils; + (function (utils) { + class StringEncoder { + static toArrayBuffer(input) { + let buffer = new ArrayBuffer(input.length); + let bufView = new Uint8Array(buffer); + for (let i = 0, strLen = input.length; i < strLen; i++) { + bufView[i] = input.charCodeAt(i); + } + return buffer; + } + } + utils.StringEncoder = StringEncoder; + })(utils = timapi.utils || (timapi.utils = {})); +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + var utils; + (function (utils) { + class StringHelper { + static fromUInt8Array(input) { + let out = ""; + let i = 0; + let len = input.length; + let c; + let char2; + let char3; + while (i < len) { + c = input[i++]; + switch (c >> 4) { + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + out += String.fromCharCode(c); + break; + case 12: + case 13: + char2 = input[i++]; + out += String.fromCharCode(((c & 0x1F) << 6) | (char2 & 0x3F)); + break; + case 14: + char2 = input[i++]; + char3 = input[i++]; + out += String.fromCharCode(((c & 0x0F) << 12) | + ((char2 & 0x3F) << 6) | + ((char3 & 0x3F) << 0)); + break; + } + } + return out; + } + static makeString(input) { + let strRepresentation = ""; + if (Array.isArray(input)) { + strRepresentation = "[ "; + for (var i = 0; i < input.length; i++) { + strRepresentation += this.makeString(input[i]); + } + strRepresentation += " ]"; + } + else if (input.toString() === "[object Object]") { + let keys = Object.getOwnPropertyNames(input); + if (keys.length == 0) { + return "0"; + } + strRepresentation = "{ "; + let lastIndex = keys.length - 1; + for (let idx = 0; idx < keys.length; idx++) { + let key = keys[idx]; + strRepresentation += key + ":" + this.makeString(input[key]); + if (idx != lastIndex) { + strRepresentation += ", "; + } + } + strRepresentation += " }"; + } + else if (input.toString() === "[object Map]") { + strRepresentation = "{ "; + for (let [key, value] of input) { + strRepresentation += key + "=\"" + this.makeString(value) + "\" "; + } + strRepresentation += " }"; + } + else { + strRepresentation = input.toString(); + } + return strRepresentation; + } + } + utils.StringHelper = StringHelper; + })(utils = timapi.utils || (timapi.utils = {})); +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + var constants; + (function (constants) { + let ConnectionMode; + (function (ConnectionMode) { + ConnectionMode[ConnectionMode["broadcast"] = 0] = "broadcast"; + ConnectionMode[ConnectionMode["onFixIp"] = 1] = "onFixIp"; + })(ConnectionMode = constants.ConnectionMode || (constants.ConnectionMode = {})); + })(constants = timapi.constants || (timapi.constants = {})); +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class CustomReceiptFormatter { + setLineFormatsCardholder(lines) { + this.lineFormatsCardholder = []; + for (let line of lines) { + this.lineFormatsCardholder.push(line); + } + } + setLineFormatsMerchant(lines) { + this.lineFormatsMerchant = []; + for (let line of lines) { + this.lineFormatsMerchant.push(line); + } + } + setLineFormatsSaldo(lines) { + this.lineFormatsSaldo = []; + for (let line of lines) { + this.lineFormatsSaldo.push(line); + } + } + formatReceipt(terminal, receiptItems) { + let itemsCardholder = this.filterRecipient(receiptItems, timapi.constants.Recipient.cardholder); + let itemsMerchant = this.filterRecipient(receiptItems, timapi.constants.Recipient.merchant); + let itemsBoth = this.filterRecipient(receiptItems, timapi.constants.Recipient.both); + let receipts = new Array(); + let receiptType = receiptItems.$receiptType(); + if (itemsBoth.length > 0) { + if (itemsCardholder.length > 0) { + let builder = new timapi.utils.StringBuilder(); + this.formatReceiptText(builder, terminal, this.getPrintOption(terminal, timapi.constants.Recipient.cardholder) + .$printWidth, this.getPrintOption(terminal, timapi.constants.Recipient.cardholder) + .$printFlags, itemsCardholder, receiptType, this.lineFormatsCardholder); + let text = timapi.utils.StringHelper.makeString(builder); + if (text.length > 0) { + receipts.push(new timapi.Receipt(timapi.constants.Recipient.cardholder, text)); + } + } + if (itemsMerchant.length > 0) { + let builder = new timapi.utils.StringBuilder(); + this.formatReceiptText(builder, terminal, this.getPrintOption(terminal, timapi.constants.Recipient.merchant) + .$printWidth, this.getPrintOption(terminal, timapi.constants.Recipient.merchant) + .$printFlags, itemsMerchant, receiptType, this.lineFormatsMerchant); + let text = timapi.utils.StringHelper.makeString(builder); + if (text.length > 0) { + receipts.push(new timapi.Receipt(timapi.constants.Recipient.merchant, text)); + } + } + } + else { + let builderC = new timapi.utils.StringBuilder(); + this.formatReceiptText(builderC, terminal, this.getPrintOption(terminal, timapi.constants.Recipient.cardholder) + .$printWidth, this.getPrintOption(terminal, timapi.constants.Recipient.cardholder) + .$printFlags, itemsCardholder, receiptType, this.lineFormatsCardholder); + let textC = timapi.utils.StringHelper.makeString(builderC); + if (textC.length > 0) { + receipts.push(new timapi.Receipt(timapi.constants.Recipient.cardholder, textC)); + } + let builderM = new timapi.utils.StringBuilder(); + this.formatReceiptText(builderM, terminal, this.getPrintOption(terminal, timapi.constants.Recipient.merchant) + .$printWidth, this.getPrintOption(terminal, timapi.constants.Recipient.merchant) + .$printFlags, itemsMerchant, receiptType, this.lineFormatsMerchant); + let textM = timapi.utils.StringHelper.makeString(builderM); + if (textM.length > 0) { + receipts.push(new timapi.Receipt(timapi.constants.Recipient.merchant, textM)); + } + } + return receipts; + } + formatReceiptText(builder, terminal, width, flags, receiptItems, receiptType, lineFormats) { + let configData = terminal.getConfigData(); + if (configData !== undefined && + !flags.has(timapi.constants.PrintFlag.suppressHeader)) { + for (let headerLine of configData.$receiptHeader) { + this.formatReceiptAddLine(builder, width, headerLine, "", "", " "); + } + } + for (let lineFormat of lineFormats) { + this.formatReceiptAddLineWithTerminal(builder, terminal, width, flags, lineFormat, receiptItems, receiptType); + } + if (this.hasReceiptItemType(receiptItems, timapi.constants.ReceiptItemType.amountSaldo)) { + for (let lineFormat of this.lineFormatsSaldo) { + this.formatReceiptAddLineWithTerminal(builder, terminal, width, flags, lineFormat, receiptItems, receiptType); + } + } + } + hasReceiptItemType(receiptItems, type) { + for (let receiptItem of receiptItems) { + if (receiptItem.$receiptItemType === type) { + return true; + } + } + return false; + } + filterRecipient(receiptItems, recipient) { + let filtered = new Array(); + for (let receiptItem of receiptItems.$receiptItem) { + if (receiptItem.$recipient === recipient) { + filtered.push(receiptItem); + } + } + return filtered; + } + getPrintOption(terminal, recipient) { + for (let printOption of terminal.$printOptions) { + if (printOption.$recipient === recipient) { + return printOption; + } + } + return undefined; + } + formatReceiptAddLineWithTerminal(builder, terminal, width, flags, lineFormat, receiptItems, receiptType) { + let left = ""; + let center = ""; + let right = ""; + for (let element of lineFormat.$elements) { + let text = ""; + switch (element.$type) { + case timapi.TextType.fieldAccPer: + text = this.resolveField(receiptItems, timapi.constants.ReceiptItemType.accPer); + break; + case timapi.TextType.fieldAcqId: + text = this.resolveField(receiptItems, timapi.constants.ReceiptItemType.acqId); + break; + case timapi.TextType.fieldActId: + text = this.resolveField(receiptItems, timapi.constants.ReceiptItemType.actId); + break; + case timapi.TextType.fieldAid: + text = this.resolveField(receiptItems, timapi.constants.ReceiptItemType.aid); + break; + case timapi.TextType.fieldAmount: + text = this.resolveField(receiptItems, timapi.constants.ReceiptItemType.amount); + break; + case timapi.TextType.fieldAmountDcc: + text = this.resolveField(receiptItems, timapi.constants.ReceiptItemType.amountDcc); + break; + case timapi.TextType.fieldAmountOther: + text = this.resolveField(receiptItems, timapi.constants.ReceiptItemType.amountOther); + break; + case timapi.TextType.fieldAmountSaldo: + text = this.resolveField(receiptItems, timapi.constants.ReceiptItemType.amountSaldo); + break; + case timapi.TextType.fieldAuthCode: + text = this.resolveField(receiptItems, timapi.constants.ReceiptItemType.authCode); + break; + case timapi.TextType.fieldBrandName: + text = this.resolveField(receiptItems, timapi.constants.ReceiptItemType.brandName); + break; + case timapi.TextType.fieldCardExpiryDate: + text = this.resolveField(receiptItems, timapi.constants.ReceiptItemType.cardExpiryDate); + break; + case timapi.TextType.fieldCardNumberEnc: + text = this.resolveField(receiptItems, timapi.constants.ReceiptItemType.cardNumberEnc); + break; + case timapi.TextType.fieldCardNumberPrintableCardholder: + text = this.resolveField(receiptItems, timapi.constants.ReceiptItemType.cardNumberPrintableCardholder); + break; + case timapi.TextType.fieldCardNumberPrintableMerchant: + text = this.resolveField(receiptItems, timapi.constants.ReceiptItemType.cardNumberPrintableMerchant); + break; + case timapi.TextType.fieldCurrency: + text = this.resolveField(receiptItems, timapi.constants.ReceiptItemType.currency); + break; + case timapi.TextType.fieldCurrencyDcc: + text = this.resolveField(receiptItems, timapi.constants.ReceiptItemType.currencyDcc); + break; + case timapi.TextType.fieldDccDisclaimer: + text = this.resolveField(receiptItems, timapi.constants.ReceiptItemType.dccDisclaimer); + break; + case timapi.TextType.fieldDisclaimer: + text = this.resolveField(receiptItems, timapi.constants.ReceiptItemType.disclaimer); + break; + case timapi.TextType.fieldExponent: + text = this.resolveField(receiptItems, timapi.constants.ReceiptItemType.exponent); + break; + case timapi.TextType.fieldExponentDcc: + text = this.resolveField(receiptItems, timapi.constants.ReceiptItemType.exponentDcc); + break; + case timapi.TextType.fieldMarkupDcc: + text = this.resolveField(receiptItems, timapi.constants.ReceiptItemType.markupDcc); + break; + case timapi.TextType.fieldMarkupExponentDcc: + text = this.resolveField(receiptItems, timapi.constants.ReceiptItemType.markupExponentDcc); + break; + case timapi.TextType.fieldPosEntryMode: + text = this.resolveField(receiptItems, timapi.constants.ReceiptItemType.posEntryMode); + break; + case timapi.TextType.fieldRateDcc: + text = this.resolveField(receiptItems, timapi.constants.ReceiptItemType.rateDcc); + break; + case timapi.TextType.fieldRateExponentDcc: + text = this.resolveField(receiptItems, timapi.constants.ReceiptItemType.rateExponentDcc); + break; + case timapi.TextType.fieldTimeStampDate: + text = this.resolveField(receiptItems, timapi.constants.ReceiptItemType.timeStampDate); + break; + case timapi.TextType.fieldTimeStampTime: + text = this.resolveField(receiptItems, timapi.constants.ReceiptItemType.timeStampTime); + break; + case timapi.TextType.fieldTrmId: + text = this.resolveField(receiptItems, timapi.constants.ReceiptItemType.trmId); + break; + case timapi.TextType.fieldTrxRefNum: + text = this.resolveField(receiptItems, timapi.constants.ReceiptItemType.trxRefNum); + break; + case timapi.TextType.fieldTrxSeqCnt: + text = this.resolveField(receiptItems, timapi.constants.ReceiptItemType.trxSeqCnt); + break; + case timapi.TextType.fieldEctSeqCnt: + text = this.resolveField(receiptItems, timapi.constants.ReceiptItemType.ecrSeqCounter); + break; + case timapi.TextType.posId: + text = terminal.$posId; + break; + case timapi.TextType.text: + text = element.$text; + break; + case timapi.TextType.transactionType: + switch (receiptType) { + case timapi.constants.ReceiptType.credit: + text = "Gutschrift"; + break; + case timapi.constants.ReceiptType.purchase: + text = "Buchung"; + break; + case timapi.constants.ReceiptType.reversal: + text = "Storno"; + break; + default: + break; + } + break; + case timapi.TextType.userId: + text = "" + terminal.$userId; + break; + default: + break; + } + if (text == undefined) { + continue; + } + switch (element.$alignment) { + case timapi.TextAlignment.center: + center = center + text; + break; + case timapi.TextAlignment.left: + left = left + text; + break; + case timapi.TextAlignment.right: + right = right + text; + break; + default: + break; + } + } + switch (lineFormat.$condition) { + case timapi.Condition.ECR_INFO: + if (flags.has(timapi.constants.PrintFlag.suppressEcrInfo)) { + return; + } + break; + case timapi.Condition.EFT_INFO: + if (flags.has(timapi.constants.PrintFlag.suppressEftInfo)) { + return; + } + break; + case timapi.Condition.SIGNATURE: + if (flags.has(timapi.constants.PrintFlag.suppressSignature)) { + return; + } + break; + default: + break; + } + this.formatReceiptAddLine(builder, width, left, center, right, lineFormat.$padding); + } + resolveField(receiptItems, field) { + for (let receiptItem of receiptItems) { + if (receiptItem.$receiptItemType === field) { + if (receiptItem.$value == undefined || receiptItem.$value.length === 0) { + return "NA"; + } + else { + return receiptItem.$value; + } + } + } + return "NA"; + } + formatReceiptAddLine(builder, width, left, center, right, paddingChar) { + let lenLeft = left.length; + let lenCenter = center.length; + let lenRight = right.length; + let paddingLeft = 0; + let paddingRight = 0; + if (lenLeft > 0 && lenCenter > 0) { + paddingLeft = 1; + } + if (lenCenter > 0 && lenRight > 0) { + paddingRight = 1; + } + if (lenLeft > 0 && lenCenter === 0 && lenRight > 0) { + paddingLeft = 1; + } + let padding = width - lenLeft - lenCenter - lenRight - paddingLeft - paddingRight; + if (padding > 0) { + let split = padding / 2; + paddingLeft += split; + paddingRight += padding - split; + } + if (lenLeft > width && lenCenter === 0 && lenRight === 0) { + while (left.length > width) { + builder.append(left.substring(0, width)); + builder.append("\n"); + left = left.substring(width); + } + builder.append(left); + builder.append("\n"); + return; + } + builder.append(left); + if (paddingLeft > 0) { + } + builder.append(center); + if (paddingRight > 0) { + } + builder.append(right); + builder.append("\n"); + } + } + timapi.CustomReceiptFormatter = CustomReceiptFormatter; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class CompactReceiptFormatter extends timapi.CustomReceiptFormatter { + CompactReceiptFormatter() { + this.lines = new Array(); + this.lines.push(new timapi.LineFormat()); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("Att-/ECR-Id/-Seq:", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.userId, timapi.TextAlignment.right)); + this.elements.push(new timapi.TextElement("/", timapi.TextAlignment.right)); + this.elements.push(new timapi.TextElement(timapi.TextType.posId, timapi.TextAlignment.right)); + this.elements.push(new timapi.TextElement("/", timapi.TextAlignment.right)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldEctSeqCnt, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("EFT Ref-No: ", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTrxSeqCnt, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.lines.push(new timapi.LineFormat()); + this.elements = new Array(); + this.elements.push(new timapi.TextElement(timapi.TextType.transactionType, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldBrandName, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldCardNumberPrintableMerchant, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(" ", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldPosEntryMode, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement("EXP:", timapi.TextAlignment.right)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldCardExpiryDate, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.lines.push(new timapi.LineFormat()); + this.elements = new Array(); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTimeStampDate, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTimeStampTime, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("Trm-/Act-Id:", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTrmId, timapi.TextAlignment.right)); + this.elements.push(new timapi.TextElement("/", timapi.TextAlignment.right)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldActId, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("AID: ", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldAid, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("Seq/Ref/Aut:", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTrxSeqCnt, timapi.TextAlignment.right)); + this.elements.push(new timapi.TextElement("/", timapi.TextAlignment.right)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTrxRefNum, timapi.TextAlignment.right)); + this.elements.push(new timapi.TextElement("/", timapi.TextAlignment.right)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldAuthCode, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("EPF: ", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldCardNumberEnc, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.lines.push(new timapi.LineFormat()); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("Total-EFT ", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldCurrency, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldAmount, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.lines.push(new timapi.LineFormat()); + this.lines.push(new timapi.LineFormat()); + this.setLineFormatsMerchant(this.lines); + this.lines = new Array(); + this.lines.push(new timapi.LineFormat()); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("Att-/ECR-Id/-Seq:", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.userId, timapi.TextAlignment.right)); + this.elements.push(new timapi.TextElement("/", timapi.TextAlignment.right)); + this.elements.push(new timapi.TextElement(timapi.TextType.posId, timapi.TextAlignment.right)); + this.elements.push(new timapi.TextElement("/", timapi.TextAlignment.right)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldEctSeqCnt, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("EFT Ref-No: ", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTrxSeqCnt, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.lines.push(new timapi.LineFormat()); + this.elements = new Array(); + this.elements.push(new timapi.TextElement(timapi.TextType.transactionType, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldBrandName, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldCardNumberPrintableCardholder, timapi.TextAlignment.left)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.lines.push(new timapi.LineFormat()); + this.elements = new Array(); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTimeStampDate, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTimeStampTime, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("Trm-Id: ", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTrmId, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("Seq/Aut:", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTrxSeqCnt, timapi.TextAlignment.right)); + this.elements.push(new timapi.TextElement("/", timapi.TextAlignment.right)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldAuthCode, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.lines.push(new timapi.LineFormat()); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("Total-EFT ", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldCurrency, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldAmount, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.lines.push(new timapi.LineFormat()); + this.lines.push(new timapi.LineFormat()); + this.setLineFormatsCardholder(this.lines); + this.lines = new Array(); + this.lines.push(new timapi.LineFormat()); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("Saldo ", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldCurrency, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldAmountSaldo, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.setLineFormatsSaldo(this.lines); + } + } + timapi.CompactReceiptFormatter = CompactReceiptFormatter; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class NormalReceiptFormatter extends timapi.CustomReceiptFormatter { + constructor() { + super(); + this.lines = new Array(); + this.lines.push(new timapi.LineFormat()); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("Attendant-Id: ", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.userId, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("ECR-Id: ", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.posId, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(timapi.Condition.ECR_INFO, this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("ECR-Seq: ", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldEctSeqCnt, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(timapi.Condition.ECR_INFO, this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("EFT Ref-No: ", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTrxSeqCnt, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(timapi.Condition.EFT_INFO, this.elements)); + this.lines.push(new timapi.LineFormat()); + this.elements = new Array(); + this.elements.push(new timapi.TextElement(timapi.TextType.transactionType, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldBrandName, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldCardNumberPrintableMerchant, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldPosEntryMode, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("Expiration Date: ", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldCardExpiryDate, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.lines.push(new timapi.LineFormat()); + this.elements = new Array(); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTimeStampDate, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTimeStampTime, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("Trm-Id: ", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTrmId, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("Act-Id: ", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldActId, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("AID: ", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldAid, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("Trx. Seq-Cnt: ", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTrxSeqCnt, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("Trx. Ref-No: ", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTrxRefNum, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("Auth. Code: ", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldAuthCode, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("EPF: ", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldCardNumberEnc, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.lines.push(new timapi.LineFormat()); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("Total-EFT ", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldCurrency, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldAmount, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.lines.push(new timapi.LineFormat()); + this.lines.push(new timapi.LineFormat()); + this.setLineFormatsMerchant(this.lines); + this.lines = new Array(); + this.lines.push(new timapi.LineFormat()); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("Attendant-Id: ", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.userId, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("ECR-Id: ", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.posId, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(timapi.Condition.ECR_INFO, this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("ECR-Seq: ", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldEctSeqCnt, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(timapi.Condition.ECR_INFO, this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("EFT Ref-No: ", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTrxSeqCnt, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(timapi.Condition.EFT_INFO, this.elements)); + this.lines.push(new timapi.LineFormat()); + this.elements = new Array(); + this.elements.push(new timapi.TextElement(timapi.TextType.transactionType, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldBrandName, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldCardNumberPrintableCardholder, timapi.TextAlignment.left)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.lines.push(new timapi.LineFormat()); + this.elements = new Array(); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTimeStampDate, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTimeStampTime, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("Trm-Id: ", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTrmId, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("Act-Id: ", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldActId, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("AID: ", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldAid, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("Trx. Seq-Cnt: ", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTrxSeqCnt, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("Auth. Code: ", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldAuthCode, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.lines.push(new timapi.LineFormat()); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("Total-EFT ", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldCurrency, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldAmount, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.lines.push(new timapi.LineFormat()); + this.lines.push(new timapi.LineFormat()); + this.setLineFormatsCardholder(this.lines); + this.lines = new Array(); + this.lines.push(new timapi.LineFormat()); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("Saldo ", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldCurrency, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldAmountSaldo, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.setLineFormatsSaldo(this.lines); + } + } + timapi.NormalReceiptFormatter = NormalReceiptFormatter; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class SuperCompactReceiptFormatter extends timapi.CustomReceiptFormatter { + SuperCompactReceiptFormatter() { + this.lines = new Array(); + this.lines.push(new timapi.LineFormat()); + this.elements = new Array(); + this.elements.push(new timapi.TextElement(timapi.TextType.userId, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement("/", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.posId, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement("/", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldEctSeqCnt, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTrxSeqCnt, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements, "*")); + this.lines.push(new timapi.LineFormat()); + this.elements = new Array(); + this.elements.push(new timapi.TextElement(timapi.TextType.transactionType, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldBrandName, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldCardNumberPrintableMerchant, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(" ", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldPosEntryMode, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement("EXP:", timapi.TextAlignment.right)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldCardExpiryDate, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTimeStampDate, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTimeStampTime, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("#", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTrmId, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement("/", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldActId, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement("/", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldAid, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement("*", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTrxSeqCnt, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement("*", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTrxRefNum, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement("/", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldAuthCode, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement("/", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldCardNumberEnc, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement("#", timapi.TextAlignment.left)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.lines.push(new timapi.LineFormat()); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("Total-EFT ", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldCurrency, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldAmount, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.lines.push(new timapi.LineFormat()); + this.lines.push(new timapi.LineFormat()); + super.setLineFormatsMerchant(this.lines); + this.lines = new Array(); + this.lines.push(new timapi.LineFormat()); + this.elements = new Array(); + this.elements.push(new timapi.TextElement(timapi.TextType.userId, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement("/", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.posId, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement("/", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldEctSeqCnt, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTrxSeqCnt, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements, "*")); + this.lines.push(new timapi.LineFormat()); + this.elements = new Array(); + this.elements.push(new timapi.TextElement(timapi.TextType.transactionType, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldBrandName, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldCardNumberPrintableCardholder, timapi.TextAlignment.left)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTimeStampDate, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTimeStampTime, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("#", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTrmId, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement("/", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldActId, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement("*", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTrxSeqCnt, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement("*", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldAuthCode, timapi.TextAlignment.right)); + this.elements.push(new timapi.TextElement("#", timapi.TextAlignment.left)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("Total-EFT ", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldCurrency, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldAmount, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.lines.push(new timapi.LineFormat()); + this.lines.push(new timapi.LineFormat()); + super.setLineFormatsCardholder(this.lines); + this.lines = new Array(); + this.lines.push(new timapi.LineFormat()); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("Saldo ", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldCurrency, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldAmountSaldo, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + super.setLineFormatsSaldo(this.lines); + } + } + timapi.SuperCompactReceiptFormatter = SuperCompactReceiptFormatter; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class UltraCompactReceiptFormatter extends timapi.CustomReceiptFormatter { + constructor() { + super(); + this.lines = new Array(); + this.lines.push(new timapi.LineFormat()); + this.elements = new Array(); + this.elements.push(new timapi.TextElement(timapi.TextType.userId, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement("/", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.posId, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement("/", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldEctSeqCnt, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTrxSeqCnt, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements, "*")); + this.elements = new Array(); + this.elements.push(new timapi.TextElement(timapi.TextType.transactionType, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldBrandName, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("#", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldCardNumberPrintableMerchant, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement("/", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldPosEntryMode, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement("/", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldCardExpiryDate, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement("/", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTimeStampDate, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement("/", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTimeStampTime, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement("/", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTrmId, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement("/", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldActId, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement("/", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldAid, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement("*", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTrxSeqCnt, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement("*", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTrxRefNum, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement("/", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldAuthCode, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement("/", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldCardNumberEnc, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement("#", timapi.TextAlignment.left)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("Total-EFT ", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldCurrency, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldAmount, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.lines.push(new timapi.LineFormat()); + this.lines.push(new timapi.LineFormat()); + super.setLineFormatsMerchant(this.lines); + this.lines = new Array(); + this.lines.push(new timapi.LineFormat()); + this.elements = new Array(); + this.elements.push(new timapi.TextElement(timapi.TextType.userId, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement("/", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.posId, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement("/", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldEctSeqCnt, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTrxSeqCnt, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements, "*")); + this.elements = new Array(); + this.elements.push(new timapi.TextElement(timapi.TextType.transactionType, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldBrandName, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("#", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldCardNumberPrintableCardholder, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement("/", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTimeStampDate, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement("/", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTimeStampTime, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement("/", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTrmId, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement("/", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldActId, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement("*", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldTrxSeqCnt, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement("*", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldAuthCode, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement("#", timapi.TextAlignment.left)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("Total-EFT ", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldCurrency, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldAmount, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + this.lines.push(new timapi.LineFormat()); + this.lines.push(new timapi.LineFormat()); + super.setLineFormatsCardholder(this.lines); + this.lines = new Array(); + this.lines.push(new timapi.LineFormat()); + this.elements = new Array(); + this.elements.push(new timapi.TextElement("Saldo ", timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldCurrency, timapi.TextAlignment.left)); + this.elements.push(new timapi.TextElement(timapi.TextType.fieldAmountSaldo, timapi.TextAlignment.right)); + this.lines.push(new timapi.LineFormat(this.elements)); + super.setLineFormatsSaldo(this.lines); + } + } + timapi.UltraCompactReceiptFormatter = UltraCompactReceiptFormatter; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class DefaultCommListener { + disconnected() { + } + connected() { + } + connectionFailed(error) { + } + messageReceived(message) { + } + } + timapi.DefaultCommListener = DefaultCommListener; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + let SocketState; + (function (SocketState) { + SocketState[SocketState["disconnected"] = 0] = "disconnected"; + SocketState[SocketState["connecting"] = 1] = "connecting"; + SocketState[SocketState["loggedOut"] = 2] = "loggedOut"; + SocketState[SocketState["logingIn"] = 3] = "logingIn"; + SocketState[SocketState["loggedIn"] = 4] = "loggedIn"; + SocketState[SocketState["activating"] = 5] = "activating"; + SocketState[SocketState["open"] = 6] = "open"; + SocketState[SocketState["transaction"] = 7] = "transaction"; + SocketState[SocketState["deactivating"] = 8] = "deactivating"; + SocketState[SocketState["logingOut"] = 9] = "logingOut"; + })(SocketState || (SocketState = {})); + let SocketAction; + (function (SocketAction) { + SocketAction[SocketAction["none"] = 0] = "none"; + SocketAction[SocketAction["transaction"] = 1] = "transaction"; + SocketAction[SocketAction["disconnect"] = 2] = "disconnect"; + })(SocketAction = timapi.SocketAction || (timapi.SocketAction = {})); + class SocketCommEndpoint { + constructor($backend, $settings) { + this.keepThreadRunning = false; + this.backend = $backend; + this.settings = $settings; + this.state = SocketState.disconnected; + this.backend.$pendingAction = SocketAction.none; + this.posId = this.backend.$terminal.$posId; + this.userId = timapi.utils.StringHelper.makeString(this.backend.$terminal.$userId); + this.nextSeqNum = 1; + } + transaction(amount) { + if (isNaN(amount.$amount) || amount.$amount < 0.01) { + throw new Error("Amount has to be a positive decimal number."); + } + if (this.backend.$pendingAction !== SocketAction.none) { + throw new Error("Action pending"); + } + this.transactionAmount = Math.floor(amount.$amount * 100.0); + this.backend.$pendingAction = SocketAction.transaction; + this.backend.checkPendingAction(); + } + connect() { + if (this.state !== SocketState.disconnected) { + return; + } + SocketCommEndpoint.logger.log(timapi.logging.Level.INFO, "Connecting to terminal " + this.settings.$connectionIPString); + this.state = SocketState.connecting; + this.keepThreadRunning = true; + this.socket = new WebSocket("ws://" + this.settings.$connectionIPString + ":" + this.settings.$connectionIPPort + "/SIXml"); + this.socket.binaryType = "arraybuffer"; + this.socket.onopen = this.onSocketOpen.bind(this); + this.socket.onmessage = this.onSocketMessage.bind(this); + this.socket.onclose = this.onSocketClosed.bind(this); + this.socket.onerror = this.onSocketError.bind(this); + } + disconnect() { + this.backend.$pendingAction = SocketAction.none; + this.disconnectWithReason(4001, "Normal disconnecting"); + } + disconnectWithReason(reason, reasonText) { + if (this.socket == undefined) { + return; + } + this.socket.close(reason, reasonText); + this.socket = undefined; + this.displayContent = new Array(); + this.state = SocketState.disconnected; + SocketCommEndpoint.logger.log(timapi.logging.Level.INFO, "Disconnected from terminal " + this.settings.$connectionIPString); + } + sendMessage(message) { + if (this.socket == undefined) { + throw new Error("Socket was not initialized"); + } + let len = message.length + 1; + let buffer = new Uint8Array(8 + len); + let i; + for (i = 0; i < 6; i++) { + buffer[i] = SocketCommEndpoint.sixmlChannelHeader[i]; + } + buffer[6] = (len >> 8) & 0xff; + buffer[7] = len & 0xff; + buffer[8] = 0x1; + for (i = 0; i < len - 1; i++) { + buffer[9 + i] = message[i]; + } + this.socket.send(buffer.buffer); + } + onSocketOpen() { + this.backend.connected(); + if (this.state !== SocketState.connecting) { + return; + } + SocketCommEndpoint.logger.log(timapi.logging.Level.INFO, "Connection established to " + this.settings.$connectionIPString + ":" + this.settings.$connectionIPPort); + this.state = SocketState.loggedOut; + this.backend.checkPendingAction(); + } + onSocketError(error) { + SocketCommEndpoint.logger.log(timapi.logging.Level.SEVERE, "WebSocket Error ", error); + this.backend.connectionFailed(timapi.constants.ResultCode.apiConnectFailTerminal); + } + onSocketMessage(event) { + switch (this.state) { + case SocketState.disconnected: + return; + } + if (this.keepThreadRunning) { + let data = new Uint8Array(event.data); + let header = data.subarray(0, 8); + if (SocketCommEndpoint.sixmlChannelHeader === header) { + throw new Error("SixmlMessage has incorrect header"); + } + let messageData = data.subarray(8); + this.backend.messageReceived(messageData); + } + } + onSocketClosed(closeEvent) { + if (this.socket == undefined) { + return; + } + this.socket = undefined; + this.keepThreadRunning = false; + this.displayContent = new Array(); + this.state = SocketState.disconnected; + SocketCommEndpoint.logger.log(timapi.logging.Level.INFO, "Connection closed to terminal " + this.settings.$connectionIPString); + this.backend.checkPendingAction(); + this.backend.disconnected(); + } + } + SocketCommEndpoint.loggername = "timapi.comm.SocketCommEndpoint"; + SocketCommEndpoint.classname = "timapi.comm.SocketCommEndpoint"; + SocketCommEndpoint.logger = timapi.logging.Logger.getLogger(SocketCommEndpoint.loggername); + SocketCommEndpoint.sixmlChannelHeader = new Uint8Array([0x53, 0x49, 0x58, 0x6D, 0x6C, 0x02]); + timapi.SocketCommEndpoint = SocketCommEndpoint; +})(timapi || (timapi = {})); +timapi.protocol.constants.AdjustmentResult = {}; +timapi.protocol.constants.AdjustmentResult.timApi2Protocol = function (value) { + if (!this._timApi2Protocol.has(value)) { + throw new Error("Invalid argument '" + value + "' (AdjustmentResult)"); + } + return this._timApi2Protocol.get(value); +}; +timapi.protocol.constants.AdjustmentResult.protocol2TimApi = function (value) { + if (!this._protocol2TimApi.has(value)) { + throw new Error("Invalid argument '" + value + "' (AdjustmentResult)"); + } + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.AdjustmentResult.protocol2TimApiIfValid = function (value) { + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.AdjustmentResult._timApi2Protocol = + new Map([[timapi.constants.AdjustmentResult.ok, 0], + [timapi.constants.AdjustmentResult.failRequestToLate, 1], + [timapi.constants.AdjustmentResult.failAmountToHigh, 2]]); +timapi.protocol.constants.AdjustmentResult._protocol2TimApi = + new Map([[0, timapi.constants.AdjustmentResult.ok], + [1, timapi.constants.AdjustmentResult.failRequestToLate], + [2, timapi.constants.AdjustmentResult.failAmountToHigh]]); +timapi.protocol.constants.CardReader = {}; +timapi.protocol.constants.CardReader.timApi2Protocol = function (value) { + if (!this._timApi2Protocol.has(value)) { + throw new Error("Invalid argument '" + value + "' (CardReader)"); + } + return this._timApi2Protocol.get(value); +}; +timapi.protocol.constants.CardReader.protocol2TimApi = function (value) { + if (!this._protocol2TimApi.has(value)) { + throw new Error("Invalid argument '" + value + "' (CardReader)"); + } + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.CardReader.protocol2TimApiIfValid = function (value) { + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.CardReader._timApi2Protocol = + new Map([[timapi.constants.CardReader.icc, "ICC"], + [timapi.constants.CardReader.cl, "CL"], + [timapi.constants.CardReader.ms, "MS"]]); +timapi.protocol.constants.CardReader._protocol2TimApi = + new Map([["ICC", timapi.constants.CardReader.icc], + ["CL", timapi.constants.CardReader.cl], + ["MS", timapi.constants.CardReader.ms]]); +timapi.protocol.constants.CouponRejectionReason = {}; +timapi.protocol.constants.CouponRejectionReason.timApi2Protocol = function (value) { + if (!this._timApi2Protocol.has(value)) { + throw new Error("Invalid argument '" + value + "' (CouponRejectionReason)"); + } + return this._timApi2Protocol.get(value); +}; +timapi.protocol.constants.CouponRejectionReason.protocol2TimApi = function (value) { + if (!this._protocol2TimApi.has(value)) { + throw new Error("Invalid argument '" + value + "' (CouponRejectionReason)"); + } + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.CouponRejectionReason.protocol2TimApiIfValid = function (value) { + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.CouponRejectionReason._timApi2Protocol = + new Map([[timapi.constants.CouponRejectionReason.alreadyRedeemed, "AlreadyRedeemed"], + [timapi.constants.CouponRejectionReason.articleDelisted, "ArticleDelisted"], + [timapi.constants.CouponRejectionReason.campaignExpired, "CampaignExpired"], + [timapi.constants.CouponRejectionReason.campaignCancelled, "CampaignCancelled"], + [timapi.constants.CouponRejectionReason.other, "Other"]]); +timapi.protocol.constants.CouponRejectionReason._protocol2TimApi = + new Map([["AlreadyRedeemed", timapi.constants.CouponRejectionReason.alreadyRedeemed], + ["ArticleDelisted", timapi.constants.CouponRejectionReason.articleDelisted], + ["CampaignExpired", timapi.constants.CouponRejectionReason.campaignExpired], + ["CampaignCancelled", timapi.constants.CouponRejectionReason.campaignCancelled], + ["Other", timapi.constants.CouponRejectionReason.other]]); +timapi.protocol.constants.NgvMode = {}; +timapi.protocol.constants.NgvMode.timApi2Protocol = function (value) { + if (!this._timApi2Protocol.has(value)) { + throw new Error("Invalid argument '" + value + "' (NgvMode)"); + } + return this._timApi2Protocol.get(value); +}; +timapi.protocol.constants.NgvMode.protocol2TimApi = function (value) { + if (!this._protocol2TimApi.has(value)) { + throw new Error("Invalid argument '" + value + "' (NgvMode)"); + } + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.NgvMode.protocol2TimApiIfValid = function (value) { + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.NgvMode._timApi2Protocol = + new Map([[timapi.constants.NgvMode.mandatory, "Mandatory"], + [timapi.constants.NgvMode.allowedWithFallback, "AllowedWithFallback"], + [timapi.constants.NgvMode.notAllowed, "NotAllowed"]]); +timapi.protocol.constants.NgvMode._protocol2TimApi = + new Map([["Mandatory", timapi.constants.NgvMode.mandatory], + ["AllowedWithFallback", timapi.constants.NgvMode.allowedWithFallback], + ["NotAllowed", timapi.constants.NgvMode.notAllowed]]); +timapi.protocol.constants.ResourceParameterType = {}; +timapi.protocol.constants.ResourceParameterType.timApi2Protocol = function (value) { + if (!this._timApi2Protocol.has(value)) { + throw new Error("Invalid argument '" + value + "' (ResourceParameterType)"); + } + return this._timApi2Protocol.get(value); +}; +timapi.protocol.constants.ResourceParameterType.protocol2TimApi = function (value) { + if (!this._protocol2TimApi.has(value)) { + throw new Error("Invalid argument '" + value + "' (ResourceParameterType)"); + } + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.ResourceParameterType.protocol2TimApiIfValid = function (value) { + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.ResourceParameterType._timApi2Protocol = + new Map([[timapi.constants.ResourceParameterType.codeCheckType, "CodeCheckType"], + [timapi.constants.ResourceParameterType.codeCheckKeyId, "CodeCheckKeyId"], + [timapi.constants.ResourceParameterType.codeCheckData, "CodeCheckData"], + [timapi.constants.ResourceParameterType.regularDataQueryType, "RegularDataQueryType"], + [timapi.constants.ResourceParameterType.regularData, "RegularData"], + [timapi.constants.ResourceParameterType.petrolCardData1, "PetrolCardData1"], + [timapi.constants.ResourceParameterType.petrolCardData2, "PetrolCardData2"], + [timapi.constants.ResourceParameterType.petrolCardData3, "PetrolCardData3"]]); +timapi.protocol.constants.ResourceParameterType._protocol2TimApi = + new Map([["CodeCheckType", timapi.constants.ResourceParameterType.codeCheckType], + ["CodeCheckKeyId", timapi.constants.ResourceParameterType.codeCheckKeyId], + ["CodeCheckData", timapi.constants.ResourceParameterType.codeCheckData], + ["RegularDataQueryType", timapi.constants.ResourceParameterType.regularDataQueryType], + ["RegularData", timapi.constants.ResourceParameterType.regularData], + ["PetrolCardData1", timapi.constants.ResourceParameterType.petrolCardData1], + ["PetrolCardData2", timapi.constants.ResourceParameterType.petrolCardData2], + ["PetrolCardData3", timapi.constants.ResourceParameterType.petrolCardData3]]); +timapi.protocol.constants.ResponseType = {}; +timapi.protocol.constants.ResponseType.timApi2Protocol = function (value) { + if (!this._timApi2Protocol.has(value)) { + throw new Error("Invalid argument '" + value + "' (ResponseType)"); + } + return this._timApi2Protocol.get(value); +}; +timapi.protocol.constants.ResponseType.protocol2TimApi = function (value) { + if (!this._protocol2TimApi.has(value)) { + throw new Error("Invalid argument '" + value + "' (ResponseType)"); + } + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.ResponseType.protocol2TimApiIfValid = function (value) { + return this._protocol2TimApi.get(value); +}; +timapi.protocol.constants.ResponseType._timApi2Protocol = + new Map([[timapi.constants.ResponseType.positive, "Positive"], + [timapi.constants.ResponseType.negative, "Negative"], + [timapi.constants.ResponseType.cardRemoval, "CardRemoval"], + [timapi.constants.ResponseType.timeout, "Timeout"]]); +timapi.protocol.constants.ResponseType._protocol2TimApi = + new Map([["Positive", timapi.constants.ResponseType.positive], + ["Negative", timapi.constants.ResponseType.negative], + ["CardRemoval", timapi.constants.ResponseType.cardRemoval], + ["Timeout", timapi.constants.ResponseType.timeout]]); +timapi.protocol.sixml.AmountGross = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.AmountGross) { + var value = a; + this.value = value.value; + this.currency = value.currency; + this.exponent = value.exponent; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + this.value = (node.textContent ? parseInt(node.textContent) : 0); + if (this.xmlHasAttribute(node, "Currency")) { + this.currency = this.xmlGetAttribute(node, "Currency"); + } + if (this.xmlHasAttribute(node, "Exponent")) { + this.exponent = (this.xmlGetAttribute(node, "Exponent") ? parseInt(this.xmlGetAttribute(node, "Exponent")) : 0); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.AmountGross.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.AmountGross.prototype.value = 0; +timapi.protocol.sixml.AmountGross.prototype.currency = undefined; +timapi.protocol.sixml.AmountGross.prototype.exponent = undefined; +timapi.protocol.sixml.AmountGross.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:AmountGross"); + node.textContent = timapi.utils.StringHelper.makeString(this.value); + if (this.currency != undefined) { + this.xmlSetAttribute(node, "Currency", this.currency); + } + if (this.exponent != undefined) { + this.xmlSetAttribute(node, "Exponent", timapi.utils.StringHelper.makeString(this.exponent)); + } + return node; +}; +timapi.protocol.sixml.CommandRequest = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.CommandRequest) { + var value = a; + this.orderNumber = value.orderNumber; + this.cardReader = value.cardReader; + this.cardCommand = value.cardCommand; + this.positiveAnswerList = value.positiveAnswerList ? new timapi.protocol.sixml.PositiveAnswerList(value.positiveAnswerList) : undefined; + this.commandResources = value.commandResources ? new timapi.protocol.sixml.CommandResources(value.commandResources) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "OrderNumber")) { + this.orderNumber = (this.xmlGetAttribute(node, "OrderNumber") ? parseInt(this.xmlGetAttribute(node, "OrderNumber")) : 0); + } + if (this.xmlHasAttribute(node, "CardReader")) { + this.cardReader = this.xmlGetAttribute(node, "CardReader"); + } + if (this.xmlHasChild(node, "sixml:CardCommand")) { + this.cardCommand = this.xmlGetChild(node, "sixml:CardCommand").textContent; + } + if (this.xmlHasChild(node, "sixml:PositiveAnswerList")) { + this.positiveAnswerList = new timapi.protocol.sixml.PositiveAnswerList(this.xmlGetChild(node, "sixml:PositiveAnswerList")); + } + if (this.xmlHasChild(node, "sixml:CommandResources")) { + this.commandResources = new timapi.protocol.sixml.CommandResources(this.xmlGetChild(node, "sixml:CommandResources")); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.CommandRequest.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.CommandRequest.prototype.orderNumber = undefined; +timapi.protocol.sixml.CommandRequest.prototype.cardReader = undefined; +timapi.protocol.sixml.CommandRequest.prototype.cardCommand = undefined; +timapi.protocol.sixml.CommandRequest.prototype.positiveAnswerList = undefined; +timapi.protocol.sixml.CommandRequest.prototype.commandResources = undefined; +timapi.protocol.sixml.CommandRequest.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:CommandRequest"); + if (this.orderNumber != undefined) { + this.xmlSetAttribute(node, "OrderNumber", timapi.utils.StringHelper.makeString(this.orderNumber)); + } + if (this.cardReader != undefined) { + this.xmlSetAttribute(node, "CardReader", this.cardReader); + } + if (this.cardCommand != undefined) { + this.xmlAddChild(node, "sixml:CardCommand", this.cardCommand); + } + if (this.positiveAnswerList != undefined) { + this.xmlAddChild(node, "sixml:PositiveAnswerList", this.positiveAnswerList); + } + if (this.commandResources != undefined) { + this.xmlAddChild(node, "sixml:CommandResources", this.commandResources); + } + return node; +}; +timapi.protocol.sixml.CommandRequestList = function (a) { + this.commandRequest = []; + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.CommandRequestList) { + var value = a; + for (var each of value.commandRequest) { + this.commandRequest.push(each ? new timapi.protocol.sixml.CommandRequest(each) : undefined); + } + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + for (var each of this.xmlGetChildren(node, "sixml:CommandRequest")) { + this.commandRequest.push(new timapi.protocol.sixml.CommandRequest(each)); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.CommandRequestList.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.CommandRequestList.prototype.commandRequest = undefined; +timapi.protocol.sixml.CommandRequestList.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:CommandRequestList"); + for (var each of this.commandRequest) { + this.xmlAddChild(node, "sixml:CommandRequest", each); + } + return node; +}; +timapi.protocol.sixml.CommandResources = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.CommandResources) { + var value = a; + this.positiveResource = value.positiveResource; + this.negativeResource = value.negativeResource; + this.executionResource = value.executionResource; + this.preResource = value.preResource; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "PositiveResource")) { + this.positiveResource = (this.xmlGetAttribute(node, "PositiveResource") ? parseInt(this.xmlGetAttribute(node, "PositiveResource")) : 0); + } + if (this.xmlHasAttribute(node, "NegativeResource")) { + this.negativeResource = (this.xmlGetAttribute(node, "NegativeResource") ? parseInt(this.xmlGetAttribute(node, "NegativeResource")) : 0); + } + if (this.xmlHasAttribute(node, "ExecutionResource")) { + this.executionResource = (this.xmlGetAttribute(node, "ExecutionResource") ? parseInt(this.xmlGetAttribute(node, "ExecutionResource")) : 0); + } + if (this.xmlHasAttribute(node, "PreResource")) { + this.preResource = (this.xmlGetAttribute(node, "PreResource") ? parseInt(this.xmlGetAttribute(node, "PreResource")) : 0); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.CommandResources.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.CommandResources.prototype.positiveResource = undefined; +timapi.protocol.sixml.CommandResources.prototype.negativeResource = undefined; +timapi.protocol.sixml.CommandResources.prototype.executionResource = undefined; +timapi.protocol.sixml.CommandResources.prototype.preResource = undefined; +timapi.protocol.sixml.CommandResources.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:CommandResources"); + if (this.positiveResource != undefined) { + this.xmlSetAttribute(node, "PositiveResource", timapi.utils.StringHelper.makeString(this.positiveResource)); + } + if (this.negativeResource != undefined) { + this.xmlSetAttribute(node, "NegativeResource", timapi.utils.StringHelper.makeString(this.negativeResource)); + } + if (this.executionResource != undefined) { + this.xmlSetAttribute(node, "ExecutionResource", timapi.utils.StringHelper.makeString(this.executionResource)); + } + if (this.preResource != undefined) { + this.xmlSetAttribute(node, "PreResource", timapi.utils.StringHelper.makeString(this.preResource)); + } + return node; +}; +timapi.protocol.sixml.CommandResponse = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.CommandResponse) { + var value = a; + this.orderNumber = value.orderNumber; + this.responseType = value.responseType; + this.cardResponse = value.cardResponse; + this.uid = value.uid; + this.atr = value.atr; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "OrderNumber")) { + this.orderNumber = (this.xmlGetAttribute(node, "OrderNumber") ? parseInt(this.xmlGetAttribute(node, "OrderNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResponseType")) { + this.responseType = this.xmlGetAttribute(node, "ResponseType"); + } + if (this.xmlHasChild(node, "sixml:CardResponse")) { + this.cardResponse = this.xmlGetChild(node, "sixml:CardResponse").textContent; + } + if (this.xmlHasChild(node, "sixml:Uid")) { + this.uid = this.xmlGetChild(node, "sixml:Uid").textContent; + } + if (this.xmlHasChild(node, "sixml:ATR")) { + this.atr = this.xmlGetChild(node, "sixml:ATR").textContent; + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.CommandResponse.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.CommandResponse.prototype.orderNumber = undefined; +timapi.protocol.sixml.CommandResponse.prototype.responseType = undefined; +timapi.protocol.sixml.CommandResponse.prototype.cardResponse = undefined; +timapi.protocol.sixml.CommandResponse.prototype.uid = undefined; +timapi.protocol.sixml.CommandResponse.prototype.atr = undefined; +timapi.protocol.sixml.CommandResponse.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:CommandResponse"); + if (this.orderNumber != undefined) { + this.xmlSetAttribute(node, "OrderNumber", timapi.utils.StringHelper.makeString(this.orderNumber)); + } + if (this.responseType != undefined) { + this.xmlSetAttribute(node, "ResponseType", this.responseType); + } + if (this.cardResponse != undefined) { + this.xmlAddChild(node, "sixml:CardResponse", this.cardResponse); + } + if (this.uid != undefined) { + this.xmlAddChild(node, "sixml:Uid", this.uid); + } + if (this.atr != undefined) { + this.xmlAddChild(node, "sixml:ATR", this.atr); + } + return node; +}; +timapi.protocol.sixml.CommandResponseList = function (a) { + this.commandResponse = []; + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.CommandResponseList) { + var value = a; + for (var each of value.commandResponse) { + this.commandResponse.push(each ? new timapi.protocol.sixml.CommandResponse(each) : undefined); + } + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + for (var each of this.xmlGetChildren(node, "sixml:CommandResponse")) { + this.commandResponse.push(new timapi.protocol.sixml.CommandResponse(each)); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.CommandResponseList.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.CommandResponseList.prototype.commandResponse = undefined; +timapi.protocol.sixml.CommandResponseList.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:CommandResponseList"); + for (var each of this.commandResponse) { + this.xmlAddChild(node, "sixml:CommandResponse", each); + } + return node; +}; +timapi.protocol.sixml.FinalAmount = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.FinalAmount) { + var value = a; + this.value = value.value; + this.currency = value.currency; + this.exponent = value.exponent; + this.adjustmentResult = value.adjustmentResult; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + this.value = (node.textContent ? parseInt(node.textContent) : 0); + if (this.xmlHasAttribute(node, "Currency")) { + this.currency = this.xmlGetAttribute(node, "Currency"); + } + if (this.xmlHasAttribute(node, "Exponent")) { + this.exponent = (this.xmlGetAttribute(node, "Exponent") ? parseInt(this.xmlGetAttribute(node, "Exponent")) : 0); + } + if (this.xmlHasAttribute(node, "AdjustmentResult")) { + this.adjustmentResult = (this.xmlGetAttribute(node, "AdjustmentResult") ? parseInt(this.xmlGetAttribute(node, "AdjustmentResult")) : 0); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.FinalAmount.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.FinalAmount.prototype.value = 0; +timapi.protocol.sixml.FinalAmount.prototype.currency = undefined; +timapi.protocol.sixml.FinalAmount.prototype.exponent = undefined; +timapi.protocol.sixml.FinalAmount.prototype.adjustmentResult = undefined; +timapi.protocol.sixml.FinalAmount.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:FinalAmount"); + node.textContent = timapi.utils.StringHelper.makeString(this.value); + if (this.currency != undefined) { + this.xmlSetAttribute(node, "Currency", this.currency); + } + if (this.exponent != undefined) { + this.xmlSetAttribute(node, "Exponent", timapi.utils.StringHelper.makeString(this.exponent)); + } + if (this.adjustmentResult != undefined) { + this.xmlSetAttribute(node, "AdjustmentResult", timapi.utils.StringHelper.makeString(this.adjustmentResult)); + } + return node; +}; +timapi.protocol.sixml.LoyaltyBasket = function (a) { + this.loyaltyItem = []; + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.LoyaltyBasket) { + var value = a; + for (var each of value.loyaltyItem) { + this.loyaltyItem.push(each ? new timapi.protocol.sixml.LoyaltyItem(each) : undefined); + } + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + for (var each of this.xmlGetChildren(node, "sixml:LoyaltyItem")) { + this.loyaltyItem.push(new timapi.protocol.sixml.LoyaltyItem(each)); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.LoyaltyBasket.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.LoyaltyBasket.prototype.loyaltyItem = undefined; +timapi.protocol.sixml.LoyaltyBasket.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:LoyaltyBasket"); + for (var each of this.loyaltyItem) { + this.xmlAddChild(node, "sixml:LoyaltyItem", each); + } + return node; +}; +timapi.protocol.sixml.LoyaltyCashbackAmount = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.LoyaltyCashbackAmount) { + var value = a; + this.value = value.value; + this.currency = value.currency; + this.exponent = value.exponent; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + this.value = (node.textContent ? parseInt(node.textContent) : 0); + if (this.xmlHasAttribute(node, "Currency")) { + this.currency = this.xmlGetAttribute(node, "Currency"); + } + if (this.xmlHasAttribute(node, "Exponent")) { + this.exponent = (this.xmlGetAttribute(node, "Exponent") ? parseInt(this.xmlGetAttribute(node, "Exponent")) : 0); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.LoyaltyCashbackAmount.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.LoyaltyCashbackAmount.prototype.value = 0; +timapi.protocol.sixml.LoyaltyCashbackAmount.prototype.currency = undefined; +timapi.protocol.sixml.LoyaltyCashbackAmount.prototype.exponent = undefined; +timapi.protocol.sixml.LoyaltyCashbackAmount.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:LoyaltyCashbackAmount"); + node.textContent = timapi.utils.StringHelper.makeString(this.value); + if (this.currency != undefined) { + this.xmlSetAttribute(node, "Currency", this.currency); + } + if (this.exponent != undefined) { + this.xmlSetAttribute(node, "Exponent", timapi.utils.StringHelper.makeString(this.exponent)); + } + return node; +}; +timapi.protocol.sixml.LoyaltyCheckoutInformation = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.LoyaltyCheckoutInformation) { + var value = a; + this.provideBasketFlag = value.provideBasketFlag; + this.loyaltyInformationList = value.loyaltyInformationList ? new timapi.protocol.sixml.LoyaltyInformationList(value.loyaltyInformationList) : undefined; + this.loyaltyCouponList = value.loyaltyCouponList ? new timapi.protocol.sixml.LoyaltyCouponList(value.loyaltyCouponList) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasChild(node, "sixml:ProvideBasketFlag")) { + this.provideBasketFlag = this.xmlGetChild(node, "sixml:ProvideBasketFlag").textContent == "1"; + } + if (this.xmlHasChild(node, "sixml:LoyaltyInformationList")) { + this.loyaltyInformationList = new timapi.protocol.sixml.LoyaltyInformationList(this.xmlGetChild(node, "sixml:LoyaltyInformationList")); + } + if (this.xmlHasChild(node, "sixml:LoyaltyCouponList")) { + this.loyaltyCouponList = new timapi.protocol.sixml.LoyaltyCouponList(this.xmlGetChild(node, "sixml:LoyaltyCouponList")); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.LoyaltyCheckoutInformation.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.LoyaltyCheckoutInformation.prototype.provideBasketFlag = undefined; +timapi.protocol.sixml.LoyaltyCheckoutInformation.prototype.loyaltyInformationList = undefined; +timapi.protocol.sixml.LoyaltyCheckoutInformation.prototype.loyaltyCouponList = undefined; +timapi.protocol.sixml.LoyaltyCheckoutInformation.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:LoyaltyCheckoutInformation"); + if (this.provideBasketFlag != undefined) { + this.xmlAddChild(node, "sixml:ProvideBasketFlag", (this.provideBasketFlag ? "1" : "0")); + } + if (this.loyaltyInformationList != undefined) { + this.xmlAddChild(node, "sixml:LoyaltyInformationList", this.loyaltyInformationList); + } + if (this.loyaltyCouponList != undefined) { + this.xmlAddChild(node, "sixml:LoyaltyCouponList", this.loyaltyCouponList); + } + return node; +}; +timapi.protocol.sixml.LoyaltyCoupon = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.LoyaltyCoupon) { + var value = a; + this.value = value.value; + this.couponId = value.couponId; + this.currency = value.currency; + this.exponent = value.exponent; + this.couponRejectionReason = value.couponRejectionReason; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + this.value = (node.textContent ? parseInt(node.textContent) : 0); + if (this.xmlHasAttribute(node, "CouponId")) { + this.couponId = this.xmlGetAttribute(node, "CouponId"); + } + if (this.xmlHasAttribute(node, "Currency")) { + this.currency = this.xmlGetAttribute(node, "Currency"); + } + if (this.xmlHasAttribute(node, "Exponent")) { + this.exponent = (this.xmlGetAttribute(node, "Exponent") ? parseInt(this.xmlGetAttribute(node, "Exponent")) : 0); + } + if (this.xmlHasAttribute(node, "CouponRejectionReason")) { + this.couponRejectionReason = this.xmlGetAttribute(node, "CouponRejectionReason"); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.LoyaltyCoupon.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.LoyaltyCoupon.prototype.value = 0; +timapi.protocol.sixml.LoyaltyCoupon.prototype.couponId = undefined; +timapi.protocol.sixml.LoyaltyCoupon.prototype.currency = undefined; +timapi.protocol.sixml.LoyaltyCoupon.prototype.exponent = undefined; +timapi.protocol.sixml.LoyaltyCoupon.prototype.couponRejectionReason = undefined; +timapi.protocol.sixml.LoyaltyCoupon.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:LoyaltyCoupon"); + node.textContent = timapi.utils.StringHelper.makeString(this.value); + if (this.couponId != undefined) { + this.xmlSetAttribute(node, "CouponId", this.couponId); + } + if (this.currency != undefined) { + this.xmlSetAttribute(node, "Currency", this.currency); + } + if (this.exponent != undefined) { + this.xmlSetAttribute(node, "Exponent", timapi.utils.StringHelper.makeString(this.exponent)); + } + if (this.couponRejectionReason != undefined) { + this.xmlSetAttribute(node, "CouponRejectionReason", this.couponRejectionReason); + } + return node; +}; +timapi.protocol.sixml.LoyaltyCouponList = function (a) { + this.loyaltyCoupon = []; + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.LoyaltyCouponList) { + var value = a; + for (var each of value.loyaltyCoupon) { + this.loyaltyCoupon.push(each ? new timapi.protocol.sixml.LoyaltyCoupon(each) : undefined); + } + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + for (var each of this.xmlGetChildren(node, "sixml:LoyaltyCoupon")) { + this.loyaltyCoupon.push(new timapi.protocol.sixml.LoyaltyCoupon(each)); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.LoyaltyCouponList.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.LoyaltyCouponList.prototype.loyaltyCoupon = undefined; +timapi.protocol.sixml.LoyaltyCouponList.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:LoyaltyCouponList"); + for (var each of this.loyaltyCoupon) { + this.xmlAddChild(node, "sixml:LoyaltyCoupon", each); + } + return node; +}; +timapi.protocol.sixml.LoyaltyData = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.LoyaltyData) { + var value = a; + this.value = value.value; + this.loyaltyDataType = value.loyaltyDataType; + this.loyaltyFunctionType = value.loyaltyFunctionType; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + this.value = timapi.ConversionHelper.hexStringToByte(node.textContent); + if (this.xmlHasAttribute(node, "LoyaltyDataType")) { + this.loyaltyDataType = this.xmlGetAttribute(node, "LoyaltyDataType"); + } + if (this.xmlHasAttribute(node, "LoyaltyFunctionType")) { + this.loyaltyFunctionType = this.xmlGetAttribute(node, "LoyaltyFunctionType"); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.LoyaltyData.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.LoyaltyData.prototype.value = new Uint8Array(0); +timapi.protocol.sixml.LoyaltyData.prototype.loyaltyDataType = undefined; +timapi.protocol.sixml.LoyaltyData.prototype.loyaltyFunctionType = undefined; +timapi.protocol.sixml.LoyaltyData.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:LoyaltyData"); + node.textContent = timapi.protocol.ConversionHelper.byteToHexString(this.value); + if (this.loyaltyDataType != undefined) { + this.xmlSetAttribute(node, "LoyaltyDataType", this.loyaltyDataType); + } + if (this.loyaltyFunctionType != undefined) { + this.xmlSetAttribute(node, "LoyaltyFunctionType", this.loyaltyFunctionType); + } + return node; +}; +timapi.protocol.sixml.LoyaltyDiscount = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.LoyaltyDiscount) { + var value = a; + this.value = value.value; + this.discountDescription = value.discountDescription; + this.currency = value.currency; + this.exponent = value.exponent; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + this.value = (node.textContent ? parseInt(node.textContent) : 0); + if (this.xmlHasAttribute(node, "DiscountDescription")) { + this.discountDescription = this.xmlGetAttribute(node, "DiscountDescription"); + } + if (this.xmlHasAttribute(node, "Currency")) { + this.currency = this.xmlGetAttribute(node, "Currency"); + } + if (this.xmlHasAttribute(node, "Exponent")) { + this.exponent = (this.xmlGetAttribute(node, "Exponent") ? parseInt(this.xmlGetAttribute(node, "Exponent")) : 0); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.LoyaltyDiscount.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.LoyaltyDiscount.prototype.value = 0; +timapi.protocol.sixml.LoyaltyDiscount.prototype.discountDescription = undefined; +timapi.protocol.sixml.LoyaltyDiscount.prototype.currency = undefined; +timapi.protocol.sixml.LoyaltyDiscount.prototype.exponent = undefined; +timapi.protocol.sixml.LoyaltyDiscount.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:LoyaltyDiscount"); + node.textContent = timapi.utils.StringHelper.makeString(this.value); + if (this.discountDescription != undefined) { + this.xmlSetAttribute(node, "DiscountDescription", this.discountDescription); + } + if (this.currency != undefined) { + this.xmlSetAttribute(node, "Currency", this.currency); + } + if (this.exponent != undefined) { + this.xmlSetAttribute(node, "Exponent", timapi.utils.StringHelper.makeString(this.exponent)); + } + return node; +}; +timapi.protocol.sixml.LoyaltyDiscountList = function (a) { + this.loyaltyDiscount = []; + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.LoyaltyDiscountList) { + var value = a; + for (var each of value.loyaltyDiscount) { + this.loyaltyDiscount.push(each ? new timapi.protocol.sixml.LoyaltyDiscount(each) : undefined); + } + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + for (var each of this.xmlGetChildren(node, "sixml:LoyaltyDiscount")) { + this.loyaltyDiscount.push(new timapi.protocol.sixml.LoyaltyDiscount(each)); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.LoyaltyDiscountList.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.LoyaltyDiscountList.prototype.loyaltyDiscount = undefined; +timapi.protocol.sixml.LoyaltyDiscountList.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:LoyaltyDiscountList"); + for (var each of this.loyaltyDiscount) { + this.xmlAddChild(node, "sixml:LoyaltyDiscount", each); + } + return node; +}; +timapi.protocol.sixml.LoyaltyItem = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.LoyaltyItem) { + var value = a; + this.itemId = value.itemId; + this.prodDescription = value.prodDescription; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.itemQuantity = value.itemQuantity ? new timapi.protocol.sixml.ItemQuantity(value.itemQuantity) : undefined; + this.amountTotal = value.amountTotal ? new timapi.protocol.sixml.AmountTotal(value.amountTotal) : undefined; + this.loyaltyDiscountList = value.loyaltyDiscountList ? new timapi.protocol.sixml.LoyaltyDiscountList(value.loyaltyDiscountList) : undefined; + this.loyaltyCouponList = value.loyaltyCouponList ? new timapi.protocol.sixml.LoyaltyCouponList(value.loyaltyCouponList) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "ItemId")) { + this.itemId = this.xmlGetAttribute(node, "ItemId"); + } + if (this.xmlHasAttribute(node, "ProdDescription")) { + this.prodDescription = this.xmlGetAttribute(node, "ProdDescription"); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:ItemQuantity")) { + this.itemQuantity = new timapi.protocol.sixml.ItemQuantity(this.xmlGetChild(node, "sixml:ItemQuantity")); + } + if (this.xmlHasChild(node, "sixml:AmountTotal")) { + this.amountTotal = new timapi.protocol.sixml.AmountTotal(this.xmlGetChild(node, "sixml:AmountTotal")); + } + if (this.xmlHasChild(node, "sixml:LoyaltyDiscountList")) { + this.loyaltyDiscountList = new timapi.protocol.sixml.LoyaltyDiscountList(this.xmlGetChild(node, "sixml:LoyaltyDiscountList")); + } + if (this.xmlHasChild(node, "sixml:LoyaltyCouponList")) { + this.loyaltyCouponList = new timapi.protocol.sixml.LoyaltyCouponList(this.xmlGetChild(node, "sixml:LoyaltyCouponList")); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.LoyaltyItem.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.LoyaltyItem.prototype.itemId = undefined; +timapi.protocol.sixml.LoyaltyItem.prototype.prodDescription = undefined; +timapi.protocol.sixml.LoyaltyItem.prototype.amount = undefined; +timapi.protocol.sixml.LoyaltyItem.prototype.itemQuantity = undefined; +timapi.protocol.sixml.LoyaltyItem.prototype.amountTotal = undefined; +timapi.protocol.sixml.LoyaltyItem.prototype.loyaltyDiscountList = undefined; +timapi.protocol.sixml.LoyaltyItem.prototype.loyaltyCouponList = undefined; +timapi.protocol.sixml.LoyaltyItem.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:LoyaltyItem"); + if (this.itemId != undefined) { + this.xmlSetAttribute(node, "ItemId", this.itemId); + } + if (this.prodDescription != undefined) { + this.xmlSetAttribute(node, "ProdDescription", this.prodDescription); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.itemQuantity != undefined) { + this.xmlAddChild(node, "sixml:ItemQuantity", this.itemQuantity); + } + if (this.amountTotal != undefined) { + this.xmlAddChild(node, "sixml:AmountTotal", this.amountTotal); + } + if (this.loyaltyDiscountList != undefined) { + this.xmlAddChild(node, "sixml:LoyaltyDiscountList", this.loyaltyDiscountList); + } + if (this.loyaltyCouponList != undefined) { + this.xmlAddChild(node, "sixml:LoyaltyCouponList", this.loyaltyCouponList); + } + return node; +}; +timapi.protocol.sixml.Notification_AmtAdjustment = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Notification_AmtAdjustment) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.loyaltyCouponList = value.loyaltyCouponList ? new timapi.protocol.sixml.LoyaltyCouponList(value.loyaltyCouponList) : undefined; + this.amountDiscount = value.amountDiscount ? new timapi.protocol.sixml.AmountDiscount(value.amountDiscount) : undefined; + this.loyaltyInformationList = value.loyaltyInformationList ? new timapi.protocol.sixml.LoyaltyInformationList(value.loyaltyInformationList) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:LoyaltyCouponList")) { + this.loyaltyCouponList = new timapi.protocol.sixml.LoyaltyCouponList(this.xmlGetChild(node, "sixml:LoyaltyCouponList")); + } + if (this.xmlHasChild(node, "sixml:AmountDiscount")) { + this.amountDiscount = new timapi.protocol.sixml.AmountDiscount(this.xmlGetChild(node, "sixml:AmountDiscount")); + } + if (this.xmlHasChild(node, "sixml:LoyaltyInformationList")) { + this.loyaltyInformationList = new timapi.protocol.sixml.LoyaltyInformationList(this.xmlGetChild(node, "sixml:LoyaltyInformationList")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "AmtAdjustment"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Notification_AmtAdjustment.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Notification_AmtAdjustment.prototype.functionGroup = undefined; +timapi.protocol.sixml.Notification_AmtAdjustment.prototype.function = undefined; +timapi.protocol.sixml.Notification_AmtAdjustment.prototype.amount = undefined; +timapi.protocol.sixml.Notification_AmtAdjustment.prototype.loyaltyCouponList = undefined; +timapi.protocol.sixml.Notification_AmtAdjustment.prototype.amountDiscount = undefined; +timapi.protocol.sixml.Notification_AmtAdjustment.prototype.loyaltyInformationList = undefined; +timapi.protocol.sixml.Notification_AmtAdjustment.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Notification"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.loyaltyCouponList != undefined) { + this.xmlAddChild(node, "sixml:LoyaltyCouponList", this.loyaltyCouponList); + } + if (this.amountDiscount != undefined) { + this.xmlAddChild(node, "sixml:AmountDiscount", this.amountDiscount); + } + if (this.loyaltyInformationList != undefined) { + this.xmlAddChild(node, "sixml:LoyaltyInformationList", this.loyaltyInformationList); + } + return node; +}; +timapi.protocol.sixml.Notification_LoyaltyInfo = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Notification_LoyaltyInfo) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.loyaltyCheckoutInformation = value.loyaltyCheckoutInformation ? new timapi.protocol.sixml.LoyaltyCheckoutInformation(value.loyaltyCheckoutInformation) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasChild(node, "sixml:LoyaltyCheckoutInformation")) { + this.loyaltyCheckoutInformation = new timapi.protocol.sixml.LoyaltyCheckoutInformation(this.xmlGetChild(node, "sixml:LoyaltyCheckoutInformation")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Status"; + this.function = "LoyaltyInfo"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Notification_LoyaltyInfo.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Notification_LoyaltyInfo.prototype.functionGroup = undefined; +timapi.protocol.sixml.Notification_LoyaltyInfo.prototype.function = undefined; +timapi.protocol.sixml.Notification_LoyaltyInfo.prototype.loyaltyCheckoutInformation = undefined; +timapi.protocol.sixml.Notification_LoyaltyInfo.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Notification"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.loyaltyCheckoutInformation != undefined) { + this.xmlAddChild(node, "sixml:LoyaltyCheckoutInformation", this.loyaltyCheckoutInformation); + } + return node; +}; +timapi.protocol.sixml.PositiveAnswerList = function (a) { + this.positiveAnswer = []; + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.PositiveAnswerList) { + var value = a; + for (var each of value.positiveAnswer) { + this.positiveAnswer.push(each); + } + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + for (var each of this.xmlGetChildren(node, "sixml:PositiveAnswer")) { + this.positiveAnswer.push(each.textContent); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.PositiveAnswerList.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.PositiveAnswerList.prototype.positiveAnswer = undefined; +timapi.protocol.sixml.PositiveAnswerList.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:PositiveAnswerList"); + for (var each of this.positiveAnswer) { + this.xmlAddChild(node, "sixml:PositiveAnswer", each); + } + return node; +}; +timapi.protocol.sixml.Request_FinishCheckout = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_FinishCheckout) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "NonFinTransaction"; + this.function = "FinishCheckout"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_FinishCheckout.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_FinishCheckout.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_FinishCheckout.prototype.function = undefined; +timapi.protocol.sixml.Request_FinishCheckout.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_FinishCheckout.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + return node; +}; +timapi.protocol.sixml.Request_LoyaltyData = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_LoyaltyData) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.loyaltyData = value.loyaltyData ? new timapi.protocol.sixml.LoyaltyData(value.loyaltyData) : undefined; + this.retainCardFlag = value.retainCardFlag; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasChild(node, "sixml:LoyaltyData")) { + this.loyaltyData = new timapi.protocol.sixml.LoyaltyData(this.xmlGetChild(node, "sixml:LoyaltyData")); + } + if (this.xmlHasChild(node, "sixml:RetainCardFlag")) { + this.retainCardFlag = this.xmlGetChild(node, "sixml:RetainCardFlag").textContent == "1"; + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "NonFinTransaction"; + this.function = "LoyaltyData"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_LoyaltyData.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_LoyaltyData.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_LoyaltyData.prototype.function = undefined; +timapi.protocol.sixml.Request_LoyaltyData.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_LoyaltyData.prototype.loyaltyData = undefined; +timapi.protocol.sixml.Request_LoyaltyData.prototype.retainCardFlag = undefined; +timapi.protocol.sixml.Request_LoyaltyData.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.loyaltyData != undefined) { + this.xmlAddChild(node, "sixml:LoyaltyData", this.loyaltyData); + } + if (this.retainCardFlag != undefined) { + this.xmlAddChild(node, "sixml:RetainCardFlag", (this.retainCardFlag ? "1" : "0")); + } + return node; +}; +timapi.protocol.sixml.Request_ProvideLoyaltyBasket = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_ProvideLoyaltyBasket) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.loyaltyBasket = value.loyaltyBasket ? new timapi.protocol.sixml.LoyaltyBasket(value.loyaltyBasket) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasChild(node, "sixml:LoyaltyBasket")) { + this.loyaltyBasket = new timapi.protocol.sixml.LoyaltyBasket(this.xmlGetChild(node, "sixml:LoyaltyBasket")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "NonFinTransaction"; + this.function = "ProvideLoyaltyBasket"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_ProvideLoyaltyBasket.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_ProvideLoyaltyBasket.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_ProvideLoyaltyBasket.prototype.function = undefined; +timapi.protocol.sixml.Request_ProvideLoyaltyBasket.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_ProvideLoyaltyBasket.prototype.loyaltyBasket = undefined; +timapi.protocol.sixml.Request_ProvideLoyaltyBasket.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.loyaltyBasket != undefined) { + this.xmlAddChild(node, "sixml:LoyaltyBasket", this.loyaltyBasket); + } + return node; +}; +timapi.protocol.sixml.Request_PurchaseMailOrdered = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_PurchaseMailOrdered) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.usrId = value.usrId; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.transactionData = value.transactionData ? new timapi.protocol.sixml.TransactionData(value.transactionData) : undefined; + this.merchantOptionList = value.merchantOptionList ? new timapi.protocol.sixml.MerchantOptionList(value.merchantOptionList) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasChild(node, "sixml:UsrId")) { + this.usrId = (this.xmlGetChild(node, "sixml:UsrId").textContent ? parseInt(this.xmlGetChild(node, "sixml:UsrId").textContent) : 0); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:TransactionData")) { + this.transactionData = new timapi.protocol.sixml.TransactionData(this.xmlGetChild(node, "sixml:TransactionData")); + } + if (this.xmlHasChild(node, "sixml:MerchantOptionList")) { + this.merchantOptionList = new timapi.protocol.sixml.MerchantOptionList(this.xmlGetChild(node, "sixml:MerchantOptionList")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "PurchaseMailOrdered"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_PurchaseMailOrdered.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_PurchaseMailOrdered.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_PurchaseMailOrdered.prototype.function = undefined; +timapi.protocol.sixml.Request_PurchaseMailOrdered.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_PurchaseMailOrdered.prototype.usrId = undefined; +timapi.protocol.sixml.Request_PurchaseMailOrdered.prototype.amount = undefined; +timapi.protocol.sixml.Request_PurchaseMailOrdered.prototype.transactionData = undefined; +timapi.protocol.sixml.Request_PurchaseMailOrdered.prototype.merchantOptionList = undefined; +timapi.protocol.sixml.Request_PurchaseMailOrdered.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.usrId != undefined) { + this.xmlAddChild(node, "sixml:UsrId", timapi.utils.StringHelper.makeString(this.usrId)); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.transactionData != undefined) { + this.xmlAddChild(node, "sixml:TransactionData", this.transactionData); + } + if (this.merchantOptionList != undefined) { + this.xmlAddChild(node, "sixml:MerchantOptionList", this.merchantOptionList); + } + return node; +}; +timapi.protocol.sixml.Request_PurchasePhoneOrdered = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_PurchasePhoneOrdered) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.usrId = value.usrId; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.transactionData = value.transactionData ? new timapi.protocol.sixml.TransactionData(value.transactionData) : undefined; + this.merchantOptionList = value.merchantOptionList ? new timapi.protocol.sixml.MerchantOptionList(value.merchantOptionList) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasChild(node, "sixml:UsrId")) { + this.usrId = (this.xmlGetChild(node, "sixml:UsrId").textContent ? parseInt(this.xmlGetChild(node, "sixml:UsrId").textContent) : 0); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:TransactionData")) { + this.transactionData = new timapi.protocol.sixml.TransactionData(this.xmlGetChild(node, "sixml:TransactionData")); + } + if (this.xmlHasChild(node, "sixml:MerchantOptionList")) { + this.merchantOptionList = new timapi.protocol.sixml.MerchantOptionList(this.xmlGetChild(node, "sixml:MerchantOptionList")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "PurchasePhoneOrdered"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_PurchasePhoneOrdered.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_PurchasePhoneOrdered.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_PurchasePhoneOrdered.prototype.function = undefined; +timapi.protocol.sixml.Request_PurchasePhoneOrdered.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_PurchasePhoneOrdered.prototype.usrId = undefined; +timapi.protocol.sixml.Request_PurchasePhoneOrdered.prototype.amount = undefined; +timapi.protocol.sixml.Request_PurchasePhoneOrdered.prototype.transactionData = undefined; +timapi.protocol.sixml.Request_PurchasePhoneOrdered.prototype.merchantOptionList = undefined; +timapi.protocol.sixml.Request_PurchasePhoneOrdered.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.usrId != undefined) { + this.xmlAddChild(node, "sixml:UsrId", timapi.utils.StringHelper.makeString(this.usrId)); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.transactionData != undefined) { + this.xmlAddChild(node, "sixml:TransactionData", this.transactionData); + } + if (this.merchantOptionList != undefined) { + this.xmlAddChild(node, "sixml:MerchantOptionList", this.merchantOptionList); + } + return node; +}; +timapi.protocol.sixml.Request_PurchaseReservationPhoneAuthorized = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_PurchaseReservationPhoneAuthorized) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.transactionData = value.transactionData ? new timapi.protocol.sixml.TransactionData(value.transactionData) : undefined; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.merchantOptionList = value.merchantOptionList ? new timapi.protocol.sixml.MerchantOptionList(value.merchantOptionList) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasChild(node, "sixml:TransactionData")) { + this.transactionData = new timapi.protocol.sixml.TransactionData(this.xmlGetChild(node, "sixml:TransactionData")); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:MerchantOptionList")) { + this.merchantOptionList = new timapi.protocol.sixml.MerchantOptionList(this.xmlGetChild(node, "sixml:MerchantOptionList")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "PurchaseReservationPhoneAuthorized"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_PurchaseReservationPhoneAuthorized.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_PurchaseReservationPhoneAuthorized.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_PurchaseReservationPhoneAuthorized.prototype.function = undefined; +timapi.protocol.sixml.Request_PurchaseReservationPhoneAuthorized.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_PurchaseReservationPhoneAuthorized.prototype.transactionData = undefined; +timapi.protocol.sixml.Request_PurchaseReservationPhoneAuthorized.prototype.amount = undefined; +timapi.protocol.sixml.Request_PurchaseReservationPhoneAuthorized.prototype.merchantOptionList = undefined; +timapi.protocol.sixml.Request_PurchaseReservationPhoneAuthorized.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.transactionData != undefined) { + this.xmlAddChild(node, "sixml:TransactionData", this.transactionData); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.merchantOptionList != undefined) { + this.xmlAddChild(node, "sixml:MerchantOptionList", this.merchantOptionList); + } + return node; +}; +timapi.protocol.sixml.Request_SendCardCommand = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_SendCardCommand) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.commandRequestList = value.commandRequestList ? new timapi.protocol.sixml.CommandRequestList(value.commandRequestList) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasChild(node, "sixml:CommandRequestList")) { + this.commandRequestList = new timapi.protocol.sixml.CommandRequestList(this.xmlGetChild(node, "sixml:CommandRequestList")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Dialog"; + this.function = "SendCardCommand"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_SendCardCommand.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_SendCardCommand.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_SendCardCommand.prototype.function = undefined; +timapi.protocol.sixml.Request_SendCardCommand.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_SendCardCommand.prototype.commandRequestList = undefined; +timapi.protocol.sixml.Request_SendCardCommand.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.commandRequestList != undefined) { + this.xmlAddChild(node, "sixml:CommandRequestList", this.commandRequestList); + } + return node; +}; +timapi.protocol.sixml.Request_StartCheckout = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Request_StartCheckout) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "NonFinTransaction"; + this.function = "StartCheckout"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Request_StartCheckout.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Request_StartCheckout.prototype.functionGroup = undefined; +timapi.protocol.sixml.Request_StartCheckout.prototype.function = undefined; +timapi.protocol.sixml.Request_StartCheckout.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Request_StartCheckout.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Request"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + return node; +}; +timapi.protocol.sixml.ResourceParameter = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.ResourceParameter) { + var value = a; + this.value = value.value; + this.resourceParameterType = value.resourceParameterType; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + this.value = node.textContent; + if (this.xmlHasAttribute(node, "ResourceParameterType")) { + this.resourceParameterType = this.xmlGetAttribute(node, "ResourceParameterType"); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.ResourceParameter.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.ResourceParameter.prototype.value = ""; +timapi.protocol.sixml.ResourceParameter.prototype.resourceParameterType = undefined; +timapi.protocol.sixml.ResourceParameter.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:ResourceParameter"); + node.textContent = this.value; + if (this.resourceParameterType != undefined) { + this.xmlSetAttribute(node, "ResourceParameterType", this.resourceParameterType); + } + return node; +}; +timapi.protocol.sixml.ResourceParameterList = function (a) { + this.resourceParameter = []; + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.ResourceParameterList) { + var value = a; + for (var each of value.resourceParameter) { + this.resourceParameter.push(each ? new timapi.protocol.sixml.ResourceParameter(each) : undefined); + } + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + for (var each of this.xmlGetChildren(node, "sixml:ResourceParameter")) { + this.resourceParameter.push(new timapi.protocol.sixml.ResourceParameter(each)); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.ResourceParameterList.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.ResourceParameterList.prototype.resourceParameter = undefined; +timapi.protocol.sixml.ResourceParameterList.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:ResourceParameterList"); + for (var each of this.resourceParameter) { + this.xmlAddChild(node, "sixml:ResourceParameter", each); + } + return node; +}; +timapi.protocol.sixml.Response_FinishCheckout = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_FinishCheckout) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.loyaltyCheckoutInformation = value.loyaltyCheckoutInformation ? new timapi.protocol.sixml.LoyaltyCheckoutInformation(value.loyaltyCheckoutInformation) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:LoyaltyCheckoutInformation")) { + this.loyaltyCheckoutInformation = new timapi.protocol.sixml.LoyaltyCheckoutInformation(this.xmlGetChild(node, "sixml:LoyaltyCheckoutInformation")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "NonFinTransaction"; + this.function = "FinishCheckout"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_FinishCheckout.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_FinishCheckout.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_FinishCheckout.prototype.function = undefined; +timapi.protocol.sixml.Response_FinishCheckout.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_FinishCheckout.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_FinishCheckout.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_FinishCheckout.prototype.loyaltyCheckoutInformation = undefined; +timapi.protocol.sixml.Response_FinishCheckout.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.loyaltyCheckoutInformation != undefined) { + this.xmlAddChild(node, "sixml:LoyaltyCheckoutInformation", this.loyaltyCheckoutInformation); + } + return node; +}; +timapi.protocol.sixml.Response_LoyaltyData = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_LoyaltyData) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.cardData = value.cardData ? new timapi.protocol.sixml.CardData(value.cardData) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:CardData")) { + this.cardData = new timapi.protocol.sixml.CardData(this.xmlGetChild(node, "sixml:CardData")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "NonFinTransaction"; + this.function = "LoyaltyData"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_LoyaltyData.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_LoyaltyData.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_LoyaltyData.prototype.function = undefined; +timapi.protocol.sixml.Response_LoyaltyData.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_LoyaltyData.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_LoyaltyData.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_LoyaltyData.prototype.cardData = undefined; +timapi.protocol.sixml.Response_LoyaltyData.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.cardData != undefined) { + this.xmlAddChild(node, "sixml:CardData", this.cardData); + } + return node; +}; +timapi.protocol.sixml.Response_ProvideLoyaltyBasket = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_ProvideLoyaltyBasket) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.loyaltyBasket = value.loyaltyBasket ? new timapi.protocol.sixml.LoyaltyBasket(value.loyaltyBasket) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:LoyaltyBasket")) { + this.loyaltyBasket = new timapi.protocol.sixml.LoyaltyBasket(this.xmlGetChild(node, "sixml:LoyaltyBasket")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "NonFinTransaction"; + this.function = "ProvideLoyaltyBasket"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_ProvideLoyaltyBasket.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_ProvideLoyaltyBasket.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_ProvideLoyaltyBasket.prototype.function = undefined; +timapi.protocol.sixml.Response_ProvideLoyaltyBasket.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_ProvideLoyaltyBasket.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_ProvideLoyaltyBasket.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_ProvideLoyaltyBasket.prototype.loyaltyBasket = undefined; +timapi.protocol.sixml.Response_ProvideLoyaltyBasket.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.loyaltyBasket != undefined) { + this.xmlAddChild(node, "sixml:LoyaltyBasket", this.loyaltyBasket); + } + return node; +}; +timapi.protocol.sixml.Response_PurchaseMailOrdered = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_PurchaseMailOrdered) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.transactionInformation = value.transactionInformation ? new timapi.protocol.sixml.TransactionInformation(value.transactionInformation) : undefined; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.amountDue = value.amountDue ? new timapi.protocol.sixml.AmountDue(value.amountDue) : undefined; + this.amountDcc = value.amountDcc ? new timapi.protocol.sixml.AmountDcc(value.amountDcc) : undefined; + this.amountSaldo = value.amountSaldo ? new timapi.protocol.sixml.AmountSaldo(value.amountSaldo) : undefined; + this.dccDisclaimer = value.dccDisclaimer; + this.disclaimer = value.disclaimer; + this.cardData = value.cardData ? new timapi.protocol.sixml.CardData(value.cardData) : undefined; + this.printData = value.printData ? new timapi.protocol.sixml.PrintData(value.printData) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:TransactionInformation")) { + this.transactionInformation = new timapi.protocol.sixml.TransactionInformation(this.xmlGetChild(node, "sixml:TransactionInformation")); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:AmountDue")) { + this.amountDue = new timapi.protocol.sixml.AmountDue(this.xmlGetChild(node, "sixml:AmountDue")); + } + if (this.xmlHasChild(node, "sixml:AmountDcc")) { + this.amountDcc = new timapi.protocol.sixml.AmountDcc(this.xmlGetChild(node, "sixml:AmountDcc")); + } + if (this.xmlHasChild(node, "sixml:AmountSaldo")) { + this.amountSaldo = new timapi.protocol.sixml.AmountSaldo(this.xmlGetChild(node, "sixml:AmountSaldo")); + } + if (this.xmlHasChild(node, "sixml:DccDisclaimer")) { + this.dccDisclaimer = this.xmlGetChild(node, "sixml:DccDisclaimer").textContent; + } + if (this.xmlHasChild(node, "sixml:Disclaimer")) { + this.disclaimer = this.xmlGetChild(node, "sixml:Disclaimer").textContent; + } + if (this.xmlHasChild(node, "sixml:CardData")) { + this.cardData = new timapi.protocol.sixml.CardData(this.xmlGetChild(node, "sixml:CardData")); + } + if (this.xmlHasChild(node, "sixml:PrintData")) { + this.printData = new timapi.protocol.sixml.PrintData(this.xmlGetChild(node, "sixml:PrintData")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "PurchaseMailOrdered"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_PurchaseMailOrdered.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_PurchaseMailOrdered.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_PurchaseMailOrdered.prototype.function = undefined; +timapi.protocol.sixml.Response_PurchaseMailOrdered.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_PurchaseMailOrdered.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_PurchaseMailOrdered.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_PurchaseMailOrdered.prototype.transactionInformation = undefined; +timapi.protocol.sixml.Response_PurchaseMailOrdered.prototype.amount = undefined; +timapi.protocol.sixml.Response_PurchaseMailOrdered.prototype.amountDue = undefined; +timapi.protocol.sixml.Response_PurchaseMailOrdered.prototype.amountDcc = undefined; +timapi.protocol.sixml.Response_PurchaseMailOrdered.prototype.amountSaldo = undefined; +timapi.protocol.sixml.Response_PurchaseMailOrdered.prototype.dccDisclaimer = undefined; +timapi.protocol.sixml.Response_PurchaseMailOrdered.prototype.disclaimer = undefined; +timapi.protocol.sixml.Response_PurchaseMailOrdered.prototype.cardData = undefined; +timapi.protocol.sixml.Response_PurchaseMailOrdered.prototype.printData = undefined; +timapi.protocol.sixml.Response_PurchaseMailOrdered.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.transactionInformation != undefined) { + this.xmlAddChild(node, "sixml:TransactionInformation", this.transactionInformation); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.amountDue != undefined) { + this.xmlAddChild(node, "sixml:AmountDue", this.amountDue); + } + if (this.amountDcc != undefined) { + this.xmlAddChild(node, "sixml:AmountDcc", this.amountDcc); + } + if (this.amountSaldo != undefined) { + this.xmlAddChild(node, "sixml:AmountSaldo", this.amountSaldo); + } + if (this.dccDisclaimer != undefined) { + this.xmlAddChild(node, "sixml:DccDisclaimer", this.dccDisclaimer); + } + if (this.disclaimer != undefined) { + this.xmlAddChild(node, "sixml:Disclaimer", this.disclaimer); + } + if (this.cardData != undefined) { + this.xmlAddChild(node, "sixml:CardData", this.cardData); + } + if (this.printData != undefined) { + this.xmlAddChild(node, "sixml:PrintData", this.printData); + } + return node; +}; +timapi.protocol.sixml.Response_PurchasePhoneOrdered = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_PurchasePhoneOrdered) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.transactionInformation = value.transactionInformation ? new timapi.protocol.sixml.TransactionInformation(value.transactionInformation) : undefined; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.amountDue = value.amountDue ? new timapi.protocol.sixml.AmountDue(value.amountDue) : undefined; + this.amountDcc = value.amountDcc ? new timapi.protocol.sixml.AmountDcc(value.amountDcc) : undefined; + this.amountSaldo = value.amountSaldo ? new timapi.protocol.sixml.AmountSaldo(value.amountSaldo) : undefined; + this.dccDisclaimer = value.dccDisclaimer; + this.disclaimer = value.disclaimer; + this.cardData = value.cardData ? new timapi.protocol.sixml.CardData(value.cardData) : undefined; + this.printData = value.printData ? new timapi.protocol.sixml.PrintData(value.printData) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:TransactionInformation")) { + this.transactionInformation = new timapi.protocol.sixml.TransactionInformation(this.xmlGetChild(node, "sixml:TransactionInformation")); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:AmountDue")) { + this.amountDue = new timapi.protocol.sixml.AmountDue(this.xmlGetChild(node, "sixml:AmountDue")); + } + if (this.xmlHasChild(node, "sixml:AmountDcc")) { + this.amountDcc = new timapi.protocol.sixml.AmountDcc(this.xmlGetChild(node, "sixml:AmountDcc")); + } + if (this.xmlHasChild(node, "sixml:AmountSaldo")) { + this.amountSaldo = new timapi.protocol.sixml.AmountSaldo(this.xmlGetChild(node, "sixml:AmountSaldo")); + } + if (this.xmlHasChild(node, "sixml:DccDisclaimer")) { + this.dccDisclaimer = this.xmlGetChild(node, "sixml:DccDisclaimer").textContent; + } + if (this.xmlHasChild(node, "sixml:Disclaimer")) { + this.disclaimer = this.xmlGetChild(node, "sixml:Disclaimer").textContent; + } + if (this.xmlHasChild(node, "sixml:CardData")) { + this.cardData = new timapi.protocol.sixml.CardData(this.xmlGetChild(node, "sixml:CardData")); + } + if (this.xmlHasChild(node, "sixml:PrintData")) { + this.printData = new timapi.protocol.sixml.PrintData(this.xmlGetChild(node, "sixml:PrintData")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "PurchasePhoneOrdered"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_PurchasePhoneOrdered.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_PurchasePhoneOrdered.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_PurchasePhoneOrdered.prototype.function = undefined; +timapi.protocol.sixml.Response_PurchasePhoneOrdered.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_PurchasePhoneOrdered.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_PurchasePhoneOrdered.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_PurchasePhoneOrdered.prototype.transactionInformation = undefined; +timapi.protocol.sixml.Response_PurchasePhoneOrdered.prototype.amount = undefined; +timapi.protocol.sixml.Response_PurchasePhoneOrdered.prototype.amountDue = undefined; +timapi.protocol.sixml.Response_PurchasePhoneOrdered.prototype.amountDcc = undefined; +timapi.protocol.sixml.Response_PurchasePhoneOrdered.prototype.amountSaldo = undefined; +timapi.protocol.sixml.Response_PurchasePhoneOrdered.prototype.dccDisclaimer = undefined; +timapi.protocol.sixml.Response_PurchasePhoneOrdered.prototype.disclaimer = undefined; +timapi.protocol.sixml.Response_PurchasePhoneOrdered.prototype.cardData = undefined; +timapi.protocol.sixml.Response_PurchasePhoneOrdered.prototype.printData = undefined; +timapi.protocol.sixml.Response_PurchasePhoneOrdered.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.transactionInformation != undefined) { + this.xmlAddChild(node, "sixml:TransactionInformation", this.transactionInformation); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.amountDue != undefined) { + this.xmlAddChild(node, "sixml:AmountDue", this.amountDue); + } + if (this.amountDcc != undefined) { + this.xmlAddChild(node, "sixml:AmountDcc", this.amountDcc); + } + if (this.amountSaldo != undefined) { + this.xmlAddChild(node, "sixml:AmountSaldo", this.amountSaldo); + } + if (this.dccDisclaimer != undefined) { + this.xmlAddChild(node, "sixml:DccDisclaimer", this.dccDisclaimer); + } + if (this.disclaimer != undefined) { + this.xmlAddChild(node, "sixml:Disclaimer", this.disclaimer); + } + if (this.cardData != undefined) { + this.xmlAddChild(node, "sixml:CardData", this.cardData); + } + if (this.printData != undefined) { + this.xmlAddChild(node, "sixml:PrintData", this.printData); + } + return node; +}; +timapi.protocol.sixml.Response_PurchaseReservationPhoneAuthorized = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_PurchaseReservationPhoneAuthorized) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.amount = value.amount ? new timapi.protocol.sixml.Amount(value.amount) : undefined; + this.amountDcc = value.amountDcc ? new timapi.protocol.sixml.AmountDcc(value.amountDcc) : undefined; + this.amountTip = value.amountTip ? new timapi.protocol.sixml.AmountTip(value.amountTip) : undefined; + this.amountDue = value.amountDue ? new timapi.protocol.sixml.AmountDue(value.amountDue) : undefined; + this.transactionInformation = value.transactionInformation ? new timapi.protocol.sixml.TransactionInformation(value.transactionInformation) : undefined; + this.dccDisclaimer = value.dccDisclaimer; + this.disclaimer = value.disclaimer; + this.cardData = value.cardData ? new timapi.protocol.sixml.CardData(value.cardData) : undefined; + this.printData = value.printData ? new timapi.protocol.sixml.PrintData(value.printData) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:Amount")) { + this.amount = new timapi.protocol.sixml.Amount(this.xmlGetChild(node, "sixml:Amount")); + } + if (this.xmlHasChild(node, "sixml:AmountDcc")) { + this.amountDcc = new timapi.protocol.sixml.AmountDcc(this.xmlGetChild(node, "sixml:AmountDcc")); + } + if (this.xmlHasChild(node, "sixml:AmountTip")) { + this.amountTip = new timapi.protocol.sixml.AmountTip(this.xmlGetChild(node, "sixml:AmountTip")); + } + if (this.xmlHasChild(node, "sixml:AmountDue")) { + this.amountDue = new timapi.protocol.sixml.AmountDue(this.xmlGetChild(node, "sixml:AmountDue")); + } + if (this.xmlHasChild(node, "sixml:TransactionInformation")) { + this.transactionInformation = new timapi.protocol.sixml.TransactionInformation(this.xmlGetChild(node, "sixml:TransactionInformation")); + } + if (this.xmlHasChild(node, "sixml:DccDisclaimer")) { + this.dccDisclaimer = this.xmlGetChild(node, "sixml:DccDisclaimer").textContent; + } + if (this.xmlHasChild(node, "sixml:Disclaimer")) { + this.disclaimer = this.xmlGetChild(node, "sixml:Disclaimer").textContent; + } + if (this.xmlHasChild(node, "sixml:CardData")) { + this.cardData = new timapi.protocol.sixml.CardData(this.xmlGetChild(node, "sixml:CardData")); + } + if (this.xmlHasChild(node, "sixml:PrintData")) { + this.printData = new timapi.protocol.sixml.PrintData(this.xmlGetChild(node, "sixml:PrintData")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "FinTransaction"; + this.function = "PurchaseReservationPhoneAuthorized"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_PurchaseReservationPhoneAuthorized.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_PurchaseReservationPhoneAuthorized.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_PurchaseReservationPhoneAuthorized.prototype.function = undefined; +timapi.protocol.sixml.Response_PurchaseReservationPhoneAuthorized.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_PurchaseReservationPhoneAuthorized.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_PurchaseReservationPhoneAuthorized.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_PurchaseReservationPhoneAuthorized.prototype.amount = undefined; +timapi.protocol.sixml.Response_PurchaseReservationPhoneAuthorized.prototype.amountDcc = undefined; +timapi.protocol.sixml.Response_PurchaseReservationPhoneAuthorized.prototype.amountTip = undefined; +timapi.protocol.sixml.Response_PurchaseReservationPhoneAuthorized.prototype.amountDue = undefined; +timapi.protocol.sixml.Response_PurchaseReservationPhoneAuthorized.prototype.transactionInformation = undefined; +timapi.protocol.sixml.Response_PurchaseReservationPhoneAuthorized.prototype.dccDisclaimer = undefined; +timapi.protocol.sixml.Response_PurchaseReservationPhoneAuthorized.prototype.disclaimer = undefined; +timapi.protocol.sixml.Response_PurchaseReservationPhoneAuthorized.prototype.cardData = undefined; +timapi.protocol.sixml.Response_PurchaseReservationPhoneAuthorized.prototype.printData = undefined; +timapi.protocol.sixml.Response_PurchaseReservationPhoneAuthorized.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.amount != undefined) { + this.xmlAddChild(node, "sixml:Amount", this.amount); + } + if (this.amountDcc != undefined) { + this.xmlAddChild(node, "sixml:AmountDcc", this.amountDcc); + } + if (this.amountTip != undefined) { + this.xmlAddChild(node, "sixml:AmountTip", this.amountTip); + } + if (this.amountDue != undefined) { + this.xmlAddChild(node, "sixml:AmountDue", this.amountDue); + } + if (this.transactionInformation != undefined) { + this.xmlAddChild(node, "sixml:TransactionInformation", this.transactionInformation); + } + if (this.dccDisclaimer != undefined) { + this.xmlAddChild(node, "sixml:DccDisclaimer", this.dccDisclaimer); + } + if (this.disclaimer != undefined) { + this.xmlAddChild(node, "sixml:Disclaimer", this.disclaimer); + } + if (this.cardData != undefined) { + this.xmlAddChild(node, "sixml:CardData", this.cardData); + } + if (this.printData != undefined) { + this.xmlAddChild(node, "sixml:PrintData", this.printData); + } + return node; +}; +timapi.protocol.sixml.Response_SendCardCommand = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_SendCardCommand) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + this.commandResponseList = value.commandResponseList ? new timapi.protocol.sixml.CommandResponseList(value.commandResponseList) : undefined; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + if (this.xmlHasChild(node, "sixml:CommandResponseList")) { + this.commandResponseList = new timapi.protocol.sixml.CommandResponseList(this.xmlGetChild(node, "sixml:CommandResponseList")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "Dialog"; + this.function = "SendCardCommand"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_SendCardCommand.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_SendCardCommand.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_SendCardCommand.prototype.function = undefined; +timapi.protocol.sixml.Response_SendCardCommand.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_SendCardCommand.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_SendCardCommand.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_SendCardCommand.prototype.commandResponseList = undefined; +timapi.protocol.sixml.Response_SendCardCommand.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + if (this.commandResponseList != undefined) { + this.xmlAddChild(node, "sixml:CommandResponseList", this.commandResponseList); + } + return node; +}; +timapi.protocol.sixml.Response_StartCheckout = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.Response_StartCheckout) { + var value = a; + this.functionGroup = value.functionGroup; + this.function = value.function; + this.sequenceNumber = value.sequenceNumber; + this.resultCode = value.resultCode; + this.timeStamp = value.timeStamp; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + if (this.xmlHasAttribute(node, "FunctionGroup")) { + this.functionGroup = this.xmlGetAttribute(node, "FunctionGroup"); + } + if (this.xmlHasAttribute(node, "Function")) { + this.function = this.xmlGetAttribute(node, "Function"); + } + if (this.xmlHasAttribute(node, "SequenceNumber")) { + this.sequenceNumber = (this.xmlGetAttribute(node, "SequenceNumber") ? parseInt(this.xmlGetAttribute(node, "SequenceNumber")) : 0); + } + if (this.xmlHasAttribute(node, "ResultCode")) { + this.resultCode = (this.xmlGetAttribute(node, "ResultCode") ? parseInt(this.xmlGetAttribute(node, "ResultCode")) : 0); + } + if (this.xmlHasAttribute(node, "TimeStamp")) { + this.timeStamp = new timapi.protocol.TimeDate("yyyyMMdd'T'HHmmssZ", this.xmlGetAttribute(node, "TimeStamp")); + } + return; + } + if (arguments.length == 0) { + this.functionGroup = "NonFinTransaction"; + this.function = "StartCheckout"; + return; + } + throw new Error("Invalid argument"); +}; +timapi.protocol.sixml.Response_StartCheckout.prototype = Object.create(timapi.protocol.Message.prototype); +timapi.protocol.sixml.Response_StartCheckout.prototype.functionGroup = undefined; +timapi.protocol.sixml.Response_StartCheckout.prototype.function = undefined; +timapi.protocol.sixml.Response_StartCheckout.prototype.sequenceNumber = undefined; +timapi.protocol.sixml.Response_StartCheckout.prototype.resultCode = undefined; +timapi.protocol.sixml.Response_StartCheckout.prototype.timeStamp = undefined; +timapi.protocol.sixml.Response_StartCheckout.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:Response"); + this.xmlSetAttribute(node, "xmlns:sixml", "http://www.six-payment-services.com/"); + if (this.functionGroup != undefined) { + this.xmlSetAttribute(node, "FunctionGroup", this.functionGroup); + } + if (this.function != undefined) { + this.xmlSetAttribute(node, "Function", this.function); + } + if (this.sequenceNumber != undefined) { + this.xmlSetAttribute(node, "SequenceNumber", timapi.utils.StringHelper.makeString(this.sequenceNumber)); + } + if (this.resultCode != undefined) { + this.xmlSetAttribute(node, "ResultCode", timapi.utils.StringHelper.makeString(this.resultCode)); + } + if (this.timeStamp != undefined) { + this.xmlSetAttribute(node, "TimeStamp", this.timeStamp.format("yyyyMMdd'T'HHmmssZ")); + } + return node; +}; +timapi.protocol.sixml.UnitAmountDiscount = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.UnitAmountDiscount) { + var value = a; + this.value = value.value; + this.currency = value.currency; + this.exponent = value.exponent; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + this.value = (node.textContent ? parseInt(node.textContent) : 0); + if (this.xmlHasAttribute(node, "Currency")) { + this.currency = this.xmlGetAttribute(node, "Currency"); + } + if (this.xmlHasAttribute(node, "Exponent")) { + this.exponent = (this.xmlGetAttribute(node, "Exponent") ? parseInt(this.xmlGetAttribute(node, "Exponent")) : 0); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.UnitAmountDiscount.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.UnitAmountDiscount.prototype.value = 0; +timapi.protocol.sixml.UnitAmountDiscount.prototype.currency = undefined; +timapi.protocol.sixml.UnitAmountDiscount.prototype.exponent = undefined; +timapi.protocol.sixml.UnitAmountDiscount.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:UnitAmountDiscount"); + node.textContent = timapi.utils.StringHelper.makeString(this.value); + if (this.currency != undefined) { + this.xmlSetAttribute(node, "Currency", this.currency); + } + if (this.exponent != undefined) { + this.xmlSetAttribute(node, "Exponent", timapi.utils.StringHelper.makeString(this.exponent)); + } + return node; +}; +timapi.protocol.sixml.UnitAmountGross = function (a) { + if (arguments.length == 1 && a instanceof timapi.protocol.sixml.UnitAmountGross) { + var value = a; + this.value = value.value; + this.currency = value.currency; + this.exponent = value.exponent; + return; + } + if (arguments.length == 1 && a instanceof timapi.protocol.XmlNode) { + var node = a; + this.value = (node.textContent ? parseInt(node.textContent) : 0); + if (this.xmlHasAttribute(node, "Currency")) { + this.currency = this.xmlGetAttribute(node, "Currency"); + } + if (this.xmlHasAttribute(node, "Exponent")) { + this.exponent = (this.xmlGetAttribute(node, "Exponent") ? parseInt(this.xmlGetAttribute(node, "Exponent")) : 0); + } + return; + } + if (arguments.length != 0) { + throw new Error("Invalid argument"); + } +}; +timapi.protocol.sixml.UnitAmountGross.prototype = Object.create(timapi.protocol.Container.prototype); +timapi.protocol.sixml.UnitAmountGross.prototype.value = 0; +timapi.protocol.sixml.UnitAmountGross.prototype.currency = undefined; +timapi.protocol.sixml.UnitAmountGross.prototype.exponent = undefined; +timapi.protocol.sixml.UnitAmountGross.prototype.toXmlNode = function () { + var node = new timapi.protocol.XmlNode("sixml:UnitAmountGross"); + node.textContent = timapi.utils.StringHelper.makeString(this.value); + if (this.currency != undefined) { + this.xmlSetAttribute(node, "Currency", this.currency); + } + if (this.exponent != undefined) { + this.xmlSetAttribute(node, "Exponent", timapi.utils.StringHelper.makeString(this.exponent)); + } + return node; +}; +timapi.statemachine.states.CommandFinishedInClosed = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.CommandFinishedInClosed.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.CommandFinishedInClosed.loggerName = "timapi.statemachine.states.CommandFinishedInClosed"; +timapi.statemachine.states.CommandFinishedInClosed.classname = "CommandFinishedInClosed"; +timapi.statemachine.states.CommandFinishedInClosed.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.CommandFinishedInClosed.loggerName); +timapi.statemachine.states.CommandFinishedInClosed.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + if (this.context.conditionIsEnabledAutoActivate()) { + try { + this.context.actionActivate(); + } + catch (e) { + timapi.statemachine.states.CommandFinishedInClosed.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.LoggedIn(this.context)); + return; + } + this.context.setState(new timapi.statemachine.states.Activating(this.context)); + return; + } + this.context.setState(new timapi.statemachine.states.LoggedIn(this.context)); +}; +timapi.statemachine.states.CommandFinishedInOpen = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.CommandFinishedInOpen.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.CommandFinishedInOpen.loggerName = "timapi.statemachine.states.CommandFinishedInOpen"; +timapi.statemachine.states.CommandFinishedInOpen.classname = "CommandFinishedInOpen"; +timapi.statemachine.states.CommandFinishedInOpen.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.CommandFinishedInOpen.loggerName); +timapi.statemachine.states.CommandFinishedInOpen.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + if (this.context.conditionIsEnabledAutoDeactivate()) { + try { + this.context.actionDeactivate(); + } + catch (e) { + timapi.statemachine.states.CommandFinishedInOpen.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.Open(this.context)); + return; + } + this.context.setState(new timapi.statemachine.states.Deactivating(this.context)); + return; + } + this.context.setState(new timapi.statemachine.states.Open(this.context)); +}; +timapi.statemachine.states.WaitBalanceInquiry = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.WaitBalanceInquiry.loggerName = "timapi.statemachine.states.WaitBalanceInquiry"; +timapi.statemachine.states.WaitBalanceInquiry.classname = "WaitBalanceInquiry"; +timapi.statemachine.states.WaitBalanceInquiry.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.WaitBalanceInquiry.loggerName); +timapi.statemachine.states.WaitBalanceInquiry.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + this.context.actionClearPendingEvent(); +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.activate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.applicationInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.balance = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.cancel = function () { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.changeSettings = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.commit = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.connect = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.counterRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.deactivate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.disconnect = function () { + this.context.actionSendErrorResponseDisconnect(); + this.context.actionClearPendingEvent(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.dccRates = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.hardwareInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.initTransaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.login = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.logout = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.reboot = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.reconciliation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.receiptRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.reconfig = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.rollback = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.softwareUpdate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.systemInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.transaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.connected = function () { +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.connectFailed = function () { + this.context.actionClearPendingEvent(); + this.context.setState(new timapi.statemachine.states.ErrorState(this.context)); +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.responseRequest = function () { + this.context.actionProcessResponseBalanceInquiry(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.responseError = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.responseBusy = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.timeout = function () { + this.context.actionErrorTimeout(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.keepAliveTimeout = function () { + try { + this.context.actionErrorConnectionLost(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } + catch (e) { + timapi.statemachine.states.WaitBalanceInquiry.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.closeReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.openReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.ejectCard = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.openMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.closeMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.activateServiceMenu = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.balanceInquiry = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.openDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.closeDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.showSignatureCapture = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.showDialog = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitBalanceInquiry.prototype.sendCardCommand = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestClosed = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.WaitReceiptRequestClosed.loggerName = "timapi.statemachine.states.WaitReceiptRequestClosed"; +timapi.statemachine.states.WaitReceiptRequestClosed.classname = "WaitReceiptRequestClosed"; +timapi.statemachine.states.WaitReceiptRequestClosed.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.WaitReceiptRequestClosed.loggerName); +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + this.context.actionClearPendingEvent(); +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.activate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.applicationInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.balance = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.cancel = function () { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.changeSettings = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.commit = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.connect = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.counterRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.deactivate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.disconnect = function () { + this.context.actionSendErrorResponseDisconnect(); + this.context.actionClearPendingEvent(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.dccRates = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.hardwareInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.initTransaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.login = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.logout = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.reboot = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.reconciliation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.receiptRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.reconfig = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.rollback = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.softwareUpdate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.systemInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.transaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.connected = function () { +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.connectFailed = function () { + this.context.actionClearPendingEvent(); + this.context.setState(new timapi.statemachine.states.ErrorState(this.context)); +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.responseRequest = function () { + this.context.actionProcessResponseReceiptRequest(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.responseError = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.responseBusy = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.timeout = function () { + this.context.actionErrorTimeout(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInClosed(this.context)); +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.keepAliveTimeout = function () { + try { + this.context.actionErrorConnectionLost(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } + catch (e) { + timapi.statemachine.states.WaitReceiptRequestClosed.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.closeReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.openReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.ejectCard = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.openMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.closeMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.activateServiceMenu = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.balanceInquiry = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.openDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.closeDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.showSignatureCapture = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.showDialog = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestClosed.prototype.sendCardCommand = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestOpen = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.WaitReceiptRequestOpen.loggerName = "timapi.statemachine.states.WaitReceiptRequestOpen"; +timapi.statemachine.states.WaitReceiptRequestOpen.classname = "WaitReceiptRequestOpen"; +timapi.statemachine.states.WaitReceiptRequestOpen.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.WaitReceiptRequestOpen.loggerName); +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + this.context.actionClearPendingEvent(); +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.activate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.applicationInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.balance = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.cancel = function () { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.changeSettings = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.commit = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.connect = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.counterRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.deactivate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.disconnect = function () { + this.context.actionSendErrorResponseDisconnect(); + this.context.actionClearPendingEvent(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.dccRates = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.hardwareInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.initTransaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.login = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.logout = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.reboot = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.reconciliation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.receiptRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.reconfig = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.rollback = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.softwareUpdate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.systemInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.transaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.connected = function () { +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.connectFailed = function () { + this.context.actionClearPendingEvent(); + this.context.setState(new timapi.statemachine.states.ErrorState(this.context)); +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.responseRequest = function () { + this.context.actionProcessResponseReceiptRequest(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.responseError = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.responseBusy = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.timeout = function () { + this.context.actionErrorTimeout(); + this.context.setState(new timapi.statemachine.states.CommandFinishedInOpen(this.context)); +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.keepAliveTimeout = function () { + try { + this.context.actionErrorConnectionLost(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } + catch (e) { + timapi.statemachine.states.WaitReceiptRequestOpen.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.closeReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.openReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.ejectCard = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.openMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.closeMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.activateServiceMenu = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.balanceInquiry = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.openDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.closeDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.showSignatureCapture = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.showDialog = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitReceiptRequestOpen.prototype.sendCardCommand = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSendCardCommand = function (context) { + timapi.statemachine.states.DefaultState.call(this, context); +}; +timapi.statemachine.states.WaitSendCardCommand.prototype = Object.create(timapi.statemachine.states.DefaultState.prototype); +timapi.statemachine.states.WaitSendCardCommand.loggerName = "timapi.statemachine.states.WaitSendCardCommand"; +timapi.statemachine.states.WaitSendCardCommand.classname = "WaitSendCardCommand"; +timapi.statemachine.states.WaitSendCardCommand.logger = timapi.logging.Logger.getLogger(timapi.statemachine.states.WaitSendCardCommand.loggerName); +timapi.statemachine.states.WaitSendCardCommand.prototype.enterState = function () { + timapi.statemachine.states.DefaultState.prototype.enterState.call(this); + this.context.actionClearPendingEvent(); +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.activate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.applicationInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.balance = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.cancel = function () { + this.context.actionClearPendingCancel(); + this.context.actionCancel(); +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.changeSettings = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.commit = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.connect = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.counterRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.deactivate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.disconnect = function () { + this.context.actionSendErrorResponseDisconnect(); + this.context.actionClearPendingEvent(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.dccRates = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.hardwareInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.initTransaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.login = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.logout = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.reboot = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.reconciliation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.receiptRequest = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.reconfig = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.rollback = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.softwareUpdate = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.systemInformation = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.transaction = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.connected = function () { +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.connectFailed = function () { + this.context.actionClearPendingEvent(); + this.context.setState(new timapi.statemachine.states.ErrorState(this.context)); +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.responseRequest = function () { + this.context.actionProcessResponseSendCardCommand(); + this.context.setState(new timapi.statemachine.states.DialogMode(this.context)); +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.responseError = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.DialogMode(this.context)); +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.responseBusy = function () { + this.context.actionClearPendingEvent(); + this.context.actionProcessResponseError(); + this.context.setState(new timapi.statemachine.states.DialogMode(this.context)); +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.timeout = function () { + this.context.actionErrorTimeout(); + this.context.setState(new timapi.statemachine.states.DialogMode(this.context)); +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.keepAliveTimeout = function () { + try { + this.context.actionErrorConnectionLost(); + this.context.actionDisconnect(); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } + catch (e) { + timapi.statemachine.states.WaitSendCardCommand.logger.log(timapi.logging.Level.severe, "Exception", e); + this.context.setState(new timapi.statemachine.states.Disconnected(this.context)); + } +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.closeReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.openReader = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.ejectCard = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.openMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.closeMaintenanceWindow = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.activateServiceMenu = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.balanceInquiry = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.openDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.closeDialogMode = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.showSignatureCapture = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.showDialog = function () { + this.context.actionErrorRequestInProgress(); +}; +timapi.statemachine.states.WaitSendCardCommand.prototype.sendCardCommand = function () { + this.context.actionErrorRequestInProgress(); +}; +var timapi; +(function (timapi) { + let Condition; + (function (Condition) { + Condition[Condition["NONE"] = 0] = "NONE"; + Condition[Condition["ECR_INFO"] = 1] = "ECR_INFO"; + Condition[Condition["EFT_INFO"] = 2] = "EFT_INFO"; + Condition[Condition["SIGNATURE"] = 3] = "SIGNATURE"; + })(Condition = timapi.Condition || (timapi.Condition = {})); +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class LineFormat { + constructor(conditionOrElements, elementsOrPadding, padding) { + this.padding = " "; + this.condition = timapi.Condition.NONE; + this.elements = new Array(); + if (padding !== undefined && padding !== undefined) { + this.padding = padding; + } + else { + this.padding = " "; + } + if (elementsOrPadding !== undefined && elementsOrPadding !== undefined) { + if (elementsOrPadding instanceof Array) { + this.elements = elementsOrPadding.slice(); + } + else if (typeof elementsOrPadding === "string") { + this.padding = elementsOrPadding; + } + } + if (conditionOrElements !== undefined && conditionOrElements !== undefined) { + if (conditionOrElements instanceof Array) { + this.elements = conditionOrElements.slice(); + } + else { + this.condition = conditionOrElements; + } + } + } + get $elements() { + return this.elements; + } + get $padding() { + return this.padding; + } + get $condition() { + return this.condition; + } + } + timapi.LineFormat = LineFormat; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + let TextAlignment; + (function (TextAlignment) { + TextAlignment[TextAlignment["left"] = 0] = "left"; + TextAlignment[TextAlignment["right"] = 1] = "right"; + TextAlignment[TextAlignment["center"] = 2] = "center"; + })(TextAlignment = timapi.TextAlignment || (timapi.TextAlignment = {})); +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + class TextElement { + constructor(textOrType, alignment) { + if (typeof textOrType === "string") { + this.type = timapi.TextType.text; + this.text = textOrType; + } + else { + this.alignment = alignment; + this.type = textOrType; + this.text = ""; + } + } + get $type() { + return this.type; + } + get $alignment() { + return this.alignment; + } + get $text() { + return this.text; + } + } + timapi.TextElement = TextElement; +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + let TextType; + (function (TextType) { + TextType[TextType["text"] = 0] = "text"; + TextType[TextType["userId"] = 1] = "userId"; + TextType[TextType["posId"] = 2] = "posId"; + TextType[TextType["transactionType"] = 3] = "transactionType"; + TextType[TextType["fieldActId"] = 4] = "fieldActId"; + TextType[TextType["fieldAccPer"] = 5] = "fieldAccPer"; + TextType[TextType["fieldAcqId"] = 6] = "fieldAcqId"; + TextType[TextType["fieldAid"] = 7] = "fieldAid"; + TextType[TextType["fieldAmount"] = 8] = "fieldAmount"; + TextType[TextType["fieldAmountDcc"] = 9] = "fieldAmountDcc"; + TextType[TextType["fieldAmountOther"] = 10] = "fieldAmountOther"; + TextType[TextType["fieldAuthCode"] = 11] = "fieldAuthCode"; + TextType[TextType["fieldBrandName"] = 12] = "fieldBrandName"; + TextType[TextType["fieldCurrency"] = 13] = "fieldCurrency"; + TextType[TextType["fieldCurrencyDcc"] = 14] = "fieldCurrencyDcc"; + TextType[TextType["fieldDccDisclaimer"] = 15] = "fieldDccDisclaimer"; + TextType[TextType["fieldDisclaimer"] = 16] = "fieldDisclaimer"; + TextType[TextType["fieldExponent"] = 17] = "fieldExponent"; + TextType[TextType["fieldExponentDcc"] = 18] = "fieldExponentDcc"; + TextType[TextType["fieldMarkupDcc"] = 19] = "fieldMarkupDcc"; + TextType[TextType["fieldMarkupExponentDcc"] = 20] = "fieldMarkupExponentDcc"; + TextType[TextType["fieldCardNumberPrintableMerchant"] = 21] = "fieldCardNumberPrintableMerchant"; + TextType[TextType["fieldCardNumberPrintableCardholder"] = 22] = "fieldCardNumberPrintableCardholder"; + TextType[TextType["fieldRateDcc"] = 23] = "fieldRateDcc"; + TextType[TextType["fieldRateExponentDcc"] = 24] = "fieldRateExponentDcc"; + TextType[TextType["fieldTimeStampDate"] = 25] = "fieldTimeStampDate"; + TextType[TextType["fieldTimeStampTime"] = 26] = "fieldTimeStampTime"; + TextType[TextType["fieldTrmId"] = 27] = "fieldTrmId"; + TextType[TextType["fieldTrxRefNum"] = 28] = "fieldTrxRefNum"; + TextType[TextType["fieldTrxSeqCnt"] = 29] = "fieldTrxSeqCnt"; + TextType[TextType["fieldPosEntryMode"] = 30] = "fieldPosEntryMode"; + TextType[TextType["fieldCardExpiryDate"] = 31] = "fieldCardExpiryDate"; + TextType[TextType["fieldCardNumberEnc"] = 32] = "fieldCardNumberEnc"; + TextType[TextType["fieldAmountSaldo"] = 33] = "fieldAmountSaldo"; + TextType[TextType["fieldEctSeqCnt"] = 34] = "fieldEctSeqCnt"; + })(TextType = timapi.TextType || (timapi.TextType = {})); +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + var statemachine; + (function (statemachine) { + var sixml; + (function (sixml) { + class ConvertSIXml2TimApi { + static convertPrintData(printData) { + let timReceipts = new Array(); + let timItemsItems = new Array(); + for (let receipt of printData.receipt) { + timReceipts.push(new timapi.Receipt(timapi.protocol.constants.Recipient.protocol2TimApi(receipt.recipient), receipt.value)); + } + for (let items of printData.receiptItems) { + let timItems = new Array(); + for (let item of items.receiptItem) { + timItems.push(new timapi.ReceiptItem(timapi.protocol.constants.ReceiptItemType.protocol2TimApi(item.receiptItemType), timapi.protocol.constants.Recipient.protocol2TimApi(item.recipient), item.value)); + } + timItemsItems.push(new timapi.ReceiptItems(timapi.protocol.constants.ReceiptType.protocol2TimApi(items.receiptType), timItems)); + } + return new timapi.PrintData(timReceipts, timItemsItems); + } + static convertPrintDataOrNull(printData) { + if (printData == undefined) { + return undefined; + } + else { + return this.convertPrintData(printData); + } + } + static convertAdditionalInfo(list) { + let timList = new Map(); + for (let item of list.AdditionalInfoItem) { + timList.set(item.iItemTextcode, item.value); + } + return timList; + } + static convertAdditionalInfoOrEmpty(list) { + if (list == undefined) { + return new Map(); + } + else { + return this.convertAdditionalInfo(list); + } + } + static convertBasket(basket) { + let timList = new Array(); + for (let item of basket.item) { + let timItem = new timapi.BasketItem(); + timItem.$amountDiscount(this.convertAmountDiscountOrNull(item.amountDiscount)); + timItem.$amountTax(this.convertAmount(item.amountTax)); + timItem.$amountTotal(this.convertAmount(item.amountTotal)); + timItem.$authResult(item.itemAuthResult); + timItem.$itemId(item.itemId); + timItem.$itemQuantity(this.convertItemQuantity(item.itemQuantity)); + timItem.$loyaltyAuthResult(item.loyaltyAuthResult); + timItem.$loyaltyId(item.loyaltyId); + timItem.$prodDescription(item.prodDescription); + timList.push(timItem); + } + return timList; + } + static convertBasketOrEmpty(basket) { + if (basket == undefined) { + return new Array(); + } + else { + return this.convertBasket(basket); + } + } + static convertItemQuantity(itemQuantity) { + return new timapi.ItemQuantity(itemQuantity.value, itemQuantity.exponent, itemQuantity.itemQuantityType); + } + static convertItemQuantityOrNull(itemQuantity) { + if (itemQuantity == undefined) { + return undefined; + } + else { + return this.convertItemQuantity(itemQuantity); + } + } + static convertCounters(counters) { + let timCounters = new Array(); + for (let counter of counters.counter) { + let timTotals = new Array(); + for (let total of counter.total) { + let currency = timapi.constants.Currency[total.currency]; + let timDetails = new Array(); + for (let detail of total.trxDetail) { + timDetails.push(new timapi.TrxDetail(detail.dccFlag, timapi.protocol.constants.TransactionType.protocol2TimApi(detail.transactionType), detail.count, new timapi.Amount(detail.amountSum, currency))); + } + timTotals.push(new timapi.Total(total.count, new timapi.Amount(total.amountSum, currency), timDetails)); + } + timCounters.push(new timapi.Counter(counter.brandName, timapi.constants.PaymentProtocol.ep2, counter.acqId, counter.count, counter.countDcc, counter.countForeign, timTotals)); + } + return new timapi.Counters(timapi.protocol.constants.CounterType.protocol2TimApi(counters.counterType), counters.actSeqCounter !== undefined ? counters.actSeqCounter : counters.periodSeqCounter, timCounters); + } + static convertCountersOrNull(counters) { + if (counters == undefined) { + return undefined; + } + else { + return this.convertCounters(counters); + } + } + static convertTimeDate(timeDate) { + return new timapi.TimeDate(timeDate.$year, timeDate.$month, timeDate.$day, timeDate.$hour, timeDate.$minute, timeDate.$second); + } + static convertTimeDateOrNull(timeDate) { + if (timeDate == undefined) { + return undefined; + } + else { + return this.convertTimeDate(timeDate); + } + } + static convertAmount(amount) { + return new timapi.Amount(amount.value, timapi.constants.Currency[amount.currency]); + } + static convertAmountDue(amount) { + return new timapi.Amount(amount.value, timapi.constants.Currency[amount.currency]); + } + static convertAmountTax(amount) { + return new timapi.Amount(amount.value, timapi.constants.Currency[amount.currency]); + } + static convertAmountTotal(amount) { + return new timapi.Amount(amount.value, timapi.constants.Currency[amount.currency]); + } + static convertAmountSaldo(amount) { + return new timapi.Amount(amount.value, timapi.constants.Currency[amount.currency]); + } + static convertAmountOrNull(amount) { + if (amount == undefined) { + return undefined; + } + else { + return this.convertAmount(amount); + } + } + static convertAmountDueOrNull(amount) { + if (amount == undefined) { + return undefined; + } + else { + return this.convertAmount(amount); + } + } + static convertAmountSaldoOrNull(amount) { + if (amount == undefined) { + return undefined; + } + else { + return this.convertAmount(amount); + } + } + static convertAmountDcc(amount) { + return new timapi.AmountDcc(amount.value, timapi.constants.Currency[amount.currency], amount.rate, amount.rateExponent, amount.markup, amount.markupExponent); + } + static convertAmountDccOrNull(amount) { + if (amount == undefined) { + return undefined; + } + else { + return this.convertAmountDcc(amount); + } + } + static convertAmountTip(amount) { + return new timapi.Amount(amount.value, timapi.constants.Currency[amount.currency]); + } + static convertAmountTipOrNull(amount) { + if (amount == undefined) { + return undefined; + } + else { + return this.convertAmountTip(amount); + } + } + static convertTransactionInformation(info, terminalId) { + return new timapi.TransactionInformation(info.posEntryMode ? timapi.protocol.constants.PosEntryMode.protocol2TimApi(info.posEntryMode) : undefined, info.cvm ? timapi.protocol.constants.Cvm.protocol2TimApi(info.cvm) : undefined, info.merchantAction ? timapi.protocol.constants.MerchantAction.protocol2TimApi(info.merchantAction) : undefined, info.authCode, this.convertTimeDateOrNull(info.timeStamp), info.transRef !== undefined ? info.transRef : undefined, info.transSeq !== undefined ? info.transSeq : undefined, info.acqId !== undefined ? info.acqId : 0, this.convertSignatureInformationOrNull(info.signatureInformation), info.trmTransRef, info.acqTransRef); + } + static convertTransactionInformationOrNull(info, terminaleId) { + if (info == undefined) { + return undefined; + } + else { + return this.convertTransactionInformation(info); + } + } + static convertAmountDiscount(amount) { + return new timapi.AmountDiscount(amount.value, timapi.constants.Currency[amount.currency], amount.discountId); + } + static convertAmountDiscountOrNull(amount) { + if (amount == undefined) { + return undefined; + } + else { + return this.convertAmountDiscount(amount); + } + } + static convertSignatureInformation(info) { + return new timapi.SignatureInformation(timapi.protocol.constants.ImageFileFormat.protocol2TimApi(info.imageFileFormat), info.imageWidth, info.imageHeight, info.value); + } + static convertSignatureInformationOrNull(info) { + if (info == undefined) { + return undefined; + } + else { + return this.convertSignatureInformation(info); + } + } + static convertCardData(cardData) { + let timTrackDatas = new Array(); + for (let trackData of cardData.cardTrackData) { + timTrackDatas.push(new timapi.CardTrackData(trackData.trackNum, trackData.value)); + } + let timLoyalityInfos = new Map(); + if (cardData.loyaltyInformationList !== undefined) { + for (let info of cardData.loyaltyInformationList.loyaltyInformation) { + timLoyalityInfos.set(info.loyaltyInfoType, info.value); + } + } + return new timapi.CardData(timapi.protocol.constants.PosEntryMode.protocol2TimApiIfValid(cardData.posEntryMode), cardData.aid, cardData.acc, cardData.cardNumber, cardData.cardNumberPrintable, cardData.cardNumberPrintableCardholder, cardData.cardNumberEnc, cardData.cardNumberEncKeyIndex !== undefined + ? cardData.cardNumberEncKeyIndex + : 0, this.convertTimeDateOrNull(cardData.cardExpiryDate), cardData.brandName, cardData.tenderName, timTrackDatas, timLoyalityInfos, cardData.cardRef, timapi.protocol.constants.ProcessingDisposition.protocol2TimApiIfValid(cardData.processingDisposition), cardData.language); + } + static convertCardDataOrNull(cardData) { + if (cardData == undefined) { + return undefined; + } + else { + return this.convertCardData(cardData); + } + } + static convertNativeErrorOrNull(nativeError) { + if (nativeError == undefined) { + return undefined; + } + else { + return this.convertNativeError(nativeError); + } + } + static convertNativeError(nativeError) { + return new timapi.NativeError(nativeError.errorMessage, nativeError.getErrorSource, nativeError.errorCode); + } + static convertPpInfoOrNull(ppInfo) { + if (ppInfo == undefined) { + return undefined; + } + else { + return this.convertPpInfo(ppInfo); + } + } + static convertPpInfo(ppInfo) { + return new timapi.PpInfo(timapi.protocol.constants.PaymentProtocol.protocol2TimApi(ppInfo.paymentProtocol), ppInfo.ppEp2TransSeqCntOrig, ppInfo.ppEp2AuthReslt, ppInfo.ppEp2AuthRespC); + } + static convertRequestShowSignatureCapture(request) { + let sixmlRequest = new timapi.protocol.sixml.Request_ShowSignatureCapture(); + sixmlRequest.setBrandBar(this.convertBrandBar(request.$brandMode, request.$brandBar)); + let sixmlSigData = new timapi.protocol.sixml.SignatureData(); + sixmlSigData.setBackgroundColor(this.convertColor(request.$backgroundColor)); + sixmlSigData.setImageFileFormat(timapi.protocol.constants.ImageFileFormat.protocol2TimApi(request.$imageFileFormat)); + sixmlSigData.setImageHeight(request.$imageFileHeight); + sixmlSigData.setImageWidth(request.$imageFileWidth); + if (request.$language != undefined) { + sixmlSigData.setLanguage(request.$language); + } + sixmlSigData.setResourceId(timapi.protocol.constants.ResourceId.protocol2TimApi(request.$resourceId)); + sixmlSigData.setSignatureColor(this.convertColor(request.$signatureColor)); + sixmlSigData.setTheme(timapi.protocol.constants.Theme.protocol2TimApi(request.$theme)); + sixmlSigData.setTimeout(request.$timeout); + if (request.$watermarkColor != undefined) { + sixmlSigData.setWatermarkColor(this.convertColor(request.$watermarkColor)); + } + if (request.$watermarkItems.length > 0) { + let sixmlWatermarkList = new timapi.protocol.sixml.WatermarkItemList(); + for (let each of request.$watermarkItems) { + sixmlWatermarkList.getWatermarkItem().push(each); + } + sixmlSigData.setWatermarkItemList(sixmlWatermarkList); + } + sixmlRequest.setSignatureData(sixmlSigData); + return sixmlRequest; + } + static convertBrandBar(mode, brands) { + let sixmlBrandBar = new timapi.protocol.sixml.BrandBar(); + sixmlBrandBar.setBrandMode(timapi.protocol.constants.BrandMode.protocol2TimApi(mode)); + if (mode === timapi.constants.BrandMode.selected) { + let string = new timapi.utils.StringBuilder(); + let addSeparator = false; + for (let each of brands) { + if (addSeparator) { + string.append(","); + } + addSeparator = true; + string.append(timapi.protocol.constants.BrandBarBrand.protocol2TimApi(each)); + } + sixmlBrandBar.setValue(timapi.utils.StringHelper.makeString(string)); + } + return sixmlBrandBar; + } + static convertColor(color) { + return color.$colorCode; + } + } + sixml.ConvertSIXml2TimApi = ConvertSIXml2TimApi; + })(sixml = statemachine.sixml || (statemachine.sixml = {})); + })(statemachine = timapi.statemachine || (timapi.statemachine = {})); +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + var statemachine; + (function (statemachine) { + var sixml; + (function (sixml) { + class ConvertTimApi2SIXml { + static convertSettings(settings) { + let sixmlSettingList = new timapi.protocol.sixml.SettingsList(); + for (let [key, value] of settings.entries()) { + let sixmlSetting = new timapi.protocol.sixml.Setting(); + sixmlSetting.settingType = timapi.protocol.constants.SettingType.timApi2Protocol(key); + sixmlSetting.value = value; + sixmlSettingList.setting.push(sixmlSetting); + } + return sixmlSettingList; + } + static convertTransactionRequest(terminal, request, type, guides) { + let data = request.$transactionData; + let hasGastro = guides.has(timapi.constants.Guides.gastro); + let hasPetrol = guides.has(timapi.constants.Guides.petrol); + let hasUnattendd = guides.has(timapi.constants.Guides.unattended); + switch (type) { + case timapi.constants.TransactionType.purchase: { + let sixmlRequest = new timapi.protocol.sixml.Request_Purchase(); + sixmlRequest.amount = this.convertAmount(request.$amount); + if (hasGastro && request.$tipAmount !== undefined) { + sixmlRequest.amountTip = this.convertAmountTip(request.$tipAmount); + } + if (request.$merchantOptions.length > 0) { + sixmlRequest.merchantOptionList = this.convertMerchantOptions(request.$merchantOptions); + } + if (data !== undefined) { + let sixmlData = new timapi.protocol.sixml.TransactionData(); + sixmlData.dccAllowed = data.$dccAllowed; + sixmlData.ecrSeqCounter = data.$ecrSeqCounter; + sixmlData.partialApprovalAllowed = data.$partialApprovalAllowed; + if (hasGastro) { + sixmlData.tipAllowed = data.$tipAllowed; + } + sixmlData.acqId = data.$acqId; + sixmlData.acqTransRef = data.$acqTransRef; + sixmlData.cardRef = data.$cardRef; + sixmlData.trmTransRef = data.$trmTransRef; + sixmlRequest.transactionData = sixmlData; + if (hasPetrol || hasUnattendd) { + sixmlRequest.language = data.$language; + } + } + sixmlRequest.usrId = request.$userId; + return sixmlRequest; + } + case timapi.constants.TransactionType.credit: { + let sixmlRequest = new timapi.protocol.sixml.Request_Credit(); + sixmlRequest.amount = this.convertAmount(request.$amount); + if (request.$merchantOptions.length > 0) { + sixmlRequest.merchantOptionList = this.convertMerchantOptions(request.$merchantOptions); + } + if (data !== undefined) { + let sixmlData = new timapi.protocol.sixml.TransactionData(); + sixmlData.ecrSeqCounter = data.$ecrSeqCounter; + sixmlData.transRef = data.$transRef; + if (data.$trxOriginalDate !== undefined) { + sixmlData.setTrxOriginalDate(this.convertTimeDate(data.$trxOriginalDate)); + } + sixmlData.acqId = data.$acqId; + sixmlData.acqTransRef = data.$acqTransRef; + sixmlData.cardRef = data.$cardRef; + sixmlData.trmTransRef = data.$trmTransRef; + sixmlRequest.transactionData = sixmlData; + } + sixmlRequest.usrId = request.$userId; + return sixmlRequest; + } + case timapi.constants.TransactionType.reversal: { + let sixmlRequest = new timapi.protocol.sixml.Request_Reversal(); + if (request.$merchantOptions.length > 0) { + sixmlRequest.merchantOptionList = this.convertMerchantOptions(request.$merchantOptions); + } + let sixmlData = new timapi.protocol.sixml.TransactionData(); + sixmlData.ecrSeqCounter = data.$ecrSeqCounter; + sixmlData.transSeq = data.$transSeq; + sixmlData.acqId = data.$acqId; + sixmlData.acqTransRef = data.$acqTransRef; + sixmlData.cardRef = data.$cardRef; + sixmlData.trmTransRef = data.$trmTransRef; + sixmlRequest.transactionData = sixmlData; + sixmlRequest.usrId = request.$userId; + return sixmlRequest; + } + case timapi.constants.TransactionType.preAuthorization: { + let sixmlRequest = new timapi.protocol.sixml + .Request_PreAuthorization(); + sixmlRequest.amount = this.convertAmount(request.$amount); + if (request.$merchantOptions.length > 0) { + sixmlRequest.merchantOptionList = this.convertMerchantOptions(request.$merchantOptions); + } + if (data !== undefined) { + let sixmlData = new timapi.protocol.sixml.TransactionData(); + sixmlData.dccAllowed = data.$dccAllowed; + sixmlData.ecrSeqCounter = data.$ecrSeqCounter; + sixmlData.partialApprovalAllowed = data.$partialApprovalAllowed; + sixmlData.acqId = data.$acqId; + sixmlData.acqTransRef = data.$acqTransRef; + sixmlData.cardRef = data.$cardRef; + sixmlData.trmTransRef = data.$trmTransRef; + sixmlRequest.transactionData = sixmlData; + if (hasPetrol || hasUnattendd) { + sixmlRequest.language = data.$language; + } + } + sixmlRequest.usrId = request.$userId; + return sixmlRequest; + } + case timapi.constants.TransactionType.finalizePurchase: { + let sixmlRequest = new timapi.protocol.sixml + .Request_FinalizePurchase(); + sixmlRequest.amount = this.convertAmount(request.$amount); + if (request.$additionalInfo.size > 0) { + sixmlRequest.additionalInfoList = this.convertAdditionalInfoList(request.$additionalInfo); + } + if (request.$basket.length > 0) { + sixmlRequest.basket = this.convertBasket(request.$basket); + } + if (data !== undefined) { + let sixmlData = new timapi.protocol.sixml.TransactionData(); + sixmlData.ecrSeqCounter = data.$ecrSeqCounter; + sixmlData.acqId = data.$acqId; + sixmlData.acqTransRef = data.$acqTransRef; + sixmlData.cardRef = data.$cardRef; + sixmlData.transRef = data.$transRef; + sixmlData.transSeq = data.$transSeq; + sixmlData.trmTransRef = data.$trmTransRef; + sixmlRequest.transactionData = sixmlData; + } + return sixmlRequest; + } + case timapi.constants.TransactionType.purchaseForcedAcceptance: { + let sixmlRequest = new timapi.protocol.sixml + .Request_PurchaseForcedAcceptance(); + sixmlRequest.amount = this.convertAmount(request.$amount); + if (request.$merchantOptions.length > 0) { + sixmlRequest.merchantOptionList = this.convertMerchantOptions(request.$merchantOptions); + } + if (data !== undefined) { + let sixmlData = new timapi.protocol.sixml.TransactionData(); + sixmlData.dccAllowed = data.$dccAllowed; + sixmlData.ecrSeqCounter = data.$ecrSeqCounter; + sixmlData.partialApprovalAllowed = data.$partialApprovalAllowed; + if (hasGastro) { + sixmlData.tipAllowed = data.$tipAllowed; + } + sixmlData.acqId = data.$acqId; + sixmlData.acqTransRef = data.$acqTransRef; + sixmlData.cardRef = data.$cardRef; + sixmlData.trmTransRef = data.$trmTransRef; + sixmlRequest.transactionData = sixmlData; + } + sixmlRequest.usrId = request.$userId; + return sixmlRequest; + } + case timapi.constants.TransactionType.cashAdvance: { + let sixmlRequest = new timapi.protocol.sixml.Request_CashAdvance(); + sixmlRequest.amount = this.convertAmount(request.$amount); + if (request.$merchantOptions.length > 0) { + sixmlRequest.merchantOptionList = this.convertMerchantOptions(request.$merchantOptions); + } + sixmlRequest.usrId = terminal.$userId; + if (data !== undefined) { + let sixmlData = new timapi.protocol.sixml.TransactionData(); + sixmlData.ecrSeqCounter = data.$ecrSeqCounter; + sixmlData.acqId = data.$acqId; + sixmlData.acqTransRef = data.$acqTransRef; + sixmlData.cardRef = data.$cardRef; + sixmlData.transRef = data.$transRef; + sixmlData.transSeq = data.$transSeq; + sixmlData.trmTransRef = data.$trmTransRef; + sixmlRequest.transactionData = sixmlData; + } + return sixmlRequest; + } + case timapi.constants.TransactionType.purchaseWithCashback: { + let sixmlRequest = new timapi.protocol.sixml + .Request_PurchaseWithCashback(); + sixmlRequest.amount = this.convertAmount(request.$amount); + sixmlRequest.amountOther = this.convertAmountOther(request.$amountOther); + if (request.$merchantOptions.length > 0) { + sixmlRequest.merchantOptionList = this.convertMerchantOptions(request.$merchantOptions); + } + if (data !== undefined) { + let sixmlData = new timapi.protocol.sixml.TransactionData(); + sixmlData.dccAllowed = data.$dccAllowed; + sixmlData.ecrSeqCounter = data.$ecrSeqCounter; + sixmlData.partialApprovalAllowed = data.$partialApprovalAllowed; + if (hasGastro) { + sixmlData.tipAllowed = data.$tipAllowed; + } + sixmlData.acqId = data.$acqId; + sixmlData.acqTransRef = data.$acqTransRef; + sixmlData.cardRef = data.$cardRef; + sixmlData.trmTransRef = data.$trmTransRef; + sixmlRequest.transactionData = sixmlData; + } + sixmlRequest.usrId = request.$userId; + return sixmlRequest; + } + case timapi.constants.TransactionType.purchasePhoneAuthorized: { + let sixmlRequest = new timapi.protocol.sixml + .Request_PurchasePhoneAuthorized(); + sixmlRequest.amount = this.convertAmount(request.$amount); + if (request.$merchantOptions.length > 0) { + sixmlRequest.merchantOptionList = this.convertMerchantOptions(request.$merchantOptions); + } + sixmlRequest.usrId = terminal.$userId; + if (data !== undefined) { + let sixmlData = new timapi.protocol.sixml.TransactionData(); + sixmlData.dccAllowed = data.$dccAllowed; + sixmlData.ecrSeqCounter = data.$ecrSeqCounter; + sixmlData.partialApprovalAllowed = data.$partialApprovalAllowed; + if (hasGastro) { + sixmlData.tipAllowed = data.$tipAllowed; + } + sixmlData.acqId = data.$acqId; + sixmlData.acqTransRef = data.$acqTransRef; + sixmlData.cardRef = data.$cardRef; + sixmlData.phoneAuthCode = data.$phoneAuthCode; + sixmlData.trmTransRef = data.$trmTransRef; + sixmlRequest.transactionData = sixmlData; + } + return sixmlRequest; + } + case timapi.constants.TransactionType.reservation: { + let sixmlRequest = new timapi.protocol.sixml.Request_Reservation(); + sixmlRequest.amount = this.convertAmount(request.$amount); + if (data != undefined) { + let sixmlData = new timapi.protocol.sixml.TransactionData(); + sixmlData.dccAllowed = data.$dccAllowed; + sixmlData.ecrSeqCounter = data.$ecrSeqCounter; + sixmlData.partialApprovalAllowed = data.$partialApprovalAllowed; + sixmlData.acqTransRef = data.$acqTransRef; + sixmlData.cardRef = data.$cardRef; + sixmlData.trmTransRef = data.$trmTransRef; + sixmlRequest.transactionData = sixmlData; + } + return sixmlRequest; + } + case timapi.constants.TransactionType.adjustReservation: { + let sixmlRequest = new timapi.protocol.sixml.Request_AdjustReservation(); + sixmlRequest.amount = this.convertAmount(request.$amount); + if (data != undefined) { + let sixmlData = new timapi.protocol.sixml.TransactionData(); + sixmlData.dccAllowed = data.$dccAllowed; + sixmlData.ecrSeqCounter = data.$ecrSeqCounter; + sixmlData.partialApprovalAllowed = data.$partialApprovalAllowed; + sixmlData.acqTransRef = data.$acqTransRef; + sixmlRequest.transactionData = sixmlData; + } + return sixmlRequest; + } + case timapi.constants.TransactionType.cancelReservation: { + let sixmlRequest = new timapi.protocol.sixml.Request_CancelReservation(); + if (data != undefined) { + let sixmlData = new timapi.protocol.sixml.TransactionData(); + sixmlData.ecrSeqCounter = data.$ecrSeqCounter; + sixmlData.acqTransRef = data.$acqTransRef; + sixmlRequest.transactionData = sixmlData; + } + return sixmlRequest; + } + case timapi.constants.TransactionType.purchaseReservation: { + let sixmlRequest = new timapi.protocol.sixml.Request_PurchaseReservation(); + sixmlRequest.amount = this.convertAmount(request.$amount); + if (data != undefined) { + let sixmlData = new timapi.protocol.sixml.TransactionData(); + sixmlData.dccAllowed = data.$dccAllowed; + sixmlData.$ecrSeqCounter = data.$ecrSeqCounter; + if (hasGastro) { + sixmlData.tipAllowed = data.$tipAllowed; + } + sixmlData.acqTransRef = data.$acqTransRef; + sixmlData.cardRef = data.$cardRef; + sixmlRequest.transactionData = sixmlData; + } + return sixmlRequest; + } + default: + throw new Error("unexpected transactiont type"); + } + } + static convertAmount(amount) { + let sixmlAmount = new timapi.protocol.sixml.Amount(); + sixmlAmount.currency = amount.$currency.code; + sixmlAmount.exponent = amount.$currency.exponent; + sixmlAmount.value = Math.round(amount.$amount); + return sixmlAmount; + } + static convertAmountOrNull(amount) { + if (amount == undefined) { + return undefined; + } + else { + return this.convertAmount(amount); + } + } + static convertAmountTip(amount) { + let sixmlAmountTip = new timapi.protocol.sixml.AmountTip(); + sixmlAmountTip.currency = amount.$currency.code; + sixmlAmountTip.exponent = amount.$currency.exponent; + sixmlAmountTip.value = amount.$amount; + return sixmlAmountTip; + } + static convertAmountOther(amount) { + let sixmlAmountOther = new timapi.protocol.sixml.AmountOther(); + sixmlAmountOther.currency = amount.$currency.code; + sixmlAmountOther.exponent = amount.$currency.exponent; + sixmlAmountOther.value = amount.$amount; + return sixmlAmountOther; + } + static convertAmountDiscount(amount) { + let sixmlAmount = new timapi.protocol.sixml.AmountDiscount(); + sixmlAmount.currency = amount.$currency.code; + sixmlAmount.exponent = amount.$currency.exponent; + sixmlAmount.value = amount.$amount; + sixmlAmount.discountId = amount.$discountId; + return sixmlAmount; + } + static convertAmountTax(amount) { + let sixmlAmount = new timapi.protocol.sixml.AmountTax(); + sixmlAmount.currency = amount.$currency.code; + sixmlAmount.exponent = amount.$currency.exponent; + sixmlAmount.value = amount.$amount; + return sixmlAmount; + } + static convertAmountTotal(amount) { + let sixmlAmount = new timapi.protocol.sixml.AmountTotal(); + sixmlAmount.currency = amount.$currency.code; + sixmlAmount.exponent = amount.$currency.exponent; + sixmlAmount.value = amount.$amount; + return sixmlAmount; + } + static convertMerchantOptions(options) { + let sixmlList = new timapi.protocol.sixml.MerchantOptionList(); + for (let option of options) { + let sixmlOption = new timapi.protocol.sixml.MerchantOption(); + sixmlOption.setMerchantOptionType(timapi.protocol.constants.MerchantOptionType.timApi2Protocol(option.$type)); + sixmlOption.value = option.$value; + sixmlList.merchantOption.push(sixmlOption); + } + return sixmlList; + } + static convertAdditionalInfoList(list) { + let sixmlList = new timapi.protocol.sixml.AdditionalInfoList(); + for (let [key, value] of list.entries()) { + let sixmlItem = new timapi.protocol.sixml.AdditionalInfoItem(); + sixmlItem.itemTextcode = key; + sixmlItem.value = value; + sixmlList.additionalInfoItem.push(sixmlItem); + } + return sixmlList; + } + static convertBasket(basket) { + let sixmlBasket = new timapi.protocol.sixml.Basket(); + for (let item of basket) { + let sixmlItem = new timapi.protocol.sixml.Item(); + sixmlItem.amount = this.convertAmount(item.$amount); + if (item.$amountDiscount !== undefined) { + sixmlItem.amountDiscount = this.convertAmountDiscount(item.$amountDiscount); + } + sixmlItem.amountTax = this.convertAmountTax(item.$amountTax); + sixmlItem.amountTotal = this.convertAmountTotal(item.$amountTotal); + sixmlItem.itemAuthResult = item.$authResult; + sixmlItem.itemId = item.$itemId; + sixmlItem.itemQuantity = this.convertItemQuantity(item.$itemQuantity); + sixmlItem.loyaltyAuthResult = item.$loyaltyAuthResult; + sixmlItem.loyaltyId = item.$loyaltyId; + sixmlItem.prodDescription = item.$prodDescription; + sixmlBasket.item.push(sixmlItem); + } + return sixmlBasket; + } + static convertItemQuantity(itemQuantity) { + let sixmlItemQuantity = new timapi.protocol.sixml.ItemQuantity(); + sixmlItemQuantity.value = itemQuantity.$quantity; + sixmlItemQuantity.exponent = itemQuantity.$exponent; + sixmlItemQuantity.itemQuantityType = itemQuantity.$quantityType; + return sixmlItemQuantity; + } + static convertTimeDate(timeDate) { + return new timapi.protocol.TimeDate(timeDate.$year, timeDate.$month, timeDate.$day, timeDate.$hour, timeDate.$minute, timeDate.$second); + } + static findMatchingProtocolLevel(terminal) { + let protocolLevel = 0; + if (terminal.getFeatures() == undefined) { + for (let pl of Object.values(timapi.constants.ProtocolLevel)) { + protocolLevel = Math.max(protocolLevel, timapi.protocol.constants.ProtocolLevel.timApi2Protocol(pl)); + } + } + else { + if (terminal.getFeatures().$sixml.$protocolLevels.size === 0) { + return 0; + } + for (let pl of terminal.getFeatures().$sixml.$protocolLevels) { + protocolLevel = Math.max(protocolLevel, timapi.protocol.constants.ProtocolLevel.timApi2Protocol(pl)); + } + } + return protocolLevel; + } + static createLoginRequest(terminal) { + let settings = terminal.$settings; + let guides = settings.$guides; + let request = new timapi.protocol.sixml.Request_Login(); + request.integratorId = settings.$integratorId; + request.manufacturerFlags = settings.$manufacturerFlags; + request.posId = terminal.$posId; + if (terminal.$printOptions.length > 0) { + let printOptionList = new timapi.protocol.sixml.PrintOptionList(); + for (let option of terminal.$printOptions) { + let printOption = new timapi.protocol.sixml.PrintOptions(); + printOption.printFlags = timapi.protocol.constants.PrintFlag.timApi2Protocol(option.$printFlags); + printOption.printFormat = timapi.protocol.constants.PrintFormat.timApi2Protocol(option.$printFormat); + printOption.printWidth = option.$printWidth; + printOption.recipient = timapi.protocol.constants.Recipient.timApi2Protocol(option.$recipient); + printOptionList.printOptions.push(printOption); + } + request.printOptionList = printOptionList; + } + let requestAutoCommit = settings.$autoCommit; + if (terminal.getFeatures() !== undefined) { + if (terminal.getFeatures().$sixml.$autoCommit === timapi.Support.disabled) { + requestAutoCommit = false; + } + } + let protocolOptionList = new timapi.protocol.sixml.ProtocolOptionList(); + let protocolOption = new timapi.protocol.sixml.ProtocolOption(); + protocolOption.optionType = + timapi.protocol.constants.OptionType.sixmlProtocolLevel; + let protocolLevel = this.findMatchingProtocolLevel(terminal); + if (protocolLevel == 0) { + throw new timapi.TimException(timapi.constants.ResultCode.apiFunctionDisallowed); + } + protocolOption.value = protocolLevel; + protocolOptionList.protocolOption.push(protocolOption); + protocolOption = new timapi.protocol.sixml.ProtocolOption(); + protocolOption.optionType = + timapi.protocol.constants.OptionType.sixmlGuides; + protocolOption.value = timapi.protocol.constants.Guides.timApi2Protocol(guides).toString(16); + protocolOptionList.protocolOption.push(protocolOption); + protocolOption = new timapi.protocol.sixml.ProtocolOption(); + protocolOption.optionType = + timapi.protocol.constants.OptionType.sixmlAutoCommit; + protocolOption.value = requestAutoCommit ? 1 : 0; + protocolOptionList.protocolOption.push(protocolOption); + if (guides.has(timapi.constants.Guides.unattended)) { + protocolOption = new timapi.protocol.sixml.ProtocolOption(); + protocolOption.optionType = + timapi.protocol.constants.OptionType.sixmlAutoShiftManagement; + protocolOption.value = settings.$autoShiftManagement ? 1 : 0; + protocolOptionList.protocolOption.push(protocolOption); + protocolOption = new timapi.protocol.sixml.ProtocolOption(); + protocolOption.optionType = + timapi.protocol.constants.OptionType.sixmlAutoShutterManagement; + protocolOption.value = settings.$autoShutterManagement ? 1 : 0; + protocolOptionList.protocolOption.push(protocolOption); + } + protocolOption = new timapi.protocol.sixml.ProtocolOption(); + protocolOption.optionType = + timapi.protocol.constants.OptionType.sixmlCardInsertionTimeout; + protocolOption.value = settings.$cardInsertionTimeout; + protocolOptionList.protocolOption.push(protocolOption); + protocolOption = new timapi.protocol.sixml.ProtocolOption(); + protocolOption.optionType = + timapi.protocol.constants.OptionType.sixmlCardRemovalTimeout; + protocolOption.value = settings.$cardRemovalTimeout; + protocolOptionList.protocolOption.push(protocolOption); + protocolOption = new timapi.protocol.sixml.ProtocolOption(); + protocolOption.optionType = + timapi.protocol.constants.OptionType.sixmlCommitTimeout; + protocolOption.value = settings.$commitTimeout; + protocolOptionList.protocolOption.push(protocolOption); + protocolOption = new timapi.protocol.sixml.ProtocolOption(); + protocolOption.optionType = + timapi.protocol.constants.OptionType.sixmlPartialApproval; + protocolOption.value = settings.$partialApproval ? 1 : 0; + protocolOptionList.protocolOption.push(protocolOption); + if (guides.has(timapi.constants.Guides.petrol)) { + protocolOption = new timapi.protocol.sixml.ProtocolOption(); + protocolOption.optionType = + timapi.protocol.constants.OptionType.sixmlProceedTimeout; + protocolOption.value = settings.$proceedTimeout; + protocolOptionList.protocolOption.push(protocolOption); + } + if (guides.has(timapi.constants.Guides.gastro)) { + protocolOption = new timapi.protocol.sixml.ProtocolOption(); + protocolOption.optionType = + timapi.protocol.constants.OptionType.sixmlTip; + protocolOption.value = settings.$tipAllowed ? 1 : 0; + protocolOptionList.protocolOption.push(protocolOption); + } + request.protocolOptionList = protocolOptionList; + return request; + } + static convertRequestShowSignatureCapture(request) { + let sixmlRequest = new timapi.protocol.sixml + .Request_ShowSignatureCapture(); + sixmlRequest.setBrandBar(this.convertBrandBar(request.$brandMode, request.$brandBar)); + let sixmlSigData = new timapi.protocol.sixml.SignatureData(); + sixmlSigData.vackgroundColor = this.convertColor(request.$backgroundColor); + sixmlSigData.setImageFileFormat(timapi.protocol.constants.ImageFileFormat.timApi2Protocol(request.$imageFileFormat)); + sixmlSigData.setImageHeight(request.$imageFileHeight); + sixmlSigData.setImageWidth(request.$imageFileWidth); + if (request.$language !== undefined) { + sixmlSigData.setLanguage(request.$language); + } + sixmlSigData.setResourceId(timapi.protocol.constants.ResourceId.timApi2Protocol(request.$resourceId)); + sixmlSigData.setSignatureColor(this.convertColor(request.$signatureColor)); + sixmlSigData.setTheme(timapi.protocol.constants.Theme.timApi2Protocol(request.$theme)); + sixmlSigData.setTimeout(request.$timeout); + if (request.$watermarkColor !== undefined) { + sixmlSigData.setWatermarkColor(this.convertColor(request.$watermarkColor)); + } + if (request.$watermarkItems.length > 0) { + let sixmlWatermarkList = new timapi.protocol.sixml.WatermarkItemList(); + for (let each of request.$watermarkItems) { + sixmlWatermarkList.getWatermarkItem().push(each); + } + sixmlSigData.setWatermarkItemList(sixmlWatermarkList); + } + sixmlRequest.setSignatureData(sixmlSigData); + return sixmlRequest; + } + static convertBrandBar(mode, brands) { + let sixmlBrandBar = new timapi.protocol.sixml.BrandBar(); + sixmlBrandBar.setBrandMode(timapi.protocol.constants.BrandMode.timApi2Protocol(mode)); + if (mode === timapi.constants.BrandMode.selected) { + let string = new timapi.utils.StringBuilder(); + let addSeparator = false; + for (let each of brands) { + if (addSeparator) { + string.append(","); + } + addSeparator = true; + string.append(timapi.protocol.constants.BrandBarBrand.timApi2Protocol(each)); + } + sixmlBrandBar.value = timapi.utils.StringHelper.makeString(string); + } + return sixmlBrandBar; + } + static convertRequestShowDialog(request) { + let sixmlRequest = new timapi.protocol.sixml.Request_ShowDialog(); + sixmlRequest.setBrandBar(this.convertBrandBar(request.$brandMode, request.$brandBar)); + let sixmlResData = new timapi.protocol.sixml.ResourceData(); + sixmlResData.setResourceId(timapi.protocol.constants.ResourceId.timApi2Protocol(request.$resourceId)); + sixmlResData.setTheme(timapi.protocol.constants.Theme.timApi2Protocol(request.$theme)); + sixmlResData.setTimeout(request.$timeout); + if (request.$language !== undefined) { + sixmlResData.setLanguage(request.$language); + } + if (request.$placeholderItems.size > 0) { + let sixmlList = new timapi.protocol.sixml.PlaceholderItemList(); + for (let [key, value] of request.$placeholderItems.entries()) { + let sixmlItem = new timapi.protocol.sixml.PlaceholderItem(); + sixmlItem.placeholderNumber = key; + sixmlItem.value = value; + sixmlList.placeholderItem.push(sixmlItem); + } + sixmlResData.setPlaceholderItemList(sixmlList); + } + sixmlRequest.setResourceData(sixmlResData); + return sixmlRequest; + } + static convertColor(color) { + return color.$colorCode; + } + } + sixml.ConvertTimApi2SIXml = ConvertTimApi2SIXml; + })(sixml = statemachine.sixml || (statemachine.sixml = {})); + })(statemachine = timapi.statemachine || (timapi.statemachine = {})); +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + var statemachine; + (function (statemachine) { + var sixml; + (function (sixml) { + class TaskKeepAliveCheck { + constructor($delegate, $sleepInSeconds) { + this.delegate = $delegate; + let _this = this; + this.id = setTimeout(function () { + _this.run(); + }, $sleepInSeconds); + } + run() { + this.delegate.armKeepAliveTimer(); + try { + this.delegate.eventKeepAliveTimer(); + } + catch (error) { + this.delegate.onError(error); + } + } + cancel() { + try { + clearTimeout(this.id); + } + catch (error) { + } + } + } + sixml.TaskKeepAliveCheck = TaskKeepAliveCheck; + })(sixml = statemachine.sixml || (statemachine.sixml = {})); + })(statemachine = timapi.statemachine || (timapi.statemachine = {})); +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + var statemachine; + (function (statemachine) { + var sixml; + (function (sixml) { + class TaskKeepAliveDisconnect { + constructor($delegate, $sleepInSeconds) { + this.delegate = $delegate; + let _this = this; + this.id = setTimeout(function () { + _this.run(); + }, $sleepInSeconds); + } + run() { + this.delegate.cancelTaskKeepAliveDisconnect(); + try { + this.delegate.eventKeepAliveTimeout(); + } + catch (error) { + this.delegate.onError(error); + } + } + cancel() { + try { + clearTimeout(this.id); + } + catch (error) { + } + } + } + sixml.TaskKeepAliveDisconnect = TaskKeepAliveDisconnect; + })(sixml = statemachine.sixml || (statemachine.sixml = {})); + })(statemachine = timapi.statemachine || (timapi.statemachine = {})); +})(timapi || (timapi = {})); +var timapi; +(function (timapi) { + var statemachine; + (function (statemachine) { + var sixml; + (function (sixml) { + class TaskTimeout { + constructor($delegate, $sleepInSeconds) { + this.delegate = $delegate; + let _this = this; + this.id = setTimeout(function () { + _this.run(); + }, $sleepInSeconds); + } + run() { + this.delegate.cancelTaskTimeout(); + try { + this.delegate.eventTimeout(); + } + catch (error) { + this.delegate.onError(error); + } + } + cancel() { + try { + clearTimeout(this.id); + } + catch (error) { + } + } + } + sixml.TaskTimeout = TaskTimeout; + })(sixml = statemachine.sixml || (statemachine.sixml = {})); + })(statemachine = timapi.statemachine || (timapi.statemachine = {})); +})(timapi || (timapi = {})); diff --git a/addons/pos_six/static/src/js/models.js b/addons/pos_six/static/src/js/models.js new file mode 100644 index 0000000000000000000000000000000000000000..cf00744239cb11d36ceccfc44b7f1b3a296d6762 --- /dev/null +++ b/addons/pos_six/static/src/js/models.js @@ -0,0 +1,9 @@ +odoo.define('pos_six.models', function (require) { + +var models = require('point_of_sale.models'); +var PaymentSix = require('pos_six.payment'); + +models.register_payment_method('six', PaymentSix); +models.load_fields('pos.payment.method', ['six_terminal_ip']); + +}); diff --git a/addons/pos_six/static/src/js/payment_six.js b/addons/pos_six/static/src/js/payment_six.js new file mode 100644 index 0000000000000000000000000000000000000000..15bbcb6745d67687a29b278c2e24a57aad796ac3 --- /dev/null +++ b/addons/pos_six/static/src/js/payment_six.js @@ -0,0 +1,134 @@ +odoo.define('pos_six.payment', function (require) { +"use strict"; + +var core = require('web.core'); +var PaymentInterface = require('point_of_sale.PaymentInterface'); + +var _t = core._t; + +var PaymentSix = PaymentInterface.extend({ + + //-------------------------------------------------------------------------- + // Public + //-------------------------------------------------------------------------- + + /** + * @override + */ + init: function () { + this._super.apply(this, arguments); + this.enable_reversals(); + + var settings = new timapi.TerminalSettings(); + settings.connectionMode = timapi.constants.ConnectionMode.onFixIp; + settings.connectionIPString = this.payment_method.six_terminal_ip; + settings.connectionIPPort = "80"; + + this.terminal = new timapi.Terminal(settings); + this.terminal.posId = this.pos.pos_session.name; + this.terminal.userId = this.pos.pos_session.user_id[0]; + + this.terminalListener = new timapi.DefaultTerminalListener(); + this.terminalListener.transactionCompleted = this._onTransactionComplete.bind(this); + this.terminal.addListener(this.terminalListener); + + var recipients = [timapi.constants.Recipient.merchant, timapi.constants.Recipient.cardholder]; + var options = []; + _.forEach(recipients, (recipient) => { + var option = new timapi.PrintOption( + recipient, + timapi.constants.PrintFormat.normal, + 45, + [timapi.constants.PrintFlag.suppressHeader, timapi.constants.PrintFlag.suppressEcrInfo] + ); + options.push(option); + }); + this.terminal.printOptions = options; + }, + + /** + * @override + */ + send_payment_cancel: function () { + this._super.apply(this, arguments); + this.terminal.cancel(); + return Promise.resolve(); + }, + + /** + * @override + */ + send_payment_request: function () { + this._super.apply(this, arguments); + this.pos.get_order().selected_paymentline.set_payment_status('waitingCard'); + return this._sendTransaction(timapi.constants.TransactionType.purchase); + }, + + /** + * @override + */ + send_payment_reversal: function () { + this._super.apply(this, arguments); + this.pos.get_order().selected_paymentline.set_payment_status('reversing'); + return this._sendTransaction(timapi.constants.TransactionType.reversal); + }, + + //-------------------------------------------------------------------------- + // Private + //-------------------------------------------------------------------------- + + _onTransactionComplete: function (event, data) { + timapi.DefaultTerminalListener.prototype.transactionCompleted(event, data); + + if (event.exception) { + this.pos.gui.show_popup('error', { + title: _t('Terminal Error'), + body: _t('Transaction was not processed correctly'), + }); + + this.transactionResolve(); + } else { + if (data.printData){ + this._printReceipts(data.printData.receipts) + } + + // Store Transaction Data + var transactionData = new timapi.TransactionData(); + transactionData.transSeq = data.transactionInformation.transSeq; + this.terminal.transactionData = transactionData; + + this.transactionResolve(true); + } + }, + + _printReceipts: function (receipts) { + _.forEach(receipts, (receipt) => { + var value = receipt.value.replace(/\n/g, "<br />"); + if (receipt.recipient === timapi.constants.Recipient.merchant && this.pos.proxy.printer) { + this.pos.proxy.printer.print_receipt( + "<div class='pos-receipt'><div class='pos-payment-terminal-receipt'>" + + value + + "</div></div>" + ); + } else if (receipt.recipient === timapi.constants.Recipient.cardholder) { + this.pos.get_order().selected_paymentline.set_receipt_info(value); + } + }); + }, + + _sendTransaction: function (transactionType) { + var amount = new timapi.Amount( + this.pos.get_order().selected_paymentline.amount, + timapi.constants.Currency[this.pos.currency.name] + ); + + return new Promise((resolve) => { + this.transactionResolve = resolve; + this.terminal.transactionAsync(transactionType, amount); + }); + }, +}); + +return PaymentSix; + +}); diff --git a/addons/pos_six/views/point_of_sale_assets.xml b/addons/pos_six/views/point_of_sale_assets.xml new file mode 100644 index 0000000000000000000000000000000000000000..9f5c9acc51cfb2dc7cb730865feed8c71d58d8b8 --- /dev/null +++ b/addons/pos_six/views/point_of_sale_assets.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <template id="assets" inherit_id="point_of_sale.assets"> + <xpath expr="." position="inside"> + <script type="text/javascript" src="/pos_six/static/lib/six_timapi/timapi.bundle.js"></script> + <script type="text/javascript" src="/pos_six/static/src/js/models.js"></script> + <script type="text/javascript" src="/pos_six/static/src/js/payment_six.js"></script> + </xpath> + </template> +</odoo> diff --git a/addons/pos_six/views/pos_payment_method_views.xml b/addons/pos_six/views/pos_payment_method_views.xml new file mode 100644 index 0000000000000000000000000000000000000000..7c7de74ebcf5cb7670c8f0daed2b8ec6964da022 --- /dev/null +++ b/addons/pos_six/views/pos_payment_method_views.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <record id="pos_payment_method_view_form_inherit_pos_adyen" model="ir.ui.view"> + <field name="name">pos.payment.method.form.inherit.adyen</field> + <field name="model">pos.payment.method</field> + <field name="inherit_id" ref="point_of_sale.pos_payment_method_view_form"/> + <field name="arch" type="xml"> + <xpath expr="//field[@name='use_payment_terminal']" position="after"> + <field name="six_terminal_ip" + attrs="{'invisible': [('use_payment_terminal', '!=', 'six')], 'required': [('use_payment_terminal', '=', 'six')]}"/> + </xpath> + </field> + </record> +</odoo>