#ifndef WUPGRADEAPKITEM_H
#define WUPGRADEAPKITEM_H

#include <QObject>
#include <QTreeWidget>
#include <QTreeWidgetItem>
#include <QDir>
#include <QDateTime>
#include <QJsonObject>
#include <QJsonDocument>
#include <QPushButton>
#include <base/loqtreewidget.h>
#include <device/ledcard.h>
#include <communication/hpptclient.h>
#include <QProgressBar>
#include <QLabel>

class wUpgradeApkItem : public QObject, public QTreeWidgetItem {
    Q_OBJECT
public:
    explicit wUpgradeApkItem(LedCard *pLedCard, LoQTreeWidget *parent = nullptr,QWidget *pWnd=nullptr);
    void SetItemParam(LedCard *p);
    void setResult(QString, QColor cr = Qt::blue);

    LedCard *mCard = nullptr;
    bool isUpdating{false};
    bool m_lockFlag=true;
    QLabel *m_ImageOnline=nullptr;
    LoQTreeWidget *m_parent = nullptr;
    QWidget *m_pWnd=nullptr;
    QProgressBar *mProgress=nullptr;
    QPushButton *m_bnLock = nullptr;
signals:
    void sigUpgradeSuccess();
    void sigUpgradeFail();

public slots:
    void onVerifyLockPassword();
    void OnCheckSoftVersions();
    void OnCheckFpgaVersions();

private:
    void SetPasswordItem(LedCard *p);
    void postFileTask(const QString& strUrl, const QString& strFilePath);//需要的数据
};
enum ENUM_DEVICE_PUBLISH_HEADERITEM
{
    Upgrade_Check=0,
    Upgrade_SCREEN_ID,
    Upgrade_ONLINE,
    Upgrade_SCREEN_IP,
    Upgrade_ENCRYPT,
    Upgrade_REMARK_NAME,
    Upgrade_PROGRESS,
    Upgrade_Remark,
    Upgrade_XIXUNPLAYER_VERSION,
    Upgrade_CARDSYSTEM_VERSION,
    Upgrade_STARTER_VERSION,
    Upgrade_TAXIAPP_VERSION,
    Upgrade_DISPLAYER_VERSION,
    Upgrade_FPAG_VERSION,
    Upgrade_CONNECTION_VERSION,
    Upgrade_UPDATE_VERSION,
    Upgrade_END,
};


#endif // WPROGRAMPUBLISHITEM_H
