Initial commit
This commit is contained in:
commit
b7d90b9afe
16245 files changed
+3396666
No files matched your search
+72
@@ -0,0 +1,72 @@
|
||||
/**
|
||||
* @RDE_HEADER@
|
||||
* AvaState
|
||||
* $Id$
|
||||
* $HeadURL$
|
||||
* $Author$
|
||||
* Created by Christian Fröbel, SLSE, 2017-07-24
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "ava_types.h"
|
||||
#include "rt_state.h"
|
||||
#include "avm_export.h"
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <QMap>
|
||||
#include <QObject>
|
||||
|
||||
namespace AudioVideoManagement
|
||||
{
|
||||
|
||||
class AvaSession;
|
||||
|
||||
/**
|
||||
* This class observes the communication from AVS_Workstation to our application.
|
||||
* It observes the responses sent from AVS_Workstation to us as a result of commands
|
||||
* issued by possibly many client-side users of the single communication channel.
|
||||
* By observing the responses it builds up a mirrored state of the AVS_Workstation
|
||||
* in terms of our application's needs.
|
||||
*
|
||||
* After instantiating this class or after a re-connect, AvaState activly queries
|
||||
* the list of streams. After that point AvaState is passive only.
|
||||
*
|
||||
* @author Christian Fröbel
|
||||
*/
|
||||
class AVM_COMMON_EXPORT AvaState : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit AvaState(AvaSession *session);
|
||||
|
||||
/** Resembles ScrEdAvInterface::getVideoProfile() */
|
||||
const QMap<QString, QMap<QString, AvaStreamState>> &videoProfile() const { return m_videoState; }
|
||||
|
||||
QStringList currentLiveVideoStreams() const;
|
||||
|
||||
// the first one is the selected one (if any)
|
||||
QStringList getRtProfile() const;
|
||||
|
||||
RtState *rtState() { return &m_rtState; }
|
||||
|
||||
private slots:
|
||||
void onDisconnected();
|
||||
void onSessionEstablished();
|
||||
|
||||
void onStreamStateReceived(const QString &dialogId, const QString &streamName, AvaStreamState);
|
||||
|
||||
void onSumChannelStateReceived(AvaSumChannel sumChannel);
|
||||
void onRtChoiceUnitStateReceived(AvaRtPos pos, const QString &streamName, AvaRtButtonState buttonState);
|
||||
void onRtVolumeUserReceived(const QString &streamName, AvaVolume volume);
|
||||
|
||||
private:
|
||||
//AvaSession *m_session;
|
||||
RtState m_rtState;
|
||||
|
||||
/** QMap<dialogId, QMap<streamName, AvaStreamState>> */
|
||||
QMap<QString, QMap<QString, AvaStreamState>> m_videoState;
|
||||
};
|
||||
|
||||
} // namespace AudioVideoManagement
|
||||
Reference in new issue
Block a user