Initial commit
This commit is contained in:
commit
b7d90b9afe
16245 files changed
+3396666
No files matched your search
+64
@@ -0,0 +1,64 @@
|
||||
/**
|
||||
* @RDE_HEADER@
|
||||
* AudioVideoHandler
|
||||
* $Id$
|
||||
* $HeadURL$
|
||||
* $Author$
|
||||
* Created by Christian Fröbel, SLSE, 2017-11-27
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <memory>
|
||||
#include <QObject>
|
||||
|
||||
class QString;
|
||||
|
||||
namespace AudioVideoManagement
|
||||
{
|
||||
|
||||
class DatabaseInterface;
|
||||
class ExerciseHandler;
|
||||
class Exercise;
|
||||
class AudioVideoHandlerImpl;
|
||||
class DefaultAvMenus;
|
||||
|
||||
namespace Interface
|
||||
{
|
||||
class Dts;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* The AudioVideoHandler is responsible to keep the AVS device_config in sync
|
||||
* with cameras and announcement units currently mounted.
|
||||
* For this it observes the corrsponding Exercise (signals Exercise::assetAssigned() and Exercise::assetUnassigned()).
|
||||
* The Exercise instance is managed by the AssetAssignmentManager.
|
||||
* Also, the currently active streams will be published in the corresponding exercise partition.
|
||||
*
|
||||
* The functionality itself is implemented in AudioVideoHandlerImpl.
|
||||
*
|
||||
* @see AudioVideoHandlerImpl
|
||||
* @author Christian Fröbel
|
||||
*/
|
||||
class AudioVideoHandler : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
AudioVideoHandler(Exercise *exercise, ExerciseHandler *exerciseHandler, DefaultAvMenus *defaultAvMenus, DatabaseInterface *db, Interface::Dts *dts);
|
||||
virtual ~AudioVideoHandler();
|
||||
|
||||
signals:
|
||||
/** Signalled after device_config modifications. */
|
||||
void avDbReloadNeeded();
|
||||
|
||||
private:
|
||||
class DbProxy;
|
||||
class DtsProxy;
|
||||
std::unique_ptr<DbProxy> m_dbProxy;
|
||||
std::unique_ptr<DtsProxy> m_dtsProxy;
|
||||
std::unique_ptr<AudioVideoHandlerImpl> m_impl;
|
||||
};
|
||||
|
||||
} // namespace AudioVideoManagement
|
||||
Reference in new issue
Block a user