Документация
ОС Аврора 5.2.0

Класс Usb

(Aurora::Devices::Usb)

Подключённое USB-устройство. Подробнее...

Класс Usb является частью библиотеки libdevicewarden и предоставляет доступ к свойствам USB-устройства, подключённого к системе, через D-Bus-интерфейс сервиса ru.auroraos.DeviceWarden1.

Подключение: #include <usb.hpp>

Свойства

Публичные функции

Usb(const QString &objectPath, const QVariantMap &properties, QObject *parent = nullptr)
~Usb() = default
QString deviceClass() const
int fileDescriptor()
QString manufacturer() const
QString product() const
QString productId() const
QString productVersion() const
QString serial() const
QString vendorId() const

Подробное описание

Подключённое USB-устройство.

Позволяет взаимодействовать с USB-устройством.

Экземпляр класса создаётся на основе данных, полученных от менеджера устройств (Aurora::Devices::Manager), и содержит набор свойств для идентификации устройства. Для получения файлового дескриптора, который может быть использован для работы с устройством через библиотеку libusb, предусмотрен метод fileDescriptor().

Важно! Системная библиотека libusb не является публичным API ОС Аврора и не предназначена для официального использования. Если для работы с USB-оборудованием требуется libusb, разработчику необходимо собрать собственную версию библиотеки. Пример сборки и использования libusb приведён в демонстрационном проекте USB Use Cases.

Описание свойств

deviceClass : const QString

Содержит класс устройства в соответствии со спецификацией USB-IF.

Класс устройства определяет его функциональное назначение, например, аудиоустройство, устройство хранения данных или интерфейс взаимодействия с человеком (HID).

Функции доступа:

QString deviceClass() const

manufacturer : const QString

Содержит имя производителя устройства.

Значение свойства позволяет идентифицировать компанию-изготовителя оборудования.

Функции доступа:

QString manufacturer() const

product : const QString

Содержит название модели устройства.

Название модели обычно указывается производителем и может использоваться для отображения информации об устройстве в пользовательском интерфейсе.

Функции доступа:

QString product() const

productId : const QString

Содержит уникальный 16-битный код модели устройства.

Идентификатор продукта (PID) присваивается производителем и в сочетании с идентификатором производителя (VID) однозначно определяет модель устройства.

Функции доступа:

QString productId() const

productVersion : const QString

Содержит версию модели устройства.

Номер версии позволяет различать модификации одной и той же модели оборудования.

Функции доступа:

QString productVersion() const

serial : const QString

Содержит серийный номер устройства.

Функции доступа:

QString serial() const

vendorId : const QString

Содержит уникальный 16-битный код производителя устройства.

Идентификатор производителя (VID) присваивается организации USB-IF и используется совместно с идентификатором продукта (PID) для идентификации устройства.

Функции доступа:

QString vendorId() const

Описание функций-членов

Usb::Usb(const QString &objectPath, const QVariantMap &properties, QObject *parent = nullptr)

Создаёт экземпляр Usb с параметрами по умолчанию.

Параметр objectPath задаёт путь к объекту на D-Bus-шине, а properties содержит исходный набор свойств устройства, полученный от менеджера.

[default] Usb::~Usb()

Уничтожает экземпляр Usb.

int Usb::fileDescriptor()

Возвращает файловый дескриптор узла устройства. Полученный файловый дескриптор может затем быть использован для создания устройства libusb. Дальнейшие действия ограничены версией libusb.

Примечание. Устройство недоступно без добавления в белый список. Белый список может быть глобальным, пользовательским или привязанным к конкретному приложению.

Если белый список пуст, доступ предоставляется всем приложениям и пользователям. Если в белом списке есть записи, доступ разрешается только устройствам, соответствующим хотя бы одному правилу (правила применяются через логическое ИЛИ).

Устройство будет доступно, если оно включено в глобальный белый список, в белый список пользователя, под которым запущено приложение, или в белый список самого приложения.

Управление белым списком осуществляется через интерфейс SerialManager. Без соответствующей записи в белом списке вызов fileDescriptor() не сможет открыть устройство.

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования файлов cookies.