Initial commit
This commit is contained in:
commit
b7d90b9afe
16245 files changed
+3396666
No files matched your search
@@ -0,0 +1,59 @@
|
||||
/**
|
||||
* @RDE_HEADER@
|
||||
* StreamNameMappingToAva
|
||||
* $Id$
|
||||
* $HeadURL$
|
||||
* $Author$
|
||||
* Created by Christian Fröbel, NLSE, 2018-03-12
|
||||
*/
|
||||
|
||||
#include "stream_name_mapping_to_ava.h"
|
||||
#include "stream_name_mapping.h"
|
||||
#include "ava_session.h"
|
||||
#include "ava_control.h"
|
||||
#include <QString>
|
||||
#include <QtGlobal>
|
||||
#include <vector>
|
||||
|
||||
namespace AudioVideoManagement
|
||||
{
|
||||
|
||||
StreamNameMappingToAva::StreamNameMappingToAva(AvaSession *avaSession, StreamNameMapping *mapping)
|
||||
: m_avaSession(avaSession)
|
||||
, m_mapping(mapping)
|
||||
{
|
||||
Q_ASSERT(avaSession);
|
||||
Q_ASSERT(mapping);
|
||||
|
||||
QObject::connect(m_avaSession, &AvaSession::sessionEstablished, this, &StreamNameMappingToAva::onSessionEstablished);
|
||||
QObject::connect(m_avaSession, &AvaSession::disconnected, this, &StreamNameMappingToAva::onDisconnected);
|
||||
QObject::connect(m_mapping, &StreamNameMapping::changed, this, &StreamNameMappingToAva::onNamesChanged);
|
||||
|
||||
if (m_avaSession->isEstablished())
|
||||
onSessionEstablished();
|
||||
}
|
||||
|
||||
void StreamNameMappingToAva::onSessionEstablished()
|
||||
{
|
||||
m_established = true;
|
||||
|
||||
std::vector<StreamNameMapping::Names> names = m_mapping->allNames();
|
||||
for (const auto &element : names)
|
||||
m_avaSession->control()->defineStreamNameMapping(element.internal, element.display);
|
||||
}
|
||||
|
||||
void StreamNameMappingToAva::onDisconnected()
|
||||
{
|
||||
m_established = false;
|
||||
}
|
||||
|
||||
void StreamNameMappingToAva::onNamesChanged(int32_t mountingPointId, const QString &internalName, const QString &displayName)
|
||||
{
|
||||
Q_UNUSED(mountingPointId);
|
||||
if (!m_established)
|
||||
return;
|
||||
|
||||
m_avaSession->control()->defineStreamNameMapping(internalName, displayName);
|
||||
}
|
||||
|
||||
} // namespace AudioVideoManagement
|
||||
Reference in new issue
Block a user