189 lines
4.6 KiB
Java
189 lines
4.6 KiB
Java
import java.io.DataInputStream;
|
|
import java.net.InetAddress;
|
|
import java.net.Socket;
|
|
import java.net.URL;
|
|
import net.runelite.mapping.Export;
|
|
import net.runelite.mapping.Implements;
|
|
import net.runelite.mapping.ObfuscatedGetter;
|
|
import net.runelite.mapping.ObfuscatedName;
|
|
import net.runelite.mapping.ObfuscatedSignature;
|
|
|
|
@ObfuscatedName("dk")
|
|
@Implements("TaskHandler")
|
|
public class TaskHandler implements Runnable {
|
|
@ObfuscatedName("h")
|
|
@Export("javaVendor")
|
|
public static String javaVendor;
|
|
@ObfuscatedName("c")
|
|
@Export("javaVersion")
|
|
public static String javaVersion;
|
|
@ObfuscatedName("ab")
|
|
@ObfuscatedGetter(
|
|
intValue = 458627189
|
|
)
|
|
static int field1466;
|
|
@ObfuscatedName("o")
|
|
@ObfuscatedSignature(
|
|
descriptor = "Lek;"
|
|
)
|
|
@Export("current")
|
|
Task current;
|
|
@ObfuscatedName("g")
|
|
@ObfuscatedSignature(
|
|
descriptor = "Lek;"
|
|
)
|
|
@Export("task")
|
|
Task task;
|
|
@ObfuscatedName("l")
|
|
@Export("thread")
|
|
Thread thread;
|
|
@ObfuscatedName("z")
|
|
@Export("isClosed")
|
|
boolean isClosed;
|
|
|
|
public TaskHandler() {
|
|
this.current = null; // L: 11
|
|
this.task = null; // L: 12
|
|
this.isClosed = false; // L: 14
|
|
javaVendor = "Unknown"; // L: 20
|
|
javaVersion = "1.6"; // L: 21
|
|
|
|
try {
|
|
javaVendor = System.getProperty("java.vendor"); // L: 23
|
|
javaVersion = System.getProperty("java.version"); // L: 24
|
|
} catch (Exception var2) { // L: 26
|
|
}
|
|
|
|
this.isClosed = false; // L: 27
|
|
this.thread = new Thread(this); // L: 28
|
|
this.thread.setPriority(10); // L: 29
|
|
this.thread.setDaemon(true); // L: 30
|
|
this.thread.start(); // L: 31
|
|
} // L: 32
|
|
|
|
@ObfuscatedName("h")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(B)V",
|
|
garbageValue = "92"
|
|
)
|
|
@Export("close")
|
|
public final void close() {
|
|
synchronized(this) { // L: 35
|
|
this.isClosed = true; // L: 36
|
|
this.notifyAll(); // L: 37
|
|
} // L: 38
|
|
|
|
try {
|
|
this.thread.join(); // L: 40
|
|
} catch (InterruptedException var3) { // L: 42
|
|
}
|
|
|
|
} // L: 43
|
|
|
|
@ObfuscatedName("c")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(IIILjava/lang/Object;I)Lek;",
|
|
garbageValue = "684176071"
|
|
)
|
|
@Export("newTask")
|
|
final Task newTask(int var1, int var2, int var3, Object var4) {
|
|
Task var5 = new Task(); // L: 90
|
|
var5.type = var1; // L: 91
|
|
var5.intArgument = var2; // L: 92
|
|
var5.objectArgument = var4; // L: 93
|
|
synchronized(this) { // L: 94
|
|
if (this.task != null) { // L: 95
|
|
this.task.next = var5; // L: 96
|
|
this.task = var5; // L: 97
|
|
} else {
|
|
this.task = this.current = var5; // L: 100
|
|
}
|
|
|
|
this.notify(); // L: 102
|
|
return var5; // L: 104
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("o")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Ljava/lang/String;IB)Lek;",
|
|
garbageValue = "-33"
|
|
)
|
|
@Export("newSocketTask")
|
|
public final Task newSocketTask(String var1, int var2) {
|
|
return this.newTask(1, var2, 0, var1); // L: 108
|
|
}
|
|
|
|
@ObfuscatedName("g")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Ljava/lang/Runnable;II)Lek;",
|
|
garbageValue = "523573283"
|
|
)
|
|
@Export("newThreadTask")
|
|
public final Task newThreadTask(Runnable var1, int var2) {
|
|
return this.newTask(2, var2, 0, var1); // L: 112
|
|
}
|
|
|
|
public final void run() {
|
|
while (true) {
|
|
Task var1;
|
|
synchronized(this) { // L: 48
|
|
while (true) {
|
|
if (this.isClosed) { // L: 50
|
|
return;
|
|
}
|
|
|
|
if (this.current != null) { // L: 51
|
|
var1 = this.current; // L: 52
|
|
this.current = this.current.next; // L: 53
|
|
if (this.current == null) { // L: 54
|
|
this.task = null;
|
|
}
|
|
break;
|
|
}
|
|
|
|
try {
|
|
this.wait(); // L: 58
|
|
} catch (InterruptedException var8) { // L: 60
|
|
}
|
|
}
|
|
}
|
|
|
|
try {
|
|
int var5 = var1.type; // L: 64
|
|
if (var5 == 1) { // L: 65
|
|
var1.result = new Socket(InetAddress.getByName((String)var1.objectArgument), var1.intArgument); // L: 66
|
|
} else if (var5 == 2) { // L: 68
|
|
Thread var3 = new Thread((Runnable)var1.objectArgument); // L: 69
|
|
var3.setDaemon(true); // L: 70
|
|
var3.start(); // L: 71
|
|
var3.setPriority(var1.intArgument); // L: 72
|
|
var1.result = var3; // L: 73
|
|
} else if (var5 == 4) { // L: 75
|
|
var1.result = new DataInputStream(((URL)var1.objectArgument).openStream()); // L: 76
|
|
}
|
|
|
|
var1.status = 1; // L: 78
|
|
} catch (ThreadDeath var6) { // L: 80
|
|
throw var6; // L: 81
|
|
} catch (Throwable var7) { // L: 83
|
|
var1.status = 2; // L: 84
|
|
}
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("lk")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(II)V",
|
|
garbageValue = "-822022696"
|
|
)
|
|
static void method2515(int var0) {
|
|
for (IntegerNode var1 = (IntegerNode)Client.widgetFlags.first(); var1 != null; var1 = (IntegerNode)Client.widgetFlags.next()) { // L: 11594
|
|
if ((long)var0 == (var1.key >> 48 & 65535L)) { // L: 11595
|
|
var1.remove(); // L: 11596
|
|
}
|
|
}
|
|
|
|
} // L: 11599
|
|
}
|