diff --git a/device/device.cpp b/device/device.cpp index 524dea0..19bf220 100644 --- a/device/device.cpp +++ b/device/device.cpp @@ -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; } diff --git a/include/icsneo/device/tree/neoviconnect/neoviconnect.h b/include/icsneo/device/tree/neoviconnect/neoviconnect.h index b462633..4d1eb25 100644 --- a/include/icsneo/device/tree/neoviconnect/neoviconnect.h +++ b/include/icsneo/device/tree/neoviconnect/neoviconnect.h @@ -70,6 +70,8 @@ protected: } bool supportsComponentVersions() const override { return true; } + bool supportsGPTP() const override { return true; } + }; }