68 lines
1.9 KiB
C++
Executable File
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
|
|
|