Initial commit

This commit is contained in:
torsten committed 2026-08-13 18:33:10 +02:00
commit b7d90b9afe
16245 files changed
+3396666

No files matched your search

@@ -0,0 +1,61 @@
/**
* @RDE_HEADER@
* KeepAlive
* $Id$
* $HeadURL$
* $Author$
* Created by Christian Fröbel, NLSE, 2018-04-10
*/
#include "keep_alive.h"
#include "iava_comm.h"
#include "iava_command_done_observer.h"
#include "ivd_comm.h"
#include "ivd_command_done_observer.h"
namespace AudioVideoManagement
{
namespace detail
{
template<class Comm, class DoneObserver>
KeepAlive<Comm, DoneObserver>::KeepAlive(Comm *comm, DoneObserver *doneObserver)
: m_comm(comm)
, m_observer(doneObserver)
{
Q_ASSERT(comm);
Q_ASSERT(doneObserver);
}
template<class Comm, class DoneObserver>
void KeepAlive<Comm, DoneObserver>::send()
{
connect(m_comm, &Comm::keepAliveReceived, this, &KeepAlive::onKeepAliveReceived);
m_comm->keepAlive();
}
template<class Comm, class DoneObserver>
void KeepAlive<Comm, DoneObserver>::onKeepAliveReceived()
{
done();
}
template<class Comm, class DoneObserver>
void KeepAlive<Comm, DoneObserver>::done()
{
m_comm->disconnect(this);
m_observer->done(this);
}
/**
* Explicit template instantiations.
*/
///@{
template class KeepAlive<IAvaComm, IAvaCommandDoneObserver>;
template class KeepAlive<IVdComm, IVdCommandDoneObserver>;
///@}
} // namespace detail
} // namespace AudioVideoManagement