aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar/BaseProtocol.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/traccar/BaseProtocol.java')
-rw-r--r--src/org/traccar/BaseProtocol.java44
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());