27 lines
850 B
C++
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
|