1
0
forked from BRT/arc
arc/android/birbank/ScreenXmlBirbankParser.h
2025-07-27 21:01:13 +05:00

58 lines
1.3 KiB
C++

#pragma once
#include <QObject>
#include <QDomElement>
#include "android/xml/Node.h"
#include "db/AccountInfo.h"
#include "db/TransactionInfo.h"
class ScreenXmlBirbankParser final : public QObject {
Q_OBJECT
public:
explicit ScreenXmlBirbankParser(QObject *parent = nullptr);
~ScreenXmlBirbankParser() override;
Node tryToFindBannerOrDialog(int width, int height);
Node tryToFindSecurityBanner();
Node tryToFindSelectBottomSheet();
Node findAccountButton(const QString &numbers);
Node findTextNode(const QString &text);
Node findTextNode(const QString &text, int x1, int y1, int x2, int y2);
Node findEditText(const QString &text);
Node findEditTextByResourceId(const QString &resourceId);
Node findButtonNode(const QString &text, bool contains);
bool isHomeScreen();
QList<Node> getLast2DaysTransactions();
void parseAndSaveXml(const QString &xml);
TransactionInfo parseTransactionInfoHistory(int screenWidth, int screenHeight);
TransactionInfo parseTransactionInfo(int screenWidth, int screenHeight);
QList<TransactionInfo> parsePositiveTransactions();
QList<AccountInfo> parseAccountsInfo();
QList<Node> findPinCodeNodes(const QString &pinCode);
void test();
private:
QList<Node> m_nodes;
QDomElement m_xml;
};