/** * @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 KeepAlive::KeepAlive(Comm *comm, DoneObserver *doneObserver) : m_comm(comm) , m_observer(doneObserver) { Q_ASSERT(comm); Q_ASSERT(doneObserver); } template void KeepAlive::send() { connect(m_comm, &Comm::keepAliveReceived, this, &KeepAlive::onKeepAliveReceived); m_comm->keepAlive(); } template void KeepAlive::onKeepAliveReceived() { done(); } template void KeepAlive::done() { m_comm->disconnect(this); m_observer->done(this); } /** * Explicit template instantiations. */ ///@{ template class KeepAlive; template class KeepAlive; ///@} } // namespace detail } // namespace AudioVideoManagement