define("smashthepigComponentsBannerPort", ["componentmodelComponentApi", "clientkernelEventbusApi"],
    function(componentmodelComponentApi, 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 smashthepigComponentsBannerPort == 'undefined') {
            var smashthepigComponentsBannerPort = {};
        };

        smashthepigComponentsBannerPort.IBannerPort = function() {}
        smashthepigComponentsBannerPort.IBannerPort.prototype = {

            startPlayingGroup: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            stopPlayingGroup: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            pausePlayingGroup: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            resumePlayingGroup: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            setContentForFreespins: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            stopAndPlayGroup: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            }
        };

        smashthepigComponentsBannerPort.IBannerImplementationPort = function() {}
        smashthepigComponentsBannerPort.IBannerImplementationPort.prototype = {

            startPlayingGroup: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            stopPlayingGroup: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            pausePlayingGroup: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            resumePlayingGroup: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            setContentForFreespins: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            stopAndPlayGroup: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            }
        };
        smashthepigComponentsBannerPort.BannerPort = function(bus) {
            this._stopAndPlay = new clientkernelEventbusApi.Topic("banner:stopAndPlay");
            this._setContent = new clientkernelEventbusApi.Topic("banner:setContent");
            this._resume = new clientkernelEventbusApi.Topic("banner:resume");
            this._pause = new clientkernelEventbusApi.Topic("banner:pause");
            this._stop = new clientkernelEventbusApi.Topic("banner:stop");
            this._start = new clientkernelEventbusApi.Topic("banner:start");
            this._start.connect(bus);
            this._stop.connect(bus);
            this._pause.connect(bus);
            this._resume.connect(bus);
            this._setContent.connect(bus);
            this._stopAndPlay.connect(bus);
        };
        smashthepigComponentsBannerPort.BannerPort = ck_implements(smashthepigComponentsBannerPort.BannerPort, smashthepigComponentsBannerPort.IBannerPort);
        smashthepigComponentsBannerPort.BannerPort = ck_implements(smashthepigComponentsBannerPort.BannerPort, smashthepigComponentsBannerPort.IBannerImplementationPort);
        smashthepigComponentsBannerPort.BannerPort.__interfaces__ = [smashthepigComponentsBannerPort.IBannerPort, smashthepigComponentsBannerPort.IBannerImplementationPort];
        smashthepigComponentsBannerPort.BannerPort.__name__ = ["smashthepigComponentsBannerPort", "BannerPort"];
        smashthepigComponentsBannerPort.BannerPort.prototype._start = null;
        smashthepigComponentsBannerPort.BannerPort.prototype._stop = null;
        smashthepigComponentsBannerPort.BannerPort.prototype._pause = null;
        smashthepigComponentsBannerPort.BannerPort.prototype._resume = null;
        smashthepigComponentsBannerPort.BannerPort.prototype._setContent = null;
        smashthepigComponentsBannerPort.BannerPort.prototype._stopAndPlay = null;
        smashthepigComponentsBannerPort.BannerPort.prototype.startPlayingGroup = function() {
            return this._start;
        };
        smashthepigComponentsBannerPort.BannerPort.prototype.stopPlayingGroup = function() {
            return this._stop;
        };
        smashthepigComponentsBannerPort.BannerPort.prototype.pausePlayingGroup = function() {
            return this._pause;
        };
        smashthepigComponentsBannerPort.BannerPort.prototype.resumePlayingGroup = function() {
            return this._resume;
        };
        smashthepigComponentsBannerPort.BannerPort.prototype.setContentForFreespins = function() {
            return this._setContent;
        };
        smashthepigComponentsBannerPort.BannerPort.prototype.stopAndPlayGroup = function() {
            return this._stopAndPlay;
        };
        smashthepigComponentsBannerPort.BannerPort.prototype.__class__ = smashthepigComponentsBannerPort.BannerPort;
        smashthepigComponentsBannerPort.BannerPortFactory = function() {};
        smashthepigComponentsBannerPort.BannerPortFactory = ck_implements(smashthepigComponentsBannerPort.BannerPortFactory, componentmodelComponentApi.IPortFactory);
        smashthepigComponentsBannerPort.BannerPortFactory.__interfaces__ = [componentmodelComponentApi.IPortFactory];
        smashthepigComponentsBannerPort.BannerPortFactory.__name__ = ["smashthepigComponentsBannerPort", "BannerPortFactory"];
        smashthepigComponentsBannerPort.BannerPortFactory.prototype.provide = function(channel) {
            return new smashthepigComponentsBannerPort.BannerPort(channel);
        };
        smashthepigComponentsBannerPort.BannerPortFactory.prototype["use"] = function(channel) {
            return new smashthepigComponentsBannerPort.BannerPort(channel);
        };
        smashthepigComponentsBannerPort.BannerPortFactory.prototype.__class__ = smashthepigComponentsBannerPort.BannerPortFactory;
        smashthepigComponentsBannerPort.BannerContentPayload = function(id, text) {
            this.id = id;
            this.text = text;
        };
        smashthepigComponentsBannerPort.BannerContentPayload.__name__ = ["smashthepigComponentsBannerPort", "BannerContentPayload"];
        smashthepigComponentsBannerPort.BannerContentPayload.prototype.id = null;
        smashthepigComponentsBannerPort.BannerContentPayload.prototype.text = null;
        smashthepigComponentsBannerPort.BannerContentPayload.prototype.__class__ = smashthepigComponentsBannerPort.BannerContentPayload;
        return {
            exports: smashthepigComponentsBannerPort
        };
    });
//# sourceURL=smashThePigBannerPort.js