1
0
forked from BRT/arc
arc/android/ziraat/ScreenXmlZiraatParser.h
slava 9c6d1bd4e5 Add Ziraat Bank integration and refactor XML parsing
Added support for Ziraat Bank in BankSettingsWindow and parsing scripts. Refactored XML parsing code for improved readability, removing unused methods and renaming functions for consistency. Updated configuration and app data to include Ziraat Bank.
2025-06-18 18:33:11 +07:00

57 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 ScreenXmlZiraatParser final : public QObject {
Q_OBJECT
public:
explicit ScreenXmlZiraatParser(QObject *parent = nullptr);
~ScreenXmlZiraatParser() 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> parseTodayAndYesterdayReportHistory();
QList<AccountInfo> parseAccountsInfo();
void test();
private:
QList<Node> m_nodes;
QDomElement m_xml;
QList<Node> findPinCodeNodes(const QString &pinCode);
};