#pragma once

#include <QObject>
#include <QScopedPointer>
#include <QJsonObject>
#include <QJsonArray>

#include "commonsystemdetector.h"

class WinSystemDetectorPrivate;
class WinSystemDetector : public CommonSystemDetector
{
    Q_OBJECT
public:
    explicit WinSystemDetector(QObject *parent = Q_NULLPTR);
    ~WinSystemDetector() Q_DECL_OVERRIDE;

    void test();

    virtual QString macAddress() const Q_DECL_OVERRIDE;
    virtual QJsonArray getSoftwareInfo() Q_DECL_OVERRIDE;
    virtual void saveOSHistory() Q_DECL_OVERRIDE;

    virtual QSharedPointer<SystemInfo> fetchSystemInfo() Q_DECL_OVERRIDE;
private:

    QScopedPointer<WinSystemDetectorPrivate> dd_ptr;
    Q_DECLARE_PRIVATE_D(qGetPtrHelper(dd_ptr), WinSystemDetector)
};

