Files
qt5-legatus-legacy/Lts/Services/AudioVideoManagement/AvsCommands/get_stream_list.cpp
T
2026-08-13 18:33:10 +02:00

52 lines
1.1 KiB
C++
Executable File

/**
* @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 <QtGlobal>
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<AvaStream> &&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<AvaStream> &&streams)
{
m_streams = std::move(streams);
done();
}
}} // namespace AudioVideoManagement::AvaCommands