/** * @RDE_HEADER@ * Interface video download communication * $Id$ * $HeadURL$ * $Author$ * Created by Astrid Müller, SGAS, 2018-02-22 */ #pragma once #include "ava_types.h" #include "avm_export.h" #include #include #include class QString; class QByteArray; namespace AudioVideoManagement { /** * This interface is needed in order to mock VdComm in UnitTests. * * @author Christian Fröbel */ class AVM_COMMON_EXPORT IVdComm : public QObject { Q_OBJECT public: virtual void forceDisconnect() = 0; virtual void switchContext(int exerciseId) = 0; virtual void vdSetScript(const QString &scriptName, AvaStreamType typ, int fileSplitting, const QVector &streams, const QString &exportedDirBaseName, const QString &absolutePath) = 0; virtual void vdReleaseScript(const QString &scriptName) = 0; virtual void keepAlive() = 0; signals: /** Emitted when the socket is connected *and* the protocol greeting was received. */ void connected(); void disconnected(); void ok(); void scriptExportProgress(int progress); void scriptStateReceived(const QString &scriptName, AvaStreamState state); void keepAliveReceived(); }; } // namespace AudioVideoManagement