From 932fd697698bd3d1e3351a28c4feda6db2b60e85 Mon Sep 17 00:00:00 2001 From: Manevolent Date: Mon, 23 Jul 2018 16:31:06 -0400 Subject: [PATCH] SimpleCommand object --- .../manevolent/ts3j/command/Command.java | 4 -- .../ts3j/command/SimpleCommand.java | 39 +++++++++++++++++++ .../TeamspeakClientHandlerConnecting.java | 2 + 3 files changed, 41 insertions(+), 4 deletions(-) create mode 100644 src/main/java/com/github/manevolent/ts3j/command/SimpleCommand.java diff --git a/src/main/java/com/github/manevolent/ts3j/command/Command.java b/src/main/java/com/github/manevolent/ts3j/command/Command.java index 37051df..9ef8974 100644 --- a/src/main/java/com/github/manevolent/ts3j/command/Command.java +++ b/src/main/java/com/github/manevolent/ts3j/command/Command.java @@ -3,10 +3,6 @@ package com.github.manevolent.ts3j.command; import com.github.manevolent.ts3j.command.part.CommandParameter; public interface Command { - boolean willExpectResponse(); - Iterable getParameters(); - void appendParameter(CommandParameter parameter); - } diff --git a/src/main/java/com/github/manevolent/ts3j/command/SimpleCommand.java b/src/main/java/com/github/manevolent/ts3j/command/SimpleCommand.java new file mode 100644 index 0000000..ebe3751 --- /dev/null +++ b/src/main/java/com/github/manevolent/ts3j/command/SimpleCommand.java @@ -0,0 +1,39 @@ +package com.github.manevolent.ts3j.command; + +import com.github.manevolent.ts3j.command.part.CommandParameter; + +import java.util.Collections; +import java.util.LinkedList; +import java.util.List; + +public class SimpleCommand implements Command { + private final String name; + private final List parameterList = new LinkedList<>(); + + public SimpleCommand(String name) { + this.name = name; + } + + @Override + public Iterable getParameters() { + return Collections.unmodifiableList(parameterList); + } + + @Override + public void appendParameter(CommandParameter parameter) { + parameterList.add(parameter); + } + + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append(name); + + for (CommandParameter parameter : getParameters()) { + builder.append(" "); + builder.append(parameter.toString()); + } + + return builder.toString(); + } +} diff --git a/src/main/java/com/github/manevolent/ts3j/handler/TeamspeakClientHandlerConnecting.java b/src/main/java/com/github/manevolent/ts3j/handler/TeamspeakClientHandlerConnecting.java index c2d0059..6c3e3c4 100644 --- a/src/main/java/com/github/manevolent/ts3j/handler/TeamspeakClientHandlerConnecting.java +++ b/src/main/java/com/github/manevolent/ts3j/handler/TeamspeakClientHandlerConnecting.java @@ -1,6 +1,7 @@ package com.github.manevolent.ts3j.handler; import com.github.manevolent.ts3j.Teamspeak3Client; +import com.github.manevolent.ts3j.command.Command; import com.github.manevolent.ts3j.protocol.NetworkPacket; import com.github.manevolent.ts3j.protocol.ProtocolRole; import com.github.manevolent.ts3j.protocol.packet.Packet8Init1; @@ -106,6 +107,7 @@ public class TeamspeakClientHandlerConnecting extends TeamspeakClientHandler { step4.setY(y); step4.setServerStuff(serverReplyStep3.getServerStuff()); + step4.setClientIVcommand(new byte[4]); // TODO response4.setStep(step4);