1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
#include "abstractutilityoperation.h"
#include <QTimer>
#include "flipperzero/devicestate.h"
using namespace Flipper;
using namespace Zero;
AbstractUtilityOperation::AbstractUtilityOperation(ProtobufSession *rpc, DeviceState *deviceState, QObject *parent):
AbstractOperation(parent),
m_rpc(rpc),
m_deviceState(deviceState)
{}
void AbstractUtilityOperation::start()
{
if(operationState() != AbstractOperation::Ready) {
finishWithError(BackendError::UnknownError, QStringLiteral("Trying to start an operation that is either already running or has finished."));
} else {
emit started();
advanceOperationState();
}
}
ProtobufSession *AbstractUtilityOperation::rpc() const
{
return m_rpc;
}
DeviceState *AbstractUtilityOperation::deviceState() const
{
return m_deviceState;
}
void AbstractUtilityOperation::advanceOperationState()
{
QTimer::singleShot(0, this, &AbstractUtilityOperation::nextStateLogic);
}
|