summaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/sqlitestudiocli/clicommandexecutor.cpp
blob: 6a3072e80e66cd32c5aac289513daed5431765fb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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();
}