define("wolfRunSpaghettiPort", ["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 wolfRunSpaghettiPort == 'undefined') {
            var wolfRunSpaghettiPort = {};
        };

        wolfRunSpaghettiPort.ISpaghettiImplementationPort = function() {}
        wolfRunSpaghettiPort.ISpaghettiImplementationPort.prototype = {

            getShowLinesById: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getShowSelectedLines: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getShowSelectedTabs: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getHideLines: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getVisible: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            }
        };

        wolfRunSpaghettiPort.ISpaghettiPort = function() {}
        wolfRunSpaghettiPort.ISpaghettiPort.prototype = {

            getShowLinesById: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getShowSelectedLines: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getShowSelectedTabs: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getHideLines: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getVisible: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            }
        };
        wolfRunSpaghettiPort.SpaghettiPort = function(bus) {
            this.visible = new clientkernelEventbusApi.Topic("spaghetti:visible");
            this.hideLines = new clientkernelEventbusApi.Topic("spaghetti:hideLines");
            this.showSelectedTabs = new clientkernelEventbusApi.Topic("spaghetti:showSelectedTabs");
            this.showSelectedLines = new clientkernelEventbusApi.Topic("spaghetti:showSelectedLines");
            this.showLinesById = new clientkernelEventbusApi.Topic("spaghetti:showLinesById");
            this.showLinesById.connect(bus);
            this.showSelectedLines.connect(bus);
            this.showSelectedTabs.connect(bus);
            this.hideLines.connect(bus);
            this.visible.connect(bus);
        };
        wolfRunSpaghettiPort.SpaghettiPort = ck_implements(wolfRunSpaghettiPort.SpaghettiPort, wolfRunSpaghettiPort.ISpaghettiPort);
        wolfRunSpaghettiPort.SpaghettiPort = ck_implements(wolfRunSpaghettiPort.SpaghettiPort, wolfRunSpaghettiPort.ISpaghettiImplementationPort);
        wolfRunSpaghettiPort.SpaghettiPort.__interfaces__ = [wolfRunSpaghettiPort.ISpaghettiPort, wolfRunSpaghettiPort.ISpaghettiImplementationPort];
        wolfRunSpaghettiPort.SpaghettiPort.__name__ = ["wolfRunSpaghettiPort", "SpaghettiPort"];
        wolfRunSpaghettiPort.SpaghettiPort.prototype.showLinesById = null;
        wolfRunSpaghettiPort.SpaghettiPort.prototype.showSelectedLines = null;
        wolfRunSpaghettiPort.SpaghettiPort.prototype.showSelectedTabs = null;
        wolfRunSpaghettiPort.SpaghettiPort.prototype.hideLines = null;
        wolfRunSpaghettiPort.SpaghettiPort.prototype.visible = null;
        wolfRunSpaghettiPort.SpaghettiPort.prototype.getShowLinesById = function() {
            return this.showLinesById;
        };
        wolfRunSpaghettiPort.SpaghettiPort.prototype.getShowSelectedLines = function() {
            return this.showSelectedLines;
        };
        wolfRunSpaghettiPort.SpaghettiPort.prototype.getShowSelectedTabs = function() {
            return this.showSelectedTabs;
        };
        wolfRunSpaghettiPort.SpaghettiPort.prototype.getHideLines = function() {
            return this.hideLines;
        };
        wolfRunSpaghettiPort.SpaghettiPort.prototype.getVisible = function() {
            return this.visible;
        };
        wolfRunSpaghettiPort.SpaghettiPort.prototype.__class__ = wolfRunSpaghettiPort.SpaghettiPort;
        wolfRunSpaghettiPort.SpaghettiPortFactory = function() {};
        wolfRunSpaghettiPort.SpaghettiPortFactory = ck_implements(wolfRunSpaghettiPort.SpaghettiPortFactory, componentmodelComponentApi.IPortFactory);
        wolfRunSpaghettiPort.SpaghettiPortFactory.__interfaces__ = [componentmodelComponentApi.IPortFactory];
        wolfRunSpaghettiPort.SpaghettiPortFactory.__name__ = ["wolfRunSpaghettiPort", "SpaghettiPortFactory"];
        wolfRunSpaghettiPort.SpaghettiPortFactory.prototype.provide = function(channel) {
            return new wolfRunSpaghettiPort.SpaghettiPort(channel);
        };
        wolfRunSpaghettiPort.SpaghettiPortFactory.prototype["use"] = function(channel) {
            return new wolfRunSpaghettiPort.SpaghettiPort(channel);
        };
        wolfRunSpaghettiPort.SpaghettiPortFactory.prototype.__class__ = wolfRunSpaghettiPort.SpaghettiPortFactory;
        return {
            exports: wolfRunSpaghettiPort
        };
    });
//# sourceURL=wolfRunSpaghettiPort.js