#ifndef DEVICEMANAGERWIDGET_H #define DEVICEMANAGERWIDGET_H #include "devicemenuwidget.h" #include "devicependingwidget.h" #include "devicesidebarwidget.h" #include "iDescriptor.h" #include "recoverydeviceinfowidget.h" #include #include #include #include class DeviceManagerWidget : public QWidget { Q_OBJECT public: explicit DeviceManagerWidget(QWidget *parent = nullptr); void setCurrentDevice(const std::string &uuid); std::string getCurrentDevice() const; signals: void updateNoDevicesConnected(); private slots: void onDeviceSelectionChanged(const DeviceSelection &selection); private: void setupUI(); void addDevice(iDescriptorDevice *device); void removeDevice(const std::string &uuid); void addRecoveryDevice(const iDescriptorRecoveryDevice *device); void removeRecoveryDevice(uint64_t ecid); // TODO:udid or uuid ? void addPendingDevice(const QString &udid, bool locked); void addPairedDevice(iDescriptorDevice *device); void removePendingDevice(const QString &udid); QHBoxLayout *m_mainLayout; DeviceSidebarWidget *m_sidebar; QStackedWidget *m_stackedWidget; QMap> m_deviceWidgets; // Map to store devices by UDID QMap> m_pendingDeviceWidgets; // Map to store devices by UDID QMap> m_recoveryDeviceWidgets; // Map to store recovery devices by ECID std::string m_currentDeviceUuid; }; #endif // DEVICEMANAGERWIDGET_H