#pragma once #include #include "ScreenXmlParser.h" #include "db/TransactionInfo.h" namespace Dushanbe { class CommonScript : public QObject { Q_OBJECT public: explicit CommonScript(QObject *parent = nullptr); ~CommonScript() override; protected: virtual void doStart() = 0; bool inputPinCode(const QString &deviceId, const QString &pinCode); bool runAppAndGoToHomeScreen( const QString &deviceId, const QString &packageName, const QString &pinCode, int width, int height ); Node swipeToButton( const QString &deviceId, const QString &text, int &counter, int width, int height ); void postAccountsData(const QList> &accounts); void postNewTransactionData(const MaterialInfo &account, const TransactionInfo &transaction); void updateTransactionData( const MaterialInfo &account, int transactionId, TransactionStatus status, const QString &oldDesc, const QString &newDesc ); void createBankProfileIfNeeded(const QString &deviceId, const QString &appCode); bool m_running = true; ScreenXmlParser xmlScreenParser; int m_counter = 0; signals: void finished(); void finishedWithResult(const QString &result); public slots: virtual void start() final; virtual void stop() final; private: Q_DISABLE_COPY(CommonScript); }; } // namespace Dushanbe