aboutsummaryrefslogtreecommitdiff
path: root/src/backends/backendsCommon/DynamicBackendUtils.cpp
diff options
context:
space:
mode:
authorMatteo Martincigh <matteo.martincigh@arm.com>2019-07-25 15:25:44 +0100
committerMatteo Martincigh <matteo.martincigh@arm.com>2019-07-25 16:35:08 +0100
commitac60d28414041774d7a4c8b6b5c4b0991712ef0f (patch)
treea2e36604bd567f3b93aa0212963115397eb91374 /src/backends/backendsCommon/DynamicBackendUtils.cpp
parentb19d2e9c163f44e180a1cfa1bcad6a67e4b7cdd9 (diff)
downloadarmnn-ac60d28414041774d7a4c8b6b5c4b0991712ef0f.tar.gz
IVGCVSW-3543 Implement the backend versioning algorithm
* Added version structure for backends, with comparisons operators * Added version to IBackendInternal * Added version utility function to DynamicBackendUtils class Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Change-Id: I3697469675c27f79f7cfb296cfa69ec7e06375e5
Diffstat (limited to 'src/backends/backendsCommon/DynamicBackendUtils.cpp')
-rw-r--r--src/backends/backendsCommon/DynamicBackendUtils.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/backends/backendsCommon/DynamicBackendUtils.cpp b/src/backends/backendsCommon/DynamicBackendUtils.cpp
index 9a47654477..0ab02d7c98 100644
--- a/src/backends/backendsCommon/DynamicBackendUtils.cpp
+++ b/src/backends/backendsCommon/DynamicBackendUtils.cpp
@@ -34,6 +34,20 @@ void DynamicBackendUtils::CloseHandle(const void* sharedObjectHandle)
dlclose(const_cast<void*>(sharedObjectHandle));
}
+bool DynamicBackendUtils::IsBackendCompatible(const BackendVersion &backendVersion)
+{
+ BackendVersion backendApiVersion = IBackendInternal::GetApiVersion();
+
+ return IsBackendCompatibleImpl(backendApiVersion, backendVersion);
+}
+
+bool DynamicBackendUtils::IsBackendCompatibleImpl(const BackendVersion &backendApiVersion,
+ const BackendVersion &backendVersion)
+{
+ return backendVersion.m_Major == backendApiVersion.m_Major &&
+ backendVersion.m_Minor <= backendApiVersion.m_Minor;
+}
+
std::string DynamicBackendUtils::GetDlError()
{
const char* errorMessage = dlerror();