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
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(auto compVersions = com->getComponentVersionsSync())
componentVersions = std::move(*compVersions);
@ -348,6 +347,15 @@ APIEvent::Type Device::attemptToBeginCommunication() {
else
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;
}

View File

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