diff options
author | Abyss777 <abyss@fox5.ru> | 2017-03-06 10:07:43 +0500 |
---|---|---|
committer | Abyss777 <abyss@fox5.ru> | 2017-03-06 10:25:28 +0500 |
commit | 679f838e8bd0caaea94b1d4d1cd9b740ea3b9606 (patch) | |
tree | 5615803d51c2c321514f70dd36ae92143e233ac7 /src/org/traccar/BaseProtocol.java | |
parent | cbb28de69d4da85b3baff9967549d35952164a31 (diff) | |
download | trackermap-server-679f838e8bd0caaea94b1d4d1cd9b740ea3b9606.tar.gz trackermap-server-679f838e8bd0caaea94b1d4d1cd9b740ea3b9606.tar.bz2 trackermap-server-679f838e8bd0caaea94b1d4d1cd9b740ea3b9606.zip |
Introduce terms "data" and "text" commands
Diffstat (limited to 'src/org/traccar/BaseProtocol.java')
-rw-r--r-- | src/org/traccar/BaseProtocol.java | 44 |
1 files changed, 25 insertions, 19 deletions
diff --git a/src/org/traccar/BaseProtocol.java b/src/org/traccar/BaseProtocol.java index bccc4e184..90b9f21f2 100644 --- a/src/org/traccar/BaseProtocol.java +++ b/src/org/traccar/BaseProtocol.java @@ -29,10 +29,10 @@ import java.util.Set; public abstract class BaseProtocol implements Protocol { private final String name; - private final Set<String> supportedCommands = new HashSet<>(); - private final Set<String> supportedSmsCommands = new HashSet<>(); + private final Set<String> supportedDataCommands = new HashSet<>(); + private final Set<String> supportedTextCommands = new HashSet<>(); - private StringProtocolEncoder smsEncoder = null; + private StringProtocolEncoder textCommandEncoder = null; public BaseProtocol(String name) { this.name = name; @@ -43,31 +43,36 @@ public abstract class BaseProtocol implements Protocol { return name; } - public void setSupportedCommands(String... commands) { - supportedCommands.addAll(Arrays.asList(commands)); + public void setSupportedDataCommands(String... commands) { + supportedDataCommands.addAll(Arrays.asList(commands)); + } + + public void setSupportedTextCommands(String... commands) { + supportedTextCommands.addAll(Arrays.asList(commands)); } - public void setSupportedSmsCommands(String... commands) { - supportedSmsCommands.addAll(Arrays.asList(commands)); + public void setSupportedCommands(String... commands) { + supportedDataCommands.addAll(Arrays.asList(commands)); + supportedTextCommands.addAll(Arrays.asList(commands)); } @Override - public Collection<String> getSupportedCommands() { - Set<String> commands = new HashSet<>(supportedCommands); + public Collection<String> getSupportedDataCommands() { + Set<String> commands = new HashSet<>(supportedDataCommands); commands.add(Command.TYPE_CUSTOM); return commands; } @Override - public Collection<String> getSupportedSmsCommands() { - Set<String> commands = new HashSet<>(supportedSmsCommands); + public Collection<String> getSupportedTextCommands() { + Set<String> commands = new HashSet<>(supportedTextCommands); commands.add(Command.TYPE_CUSTOM); return commands; } @Override - public void sendCommand(ActiveDevice activeDevice, Command command) { - if (supportedCommands.contains(command.getType())) { + public void sendDataCommand(ActiveDevice activeDevice, Command command) { + if (supportedDataCommands.contains(command.getType())) { activeDevice.write(command); } else if (command.getType().equals(Command.TYPE_CUSTOM)) { String data = command.getString(Command.KEY_DATA); @@ -81,17 +86,18 @@ public abstract class BaseProtocol implements Protocol { } } - public void setSmsEncoder(StringProtocolEncoder smsEncoder) { - this.smsEncoder = smsEncoder; + public void setTextCommandEncoder(StringProtocolEncoder textCommandEncoder) { + this.textCommandEncoder = textCommandEncoder; } @Override - public void sendSmsCommand(String phone, Command command) throws Exception { + public void sendTextCommand(String destAddress, Command command) throws Exception { if (Context.getSmppManager() != null) { if (command.getType().equals(Command.TYPE_CUSTOM)) { - Context.getSmppManager().sendMessageSync(phone, command.getString(Command.KEY_DATA), true); - } else if (supportedSmsCommands.contains(command.getType()) && smsEncoder != null) { - Context.getSmppManager().sendMessageSync(phone, (String) smsEncoder.encodeCommand(command), true); + Context.getSmppManager().sendMessageSync(destAddress, command.getString(Command.KEY_DATA), true); + } else if (supportedTextCommands.contains(command.getType()) && textCommandEncoder != null) { + Context.getSmppManager().sendMessageSync(destAddress, + (String) textCommandEncoder.encodeCommand(command), true); } else { throw new RuntimeException( "Command " + command.getType() + " is not supported in protocol " + getName()); |