fwt_software/include/fgc/mock/NullControlChannel.h

27 lines
850 B
C++

#pragma once
#include "fgc/IControlChannel.h"
#include "fgc/Logger.h"
namespace fgc {
// No-op control channel for running without an MQTT broker. Publishes are
// dropped (logged at debug) and poll() never supplies a control command, so
// the scheduler stays in automatic-sweep mode (ControlCode 0).
class NullControlChannel : public IControlChannel {
public:
bool connect() override { return true; }
void disconnect() override {}
bool connected() const override { return true; }
void publishStatus(int code) override { LOG_DEBUG << "[null] status " << code; }
void publishCamEvent(const CamEvent& e) override {
LOG_DEBUG << "[null] cam event " << e.camera << " hdg=" << e.heading_decideg
<< " t=" << e.timestamp_ms;
}
ControlCommand poll() override { return {}; }
};
} // namespace fgc