diff options
Diffstat (limited to 'SQLiteStudio3/sqlitestudiocli/clicommandexecutor.cpp')
| -rw-r--r-- | SQLiteStudio3/sqlitestudiocli/clicommandexecutor.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/SQLiteStudio3/sqlitestudiocli/clicommandexecutor.cpp b/SQLiteStudio3/sqlitestudiocli/clicommandexecutor.cpp new file mode 100644 index 0000000..6a3072e --- /dev/null +++ b/SQLiteStudio3/sqlitestudiocli/clicommandexecutor.cpp @@ -0,0 +1,24 @@ +#include "clicommandexecutor.h" +#include "commands/clicommand.h" + +CliCommandExecutor::CliCommandExecutor(QObject *parent) : + QObject(parent) +{ +} + +void CliCommandExecutor::execCommand(CliCommand* cmd) +{ + connect(cmd, SIGNAL(execComplete()), this, SLOT(asyncExecutionComplete())); + cmd->execute(); + if (!cmd->isAsyncExecution()) + { + delete cmd; + emit executionComplete(); + } +} + +void CliCommandExecutor::asyncExecutionComplete() +{ + sender()->deleteLater(); + emit executionComplete(); +} |
