/** * @RDE_HEADER@ * GetStreamList * $Id$ * $HeadURL$ * $Author$ * Created by Christian Fröbel, SLSE, 2017-06-29 */ #pragma once #include "icommand.h" #include #include #include namespace AudioVideoManagement { class IAvaComm; class IAvaCommandDoneObserver; class StreamNameMapping; namespace AvaCommands { /** * @author Christian Fröbel */ class GetStreamList final : public ICommand { Q_OBJECT public: GetStreamList(IAvaComm *comm, IAvaCommandDoneObserver *observer, AvaStreamType, AvaStreamSource, StreamNameMapping *streamNameMapping); void send() override; QString debug() const override { return QLatin1String("GetStreamList"); } const QVector &streams() const { return m_streams; } private: void done(); void onStreamListReceived(QVector &&streams); const AvaStreamType m_streamType; const AvaStreamSource m_streamSource; QVector m_streams; StreamListCollector m_collector; IAvaComm *m_comm; IAvaCommandDoneObserver *m_observer; }; }} // namespace AudioVideoManagement::AvaCommands