define("jackpotMeterApi", ["componentmodelComponentApi", "slotModelApi", "gameLayoutApi", "clientkernelEventbusApi", "moneyApi"],
    function(componentmodelComponentApi, slotModelApi, gameLayoutApi, clientkernelEventbusApi, moneyApi) {
        "use strict";

        function $iterator(o) {
            if (o instanceof Array) return function() {
                return {
                    cur: 0,
                    arr: o,
                    hasNext: function() {
                        return this.cur < this.arr.length;
                    },
                    next: function() {
                        return this.arr[this.cur++];
                    }
                };
            };
            return typeof(o.iterator) == 'function' ? $bind(o, o.iterator) : o.iterator;
        };;
        var $fid = 0;

        function $bind(o, m) {
            if (m == null) return null;
            if (m.__id__ == null) m.__id__ = $fid++;
            var f;
            if (o.hx__closures__ == null) o.hx__closures__ = {};
            else f = o.hx__closures__[m.__id__];
            if (f == null) {
                f = function() {
                    return f.method.apply(f.scope, arguments);
                };
                f.scope = o;
                f.method = m;
                o.hx__closures__[m.__id__] = f;
            }
            return f;
        };
        var $_;
        var $estr = function() {
            return _hcmn_.js_Boot.__string_rec(this, '');
        };
        if (typeof haxe == 'undefined') {
            var haxe = {};
        };

        haxe.IMap = function() {}
        haxe.IMap.prototype = {

        };
        if (typeof jackpotMeterApi == 'undefined') {
            var jackpotMeterApi = {};
        };
        jackpotMeterApi.JackpotMeterDeclaration = function() {};
        jackpotMeterApi.JackpotMeterDeclaration = ck_implements(jackpotMeterApi.JackpotMeterDeclaration, componentmodelComponentApi.IComponentDeclaration);
        jackpotMeterApi.JackpotMeterDeclaration.__interfaces__ = [componentmodelComponentApi.IComponentDeclaration];
        jackpotMeterApi.JackpotMeterDeclaration.__name__ = ["jackpotMeterApi", "JackpotMeterDeclaration"];
        jackpotMeterApi.JackpotMeterDeclaration.prototype.getChildComponents = function() {
            return null;
        };
        jackpotMeterApi.JackpotMeterDeclaration.prototype.getReferredComponents = function() {
            return null;
        };
        jackpotMeterApi.JackpotMeterDeclaration.prototype.getImplementedPorts = function() {
            return [jackpotMeterApi.IJackpotMeterImplementationPort];
        };
        jackpotMeterApi.JackpotMeterDeclaration.prototype.getUsedPorts = function() {
            return [gameLayoutApi.IGameLayoutPort, slotModelApi.IJackpotPort, slotModelApi.ISlotModelPort];
        };
        jackpotMeterApi.JackpotMeterDeclaration.prototype.__class__ = jackpotMeterApi.JackpotMeterDeclaration;

        jackpotMeterApi.IJackpotMeterImplementationPort = function() {}
        jackpotMeterApi.IJackpotMeterImplementationPort.prototype = {

            resume: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            pause: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getValues: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getPlayerAckonowledgement: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            setValue: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            showMessages: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            hideMessages: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            onValueChanged: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            }
        };

        jackpotMeterApi.IJackpotMeterPort = function() {}
        jackpotMeterApi.IJackpotMeterPort.prototype = {

            resume: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            pause: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getValues: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getPlayerAckonowledgement: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            setValue: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            onValueChanged: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            showMessages: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            hideMessages: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            }
        };
        jackpotMeterApi.JackpotMeterPort = function(bus) {
            this._hideMessages = new clientkernelEventbusApi.Topic("JackpotMeter.HideMessages");
            this._showMessages = new clientkernelEventbusApi.Topic("JackpotMeter.ShowMessages");
            this._onValueChanged = new clientkernelEventbusApi.Topic("JackpotMeter.ValueChanged");
            this._resume = new clientkernelEventbusApi.Topic("JackpotMeter.Resume");
            this._setValue = new clientkernelEventbusApi.Topic("JackpotMeter.SetValue");
            this._pause = new clientkernelEventbusApi.Topic("JackpotMeter.Pause");
            this.values = new clientkernelEventbusApi.Request("JackpotMeter.GetValues");
            this.playerAcknowledgement = new clientkernelEventbusApi.Request("JackpotMeter.PlayerAcknowledgement");
            this.playerAcknowledgement.connect(bus);
            this.values.connect(bus);
            this._pause.connect(bus);
            this._resume.connect(bus);
            this._setValue.connect(bus);
            this._onValueChanged.connect(bus);
            this._showMessages.connect(bus);
            this._hideMessages.connect(bus);
        };
        jackpotMeterApi.JackpotMeterPort = ck_implements(jackpotMeterApi.JackpotMeterPort, jackpotMeterApi.IJackpotMeterImplementationPort);
        jackpotMeterApi.JackpotMeterPort = ck_implements(jackpotMeterApi.JackpotMeterPort, jackpotMeterApi.IJackpotMeterPort);
        jackpotMeterApi.JackpotMeterPort.__interfaces__ = [jackpotMeterApi.IJackpotMeterImplementationPort, jackpotMeterApi.IJackpotMeterPort];
        jackpotMeterApi.JackpotMeterPort.__name__ = ["jackpotMeterApi", "JackpotMeterPort"];
        jackpotMeterApi.JackpotMeterPort.prototype.playerAcknowledgement = null;
        jackpotMeterApi.JackpotMeterPort.prototype.values = null;
        jackpotMeterApi.JackpotMeterPort.prototype._pause = null;
        jackpotMeterApi.JackpotMeterPort.prototype._setValue = null;
        jackpotMeterApi.JackpotMeterPort.prototype._resume = null;
        jackpotMeterApi.JackpotMeterPort.prototype._onValueChanged = null;
        jackpotMeterApi.JackpotMeterPort.prototype._showMessages = null;
        jackpotMeterApi.JackpotMeterPort.prototype._hideMessages = null;
        jackpotMeterApi.JackpotMeterPort.prototype.getPlayerAckonowledgement = function() {
            return this.playerAcknowledgement;
        };
        jackpotMeterApi.JackpotMeterPort.prototype.getValues = function() {
            return this.values;
        };
        jackpotMeterApi.JackpotMeterPort.prototype.pause = function() {
            return this._pause;
        };
        jackpotMeterApi.JackpotMeterPort.prototype.resume = function() {
            return this._resume;
        };
        jackpotMeterApi.JackpotMeterPort.prototype.setValue = function() {
            return this._setValue;
        };
        jackpotMeterApi.JackpotMeterPort.prototype.onValueChanged = function() {
            return this._onValueChanged;
        };
        jackpotMeterApi.JackpotMeterPort.prototype.showMessages = function() {
            return this._showMessages;
        };
        jackpotMeterApi.JackpotMeterPort.prototype.hideMessages = function() {
            return this._hideMessages;
        };
        jackpotMeterApi.JackpotMeterPort.prototype.__class__ = jackpotMeterApi.JackpotMeterPort;
        jackpotMeterApi.JackpotMeterPortFactory = function() {};
        jackpotMeterApi.JackpotMeterPortFactory = ck_implements(jackpotMeterApi.JackpotMeterPortFactory, componentmodelComponentApi.IPortFactory);
        jackpotMeterApi.JackpotMeterPortFactory.__interfaces__ = [componentmodelComponentApi.IPortFactory];
        jackpotMeterApi.JackpotMeterPortFactory.__name__ = ["jackpotMeterApi", "JackpotMeterPortFactory"];
        jackpotMeterApi.JackpotMeterPortFactory.prototype.provide = function(channel) {
            return new jackpotMeterApi.JackpotMeterPort(channel);
        };
        jackpotMeterApi.JackpotMeterPortFactory.prototype["use"] = function(channel) {
            return new jackpotMeterApi.JackpotMeterPort(channel);
        };
        jackpotMeterApi.JackpotMeterPortFactory.prototype.__class__ = jackpotMeterApi.JackpotMeterPortFactory;
        jackpotMeterApi.PlayerAckonowledgementPayload = function(title, content, msg_confirm, msg_continue) {
            this.msg_continue = msg_continue;
            this.msg_confirm = msg_confirm;
            this.content = content;
            this.title = title;
        };
        jackpotMeterApi.PlayerAckonowledgementPayload.__name__ = ["jackpotMeterApi", "PlayerAckonowledgementPayload"];
        jackpotMeterApi.PlayerAckonowledgementPayload.prototype.title = null;
        jackpotMeterApi.PlayerAckonowledgementPayload.prototype.content = null;
        jackpotMeterApi.PlayerAckonowledgementPayload.prototype.msg_confirm = null;
        jackpotMeterApi.PlayerAckonowledgementPayload.prototype.msg_continue = null;
        jackpotMeterApi.PlayerAckonowledgementPayload.prototype.__class__ = jackpotMeterApi.PlayerAckonowledgementPayload;
        return {
            exports: jackpotMeterApi
        };
    });
//# sourceURL=jackpotMeterApi.js