55 lines
1.2 KiB
C++
Executable File
55 lines
1.2 KiB
C++
Executable File
/**
|
|
* @RDE_HEADER@
|
|
* GetStreamList
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
* Created by Christian Fröbel, SLSE, 2017-06-29
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "icommand.h"
|
|
#include <AudioVideoManagement/ava_types.h>
|
|
#include <AudioVideoManagement/list_response_collector.h>
|
|
#include <QVector>
|
|
|
|
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<AvaStream> &streams() const { return m_streams; }
|
|
|
|
private:
|
|
void done();
|
|
void onStreamListReceived(QVector<AvaStream> &&streams);
|
|
|
|
const AvaStreamType m_streamType;
|
|
const AvaStreamSource m_streamSource;
|
|
QVector<AvaStream> m_streams;
|
|
StreamListCollector m_collector;
|
|
IAvaComm *m_comm;
|
|
IAvaCommandDoneObserver *m_observer;
|
|
};
|
|
|
|
}} // namespace AudioVideoManagement::AvaCommands
|