overloaded register func in mqttclilent

This commit is contained in:
Wolfgang Hottgenroth
2017-08-09 00:13:31 +02:00
parent ca1dea597c
commit c8e55b64b3
4 changed files with 28 additions and 21 deletions

16
dist/mqttclient.js vendored
View File

@ -13,12 +13,16 @@ class MqttClient {
this._mqttBrokerUrl = (mqttBrokerUrl) ? mqttBrokerUrl : MQTT_BROKER_DEFAULT_URL;
this._topicHandlers = [];
}
registerCallbackFunc(topic, label, callbackFunc) {
let newChainItem = new callchain.ChainItem(label);
newChainItem.registerFunc(callbackFunc);
this.registerCallbackClass(topic, label, newChainItem);
}
registerCallbackClass(topic, label, newChainItem) {
register(topic, label, newChainItemOrCallbackFunc) {
let newChainItem;
if (newChainItemOrCallbackFunc instanceof callchain.AChainItem) {
newChainItem = newChainItemOrCallbackFunc;
}
else {
let myNewChainItem = new callchain.ChainItem(label);
myNewChainItem.registerFunc(newChainItemOrCallbackFunc);
newChainItem = myNewChainItem;
}
let done = false;
for (let topicHandler of this._topicHandlers) {
if (topicHandler.topic === topic) {