#pragma once #include #include "ScreenXmlBirbankParser.h" #include "android/xml/Node.h" #include "db/AccountInfo.h" #include "db/TransactionInfo.h" class CommonBirbankScript : public QObject { Q_OBJECT public: explicit CommonBirbankScript(QObject *parent = nullptr); ~CommonBirbankScript() override; protected: virtual void doStart() = 0; bool goToAllProducts( const QString &deviceId, int width, int height ); void postAccountsData(const QList &accounts); void postNewTransactionData(const AccountInfo &account, const TransactionInfo &transaction); void updateTransactionData( const AccountInfo &account, int transactionId, TransactionStatus status, const QString &oldDesc, const QString &newDesc ); Node swipeToButton( const QString &deviceId, const QString &text, int &counter, int width, int height ); bool runAppAndGoToHomeScreen( const QString &deviceId, const QString &packageName, const QString &pinCode, int width, int height ); bool m_running = true; ScreenXmlBirbankParser 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(CommonBirbankScript); };