/** * @RDE_HEADER@ * GetStreamList * $Id$ * $HeadURL$ * $Author$ * Created by Christian Fröbel, SLSE, 2017-06-29 */ #include "get_stream_list.h" #include "iava_comm.h" #include "iava_command_done_observer.h" #include namespace AudioVideoManagement { namespace AvaCommands { GetStreamList::GetStreamList(IAvaComm *comm, IAvaCommandDoneObserver *observer, AvaStreamType streamType, AvaStreamSource streamSource, StreamNameMapping *streamNameMapping) : m_streamType(streamType) , m_streamSource(streamSource) , m_collector(comm, [this] (QVector &&streams) { onStreamListReceived(std::move(streams)); }, StreamListElementFactory(streamType, streamSource, streamNameMapping)) , m_comm(comm) , m_observer(observer) { Q_ASSERT(comm); Q_ASSERT(observer); } void GetStreamList::send() { m_collector.start(); m_comm->getStreamList(m_streamType, m_streamSource); } void GetStreamList::done() { m_comm->disconnect(this); m_observer->done(this); } void GetStreamList::onStreamListReceived(QVector &&streams) { m_streams = std::move(streams); done(); } }} // namespace AudioVideoManagement::AvaCommands