Hexapod/include/OSCRemote.h
2020-04-05 17:42:08 +02:00

34 lines
608 B
C++

#pragma once
#include "IRemote.h"
#include "Vbat.h"
#include <OSCBundle.h>
#include <OSCData.h>
#include <OSCMessage.h>
#include <WiFiUdp.h>
#include <list>
class OSCRemote : public IRemote {
public:
//! Needs to be called in "Setup"
OSCRemote(const Vbat &);
void loop();
const IRemote::Output &output() override;
void registerCallback(void (*callback)(const IRemote::Output &)) override;
private:
//! Place this after WiFi.begin() in main
void init();
IRemote::Output _output;
std::list<void (*)(const IRemote::Output &)> _callbacks;
const Vbat &_vbat;
};