21#ifndef MYTHEXTERNCONTROL_H
22#define MYTHEXTERNCONTROL_H
29#include <condition_variable>
52 bool Fill(
const QByteArray & buffer);
54 std::chrono::time_point<std::chrono::system_clock>
HeartBeat(
void)
const
71 std::chrono::time_point<std::chrono::system_clock>
m_heartbeat;
91 const QString & status,
92 const QString & serial,
93 const QString & response =
"");
103 void HasTuner(
const QString & serial)
const;
135 QString
Desc(
void)
const {
return QString(
"%1: ").arg(
m_desc); }
139 void Error(
const QString & msg);
140 void Fatal(
const QString & msg);
165 const QString & serial,
166 const QString & message,
167 const QString & status =
"");
std::queue< block_t > stack_t
~Buffer(void) override=default
std::chrono::time_point< std::chrono::system_clock > m_heartbeat
MythExternControl * m_parent
static constexpr uint16_t kMaxQueue
bool Fill(const QByteArray &buffer)
std::vector< uint8_t > block_t
Buffer(MythExternControl *parent)
std::chrono::time_point< std::chrono::system_clock > HeartBeat(void) const
bool ProcessCommand(const QString &query)
void HasPictureAttributes(const QString &serial) const
void StopStreaming(const QString &serial, bool silent)
void HasTuner(const QString &serial) const
void TuneStatus(const QString &serial)
void LoadChannels(const QString &serial)
void StartStreaming(const QString &serial)
void TuneChannel(const QString &serial, const QVariantMap &args)
void FirstChannel(const QString &serial)
MythExternControl * m_parent
void NextChannel(const QString &serial)
void SetBlockSize(const QString &serial, int blksz)
void LockTimeout(const QString &serial) const
Commands(MythExternControl *parent)
bool SendStatus(const QString &command, const QString &status, const QString &serial, const QString &response="")
~Commands(void) override=default
void ErrorMessage(const QString &msg)
void TuneStatus(const QString &serial)
void StartStreaming(const QString &serial)
void SetBlockSize(const QString &serial, int blksz)
void HasTuner(const QString &serial)
std::atomic< bool > m_streaming
void Error(const QString &msg)
void HasPictureAttributes(const QString &serial)
QString ErrorString(void) const
std::condition_variable m_runCond
void Fill(const QByteArray &buffer)
~MythExternControl(void) override
std::atomic< bool > m_xon
void SendMessage(const QString &command, const QString &serial, const QString &message, const QString &status="")
void FirstChannel(const QString &serial)
void Fatal(const QString &msg)
std::atomic< bool > m_run
void TuneChannel(const QString &serial, const QVariantMap &args)
void NextChannel(const QString &serial)
std::atomic< bool > m_commandsRunning
void LoadChannels(const QString &serial)
void SetDescription(const QString &desc)
void StopStreaming(const QString &serial, bool silent)
std::condition_variable m_flowCond
void LockTimeout(const QString &serial)
std::atomic< bool > m_bufferRunning
std::atomic< bool > m_ready