Skip to content
Snippets Groups Projects
Commit efe4bf32 authored by ManosAngelidis's avatar ManosAngelidis
Browse files

[NRRPLT-8384-mqtt]

parent 716ba766
No related branches found
No related tags found
No related merge requests found
......@@ -15,11 +15,12 @@ export default class NrpCoreDashboard extends React.Component {
}
onMqttClientConnected(mqttClient) {
mqttClient.subscribe('#', (err) => {
if (err) {
console.error(err);
}
});
mqttClient.subscribeToTopic('test_topic');
//mqttClient.subscribe('#', (err) => {
// if (err) {
// console.error(err);
// }
//};
}
render() {
......
import mqtt from 'mqtt';
import { EventEmitter } from 'events';
import * as proto from 'nrp-jsproto/nrp-engine_msgs-protobufjs';
//import * as proto from 'nrp-jsproto/nrp-engine_msgs-protobuf.js';
import { DataPackMessage } from '../../node_modules/nrp-jsproto/engine_grpc_pb.js';
import jspb from 'google-protobuf';
//import { hasSubscribers } from 'diagnostics_channel';
let _instance = null;
const SINGLETON_ENFORCER = Symbol();
......@@ -16,7 +19,9 @@ export default class MqttClientService extends EventEmitter {
throw new Error('Use ' + this.constructor.name + '.instance');
}
console.info(proto);
this.subTokensMap = new Map();
console.info(DataPackMessage);
}
static get instance() {
......@@ -62,6 +67,39 @@ export default class MqttClientService extends EventEmitter {
console.error(error);
}
}
subscribeToTopic(topic, callback=Function()){
const token = {
topic: topic,
callback: callback
};
if (this.subTokensMap.has(token.topic)){
this.subTokensMap.set(
token.topic,
[this.subTokensMap.get(token.topic), token]
);
}
else{
this.subTokensMap.set(
token.topic,
token
);
}
console.info('You have been subscribed to topic ' + topic);
return token;
}
static getProtoOneofData(protoMsg, oneofCaseNumber) {
return jspb.Message.getField(protoMsg, oneofCaseNumber);
}
static getDataPackMessageOneofCaseString(protoMsg) {
for (let dataCase in DataPackMessage.DataCase) {
if (DataPackMessage.DataCase[dataCase] === protoMsg.getDataCase()) {
return dataCase;
}
}
}
}
MqttClientService.EVENTS = Object.freeze({
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment