Hexapod/include/OSCRemote.h
2020-04-05 20:25:32 +02:00

32 lines
603 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;
};