Device: Fix ComponentVersion retrieval

pull/64/head^2
Jonathan Schwartz 2025-01-06 19:06:11 +00:00 committed by Kyle Schwarz
parent 8dcbbe0d72
commit 87baa97c3f
2 changed files with 12 additions and 2 deletions

View File

@ -218,8 +218,7 @@ bool Device::open(OpenFlags flags, OpenStatusHandler handler) {
if(block) // Extensions say no if(block) // Extensions say no
return false; return false;
// Get component versions *after* the extension "onDeviceOpen" hooks (e.g. device reflashes) // Get component versions again *after* the extension "onDeviceOpen" hooks (e.g. device reflashes)
if(supportsComponentVersions()) { if(supportsComponentVersions()) {
if(auto compVersions = com->getComponentVersionsSync()) if(auto compVersions = com->getComponentVersionsSync())
componentVersions = std::move(*compVersions); componentVersions = std::move(*compVersions);
@ -348,6 +347,15 @@ APIEvent::Type Device::attemptToBeginCommunication() {
else else
versions = std::move(*maybeVersions); versions = std::move(*maybeVersions);
// Get component versions before the extension "onDeviceOpen" hooks so that we can properly check verisons
if(supportsComponentVersions()) {
if(auto compVersions = com->getComponentVersionsSync())
componentVersions = std::move(*compVersions);
else
return getCommunicationNotEstablishedError();
}
return APIEvent::Type::NoErrorFound; return APIEvent::Type::NoErrorFound;
} }

View File

@ -70,6 +70,8 @@ protected:
} }
bool supportsComponentVersions() const override { return true; } bool supportsComponentVersions() const override { return true; }
bool supportsGPTP() const override { return true; }
}; };
} }