package leenkx.logicnode; import leenkx.system.Event; import iron.object.Object; class SeedTorrentNode extends LogicNode { public var torrent: Dynamic; public var net_Url: Dynamic; public function new(tree:LogicTree) { super(tree); } override function run(from:Int) { #if js var connection = inputs[1].get(); if (connection == null) return; trace("got connection"); var data = inputs[3].get(); if (data == null) return; trace("got data"); var opts = inputs[2].get(); net_Url = connection._url; var cx = "lx_" + net_Url; var lx:Dynamic = untyped js.Browser.window[cx]; var args = opts.toString(); trace(args); var func = Reflect.field(lx.wt, "seed"); if (func != null) { torrent = func(data, function (torrent) { trace('Client is seeding ' + torrent.magnetURI); }); //trace(torrent); } runOutput(0); #end } override function get(from: Int): Dynamic { return switch (from) { case 1: torrent; default: throw "Unreachable"; } } }