M module-bsp/board/linux/usb_cdc/usb_cdc.cpp => module-bsp/board/linux/usb_cdc/usb_cdc.cpp +1 -1
@@ 60,7 60,7 @@ namespace bsp
if (len > 0) {
const inotify_event *event = (inotify_event *)&eventsBuff[0];
if (event->mask & IN_OPEN) {
- USBDeviceStatus notification = USBDeviceStatus::Connected;
+ USBDeviceStatus notification = USBDeviceStatus::Configured;
xQueueSend(USBIrqQueue, ¬ification, 0);
}
if (event->mask & IN_CLOSE_WRITE) {
M module-bsp/bsp/usb/usb.hpp => module-bsp/bsp/usb/usb.hpp +2 -1
@@ 25,7 25,8 @@ namespace bsp
enum class USBDeviceStatus : uint32_t
{
Disconnected,
- Connected
+ Connected,
+ Configured
};
class USBDeviceListener
M module-services/service-desktop/ServiceDesktop.cpp => module-services/service-desktop/ServiceDesktop.cpp +1 -1
@@ 187,7 187,7 @@ sys::ReturnCodes ServiceDesktop::InitHandler()
return std::make_shared<sys::ResponseMessage>();
});
- connect(sdesktop::usb::USBConnected(), [&](sys::Message *msg) {
+ connect(sdesktop::usb::USBConfigured(), [&](sys::Message *msg) {
if (!desktopWorker->isEndpointSecurityEnabled()) {
LOG_INFO("Endpoint security disabled.");
return std::make_shared<sys::ResponseMessage>();
M module-services/service-desktop/WorkerDesktop.cpp => module-services/service-desktop/WorkerDesktop.cpp +4 -0
@@ 110,6 110,10 @@ bool WorkerDesktop::handleMessage(uint32_t queueID)
ownerService->bus.sendUnicast(std::make_shared<sdesktop::usb::USBConnected>(),
service::name::service_desktop);
}
+ else if (notification == bsp::USBDeviceStatus::Configured) {
+ ownerService->bus.sendUnicast(std::make_shared<sdesktop::usb::USBConfigured>(),
+ service::name::service_desktop);
+ }
else if (notification == bsp::USBDeviceStatus::Disconnected) {
ownerService->bus.sendUnicast(std::make_shared<sdesktop::usb::USBDisconnected>(),
service::name::service_desktop);
M module-services/service-desktop/endpoints/developerMode/DeveloperModeHelper.cpp => module-services/service-desktop/endpoints/developerMode/DeveloperModeHelper.cpp +1 -1
@@ 104,7 104,7 @@ auto DeveloperModeHelper::processPut(Context &context) -> ProcessResult
return {sent::delayed, std::nullopt};
}
else if (body[json::developerMode::usbSecurity].is_string()) {
- std::shared_ptr<sys::DataMessage> msg = std::make_shared<sdesktop::usb::USBConnected>();
+ std::shared_ptr<sys::DataMessage> msg = std::make_shared<sdesktop::usb::USBConfigured>();
if (body[json::developerMode::usbSecurity].string_value() == json::developerMode::usbUnlock) {
msg = std::make_shared<sdesktop::passcode::ScreenPasscodeUnlocked>();
}
M module-services/service-desktop/service-desktop/DesktopMessages.hpp => module-services/service-desktop/service-desktop/DesktopMessages.hpp +8 -0
@@ 81,6 81,14 @@ namespace sdesktop
~USBConnected() override = default;
};
+ class USBConfigured : public sys::DataMessage
+ {
+ public:
+ USBConfigured() : sys::DataMessage(MessageType::USBConfigured)
+ {}
+ ~USBConfigured() override = default;
+ };
+
class USBDisconnected : public sys::DataMessage
{
public:
M source/MessageType.hpp => source/MessageType.hpp +1 -0
@@ 219,6 219,7 @@ enum class MessageType
TransferTimer,
USBConnected,
+ USBConfigured,
USBDisconnected,
ScreenPasscodeRequest,