/** * @RDE_HEADER@ * VdSetScript * $Id$ * $HeadURL$ * $Author$ * Created by Astrid Müller, SGAS, 2018-06-18 */ #pragma once #include "icommand.h" #include #include namespace AudioVideoManagement { class IVdComm; class IVdCommandDoneObserver; namespace AvaCommands { /** * The response to VdSetScript depends on whether a script is currently * set or not. * The response to the actual VdSetScript contains -- among other things -- * a ScriptInfo and a ScriptState and a ScriptPos. * The export is completed when the ExportProgress is 100%. * @author Astrid Müller */ class VdSetScript : public ICommand { Q_OBJECT public: VdSetScript(IVdComm *comm, IVdCommandDoneObserver *doneObserver, const QString &scriptName, AvaStreamType typ, int fileSplitting, const QVector &streams, const QString &exportedDirBaseName, const QString &absolutePath); void send() override; QString debug() const override { return QLatin1String("VdSetScript"); } const QString getAvDir() { return (m_absolutePath + QLatin1Char('/') + m_exportedDirBaseName); } AvaStreamType getStreamType() { return m_type; } bool wasSuccessful() { return m_state != AvaStreamState::NotPossible; } private slots: void onScriptExportProgress(int progress); void onScriptStateReceived(const QString &scriptName, AvaStreamState state); private: void done(); const QString m_scriptName; AvaStreamType m_type; AvaStreamState m_state; int m_fileSplitting; const QVector m_streams; const QString m_exportedDirBaseName; const QString m_absolutePath; IVdComm *m_comm; IVdCommandDoneObserver *m_observer; }; } } // namespace AudioVideoManagement::AvaCommands