33 lines
782 B
C++
33 lines
782 B
C++
#include "NodeContext.h"
|
|
|
|
NodeContext::NodeContext() {
|
|
udp = new WiFiUDP();
|
|
memberList = new std::map<String, NodeInfo>();
|
|
hostname = "";
|
|
self.hostname = "";
|
|
self.ip = IPAddress();
|
|
self.lastSeen = 0;
|
|
self.status = NodeInfo::INACTIVE;
|
|
}
|
|
|
|
NodeContext::NodeContext(std::initializer_list<std::pair<String, String>> initialLabels) : NodeContext() {
|
|
for (const auto& kv : initialLabels) {
|
|
self.labels[kv.first] = kv.second;
|
|
}
|
|
}
|
|
|
|
NodeContext::~NodeContext() {
|
|
delete udp;
|
|
delete memberList;
|
|
}
|
|
|
|
void NodeContext::on(const std::string& event, EventCallback cb) {
|
|
eventRegistry[event].push_back(cb);
|
|
}
|
|
|
|
void NodeContext::fire(const std::string& event, void* data) {
|
|
for (auto& cb : eventRegistry[event]) {
|
|
cb(data);
|
|
}
|
|
}
|