define("infoBarApi", ["componentmodelComponentApi", "gameLayoutApi", "clientkernelEventbusApi"],
    function(componentmodelComponentApi, gameLayoutApi, clientkernelEventbusApi) {
        "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 infoBarApi == 'undefined') {
            var infoBarApi = {};
        };
        infoBarApi.InfoBarDeclaration = function() {};
        infoBarApi.InfoBarDeclaration = ck_implements(infoBarApi.InfoBarDeclaration, componentmodelComponentApi.IComponentDeclaration);
        infoBarApi.InfoBarDeclaration.__interfaces__ = [componentmodelComponentApi.IComponentDeclaration];
        infoBarApi.InfoBarDeclaration.__name__ = ["infoBarApi", "InfoBarDeclaration"];
        infoBarApi.InfoBarDeclaration.prototype.getChildComponents = function() {
            return null;
        };
        infoBarApi.InfoBarDeclaration.prototype.getReferredComponents = function() {
            return null;
        };
        infoBarApi.InfoBarDeclaration.prototype.getImplementedPorts = function() {
            return [infoBarApi.IInfoBarImplementationPort];
        };
        infoBarApi.InfoBarDeclaration.prototype.getUsedPorts = function() {
            return [gameLayoutApi.IGameLayoutPort];
        };
        infoBarApi.InfoBarDeclaration.prototype.__class__ = infoBarApi.InfoBarDeclaration;

        infoBarApi.IInfoBarImplementationPort = function() {}
        infoBarApi.IInfoBarImplementationPort.prototype = {

            showLabel: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            hideLabel: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            showWinLineSummary: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            hideWinLineSummary: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            }
        };

        infoBarApi.IInfoBarPort = function() {}
        infoBarApi.IInfoBarPort.prototype = {

            showLabel: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            hideLabel: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            showWinLineSummary: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            hideWinLineSummary: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            }
        };
        infoBarApi.InfoBarPort = function(bus) {
            this.hideWinLineSummaryTopic = new clientkernelEventbusApi.Topic("infoBar:hideWinLineSummary");
            this.showWinLineSummaryTopic = new clientkernelEventbusApi.Topic("infoBar:showWinLineSummary");
            this.hideLabelTopic = new clientkernelEventbusApi.Topic("infoBar:hideLabel");
            this.showLabelTopic = new clientkernelEventbusApi.Topic("infoBar:showLabel");
            this.showLabelTopic.connect(bus);
            this.hideLabelTopic.connect(bus);
            this.showWinLineSummaryTopic.connect(bus);
            this.hideWinLineSummaryTopic.connect(bus);
        };
        infoBarApi.InfoBarPort = ck_implements(infoBarApi.InfoBarPort, infoBarApi.IInfoBarPort);
        infoBarApi.InfoBarPort = ck_implements(infoBarApi.InfoBarPort, infoBarApi.IInfoBarImplementationPort);
        infoBarApi.InfoBarPort.__interfaces__ = [infoBarApi.IInfoBarPort, infoBarApi.IInfoBarImplementationPort];
        infoBarApi.InfoBarPort.__name__ = ["infoBarApi", "InfoBarPort"];
        infoBarApi.InfoBarPort.prototype.showLabelTopic = null;
        infoBarApi.InfoBarPort.prototype.hideLabelTopic = null;
        infoBarApi.InfoBarPort.prototype.showWinLineSummaryTopic = null;
        infoBarApi.InfoBarPort.prototype.hideWinLineSummaryTopic = null;
        infoBarApi.InfoBarPort.prototype.showLabel = function() {
            return this.showLabelTopic;
        };
        infoBarApi.InfoBarPort.prototype.hideLabel = function() {
            return this.hideLabelTopic;
        };
        infoBarApi.InfoBarPort.prototype.showWinLineSummary = function() {
            return this.showWinLineSummaryTopic;
        };
        infoBarApi.InfoBarPort.prototype.hideWinLineSummary = function() {
            return this.hideWinLineSummaryTopic;
        };
        infoBarApi.InfoBarPort.prototype.__class__ = infoBarApi.InfoBarPort;
        infoBarApi.InfoBarPortFactory = function() {};
        infoBarApi.InfoBarPortFactory = ck_implements(infoBarApi.InfoBarPortFactory, componentmodelComponentApi.IPortFactory);
        infoBarApi.InfoBarPortFactory.__interfaces__ = [componentmodelComponentApi.IPortFactory];
        infoBarApi.InfoBarPortFactory.__name__ = ["infoBarApi", "InfoBarPortFactory"];
        infoBarApi.InfoBarPortFactory.prototype.provide = function(channel) {
            return new infoBarApi.InfoBarPort(channel);
        };
        infoBarApi.InfoBarPortFactory.prototype["use"] = function(channel) {
            return new infoBarApi.InfoBarPort(channel);
        };
        infoBarApi.InfoBarPortFactory.prototype.__class__ = infoBarApi.InfoBarPortFactory;
        infoBarApi.InfoBarLabelEnum = {
            __ename__: ["infoBarApi", "InfoBarLabelEnum"],
            __constructs__: ["LEFT", "CENTRAL", "RIGHT"]
        };
        infoBarApi.InfoBarLabelEnum.RIGHT = ["RIGHT", 2];
        infoBarApi.InfoBarLabelEnum.RIGHT.toString = $estr;
        infoBarApi.InfoBarLabelEnum.RIGHT.__enum__ = infoBarApi.InfoBarLabelEnum;
        infoBarApi.InfoBarLabelEnum.CENTRAL = ["CENTRAL", 1];
        infoBarApi.InfoBarLabelEnum.CENTRAL.toString = $estr;
        infoBarApi.InfoBarLabelEnum.CENTRAL.__enum__ = infoBarApi.InfoBarLabelEnum;
        infoBarApi.InfoBarLabelEnum.LEFT = ["LEFT", 0];
        infoBarApi.InfoBarLabelEnum.LEFT.toString = $estr;
        infoBarApi.InfoBarLabelEnum.LEFT.__enum__ = infoBarApi.InfoBarLabelEnum;
        infoBarApi.LabelContentPayload = function(id, text) {
            this.labelId = id;
            this.labelText = text;
        };
        infoBarApi.LabelContentPayload.__name__ = ["infoBarApi", "LabelContentPayload"];
        infoBarApi.LabelContentPayload.prototype.labelId = null;
        infoBarApi.LabelContentPayload.prototype.labelText = null;
        infoBarApi.LabelContentPayload.prototype.__class__ = infoBarApi.LabelContentPayload;
        infoBarApi.WinLineSummaryPayload = function(line, winId, winSum) {
            this.line = line;
            this.winId = winId;
            this.winSum = winSum;
        };
        infoBarApi.WinLineSummaryPayload.__name__ = ["infoBarApi", "WinLineSummaryPayload"];
        infoBarApi.WinLineSummaryPayload.prototype.line = null;
        infoBarApi.WinLineSummaryPayload.prototype.winId = null;
        infoBarApi.WinLineSummaryPayload.prototype.winSum = null;
        infoBarApi.WinLineSummaryPayload.prototype.__class__ = infoBarApi.WinLineSummaryPayload;
        return {
            exports: infoBarApi
        };
    });
//# sourceURL=slotInfoBarApi.js