|
|
|
@ -16,6 +16,7 @@ |
|
|
|
package org.thingsboard.server.transport.mqtt.session; |
|
|
|
|
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.thingsboard.server.common.data.DeviceProfile; |
|
|
|
import org.thingsboard.server.common.transport.SessionMsgListener; |
|
|
|
import org.thingsboard.server.common.transport.auth.TransportDeviceInfo; |
|
|
|
import org.thingsboard.server.gen.transport.TransportProtos; |
|
|
|
@ -32,7 +33,7 @@ import java.util.concurrent.ConcurrentMap; |
|
|
|
public class GatewayDeviceSessionCtx extends MqttDeviceAwareSessionContext implements SessionMsgListener { |
|
|
|
|
|
|
|
private final GatewaySessionHandler parent; |
|
|
|
private final SessionInfoProto sessionInfo; |
|
|
|
private volatile SessionInfoProto sessionInfo; |
|
|
|
|
|
|
|
public GatewayDeviceSessionCtx(GatewaySessionHandler parent, TransportDeviceInfo deviceInfo, ConcurrentMap<MqttTopicMatcher, Integer> mqttQoSMap) { |
|
|
|
super(UUID.randomUUID(), mqttQoSMap); |
|
|
|
@ -105,4 +106,10 @@ public class GatewayDeviceSessionCtx extends MqttDeviceAwareSessionContext imple |
|
|
|
public void onToServerRpcResponse(TransportProtos.ToServerRpcResponseMsg toServerResponse) { |
|
|
|
// This feature is not supported in the TB IoT Gateway yet.
|
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void onProfileUpdate(DeviceProfile deviceProfile) { |
|
|
|
deviceInfo.setDeviceType(deviceProfile.getName()); |
|
|
|
sessionInfo = SessionInfoProto.newBuilder().mergeFrom(sessionInfo).setDeviceType(deviceProfile.getName()).build(); |
|
|
|
} |
|
|
|
} |
|
|
|
|