aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar/protocol/Gt06ProtocolDecoder.java
diff options
context:
space:
mode:
authorGabor Somogyi <Gabor_Somogyi@epam.com>2016-05-04 14:36:18 +0200
committerGabor Somogyi <Gabor_Somogyi@epam.com>2016-05-04 14:39:03 +0200
commit516ef6a30eb59e1b9c3aa297e3595c5acf665530 (patch)
tree2bed5e621be4786816bbf3d6adabe41d2d43fbdb /src/org/traccar/protocol/Gt06ProtocolDecoder.java
parent5bf82eff1ecac7b23661cea14be26aa7a3e4d09a (diff)
parent59f466092c9c875c2bbcb70a2a402aad0edd7639 (diff)
downloadtrackermap-server-516ef6a30eb59e1b9c3aa297e3595c5acf665530.tar.gz
trackermap-server-516ef6a30eb59e1b9c3aa297e3595c5acf665530.tar.bz2
trackermap-server-516ef6a30eb59e1b9c3aa297e3595c5acf665530.zip
Merge branch 'master' into command_framework
Diffstat (limited to 'src/org/traccar/protocol/Gt06ProtocolDecoder.java')
-rw-r--r--src/org/traccar/protocol/Gt06ProtocolDecoder.java29
1 files changed, 25 insertions, 4 deletions
diff --git a/src/org/traccar/protocol/Gt06ProtocolDecoder.java b/src/org/traccar/protocol/Gt06ProtocolDecoder.java
index e83ced668..18524fcfa 100644
--- a/src/org/traccar/protocol/Gt06ProtocolDecoder.java
+++ b/src/org/traccar/protocol/Gt06ProtocolDecoder.java
@@ -15,9 +15,6 @@
*/
package org.traccar.protocol;
-import java.net.SocketAddress;
-import java.util.TimeZone;
-
import org.jboss.netty.buffer.ChannelBuffer;
import org.jboss.netty.buffer.ChannelBuffers;
import org.jboss.netty.channel.Channel;
@@ -30,6 +27,10 @@ import org.traccar.helper.UnitsConverter;
import org.traccar.model.Event;
import org.traccar.model.Position;
+import java.net.SocketAddress;
+import java.nio.charset.StandardCharsets;
+import java.util.TimeZone;
+
public class Gt06ProtocolDecoder extends BaseProtocolDecoder {
private boolean forceTimeZone = false;
@@ -203,7 +204,27 @@ public class Gt06ProtocolDecoder extends BaseProtocolDecoder {
} else if (hasDeviceId()) {
- if (isSupported(type)) {
+ if (type == MSG_STRING) {
+
+ Position position = new Position();
+ position.setDeviceId(getDeviceId());
+ position.setProtocol(getProtocolName());
+
+ getLastLocation(position, null);
+
+ int commandLength = buf.readUnsignedByte();
+
+ buf.readUnsignedByte(); // server flag (reserved)
+
+ position.set("command", buf.readBytes(commandLength - 1).toString(StandardCharsets.US_ASCII));
+
+ buf.readUnsignedShort(); // language
+
+ sendResponse(channel, type, buf.readUnsignedShort());
+
+ return position;
+
+ } else if (isSupported(type)) {
Position position = new Position();
position.setDeviceId(getDeviceId());