// Copyright (C) 2016 Tim Sander // Copyright (C) 2016 Denis Shienkov // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 #pragma once #include #include namespace BareMetal::Internal { class IDebugServerProvider; // BareMetalDevice class BareMetalDevice final : public ProjectExplorer::IDevice { public: using Ptr = QSharedPointer; using ConstPtr = QSharedPointer; static Ptr create() { return Ptr(new BareMetalDevice); } ~BareMetalDevice() final; static QString defaultDisplayName(); ProjectExplorer::IDeviceWidget *createWidget() final; QString debugServerProviderId() const; void setDebugServerProviderId(const QString &id); void unregisterDebugServerProvider(IDebugServerProvider *provider); protected: void fromMap(const QVariantMap &map) final; QVariantMap toMap() const final; private: BareMetalDevice(); QString m_debugServerProviderId; }; // BareMetalDeviceFactory class BareMetalDeviceFactory final : public ProjectExplorer::IDeviceFactory { public: BareMetalDeviceFactory(); }; } // BareMetal::Internal