INNER CODE UNIT · Kotlin
shutdown
vogler75/automation-gateway · source/lib-plc4x/src/main/kotlin/Plc4xDriver.kt:160
override fun shutdown() {
disconnect()
}
override fun subscribeTopics(topics: List<Topic>): Future<Boolean> {
return subscribeTopic(topics.filter { it.topicType === Topic.TopicType.Node })
}
private fun subscribeTopic(topics: List<Topic>) : Future<Boolean> {
logger.fine {"Subscribe topic [${topics.size}]" }
val ret = Promise.promise<Boolean>()
when {
plc?.metadata?.isSubscribeSupported == false -> {
topics.forEach { topic ->
if (!pollingTopics.containsKey(topic)) {
pollingTopics[topic] = null
registry.addMonitoredItem(Plc4xPolledItem(topic), topic)
}