Files
qt5-legatus-legacy/Lts/Services/AudioVideoManagement/AvsCommands/vd_set_script.h
T
2026-08-13 18:33:10 +02:00

68 lines
1.9 KiB
C++
Executable File

/**
* @RDE_HEADER@
* VdSetScript
* $Id$
* $HeadURL$
* $Author$
* Created by Astrid Müller, SGAS, 2018-06-18
*/
#pragma once
#include "icommand.h"
#include <AudioVideoManagement/ava_types.h>
#include <QString>
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<AvaScriptEntry> &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<AvaScriptEntry> m_streams;
const QString m_exportedDirBaseName;
const QString m_absolutePath;
IVdComm *m_comm;
IVdCommandDoneObserver *m_observer;
};
}
} // namespace AudioVideoManagement::AvaCommands