diff Framework/Plugins/DatabaseBackendAdapterV3.cpp @ 256:e184dcadf163

handling of revisions in metadata
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 16 Apr 2021 17:13:33 +0200
parents d663d9e44f8d
children 793bbbe11287
line wrap: on
line diff
--- a/Framework/Plugins/DatabaseBackendAdapterV3.cpp	Wed Apr 14 17:57:08 2021 +0200
+++ b/Framework/Plugins/DatabaseBackendAdapterV3.cpp	Fri Apr 16 17:13:33 2021 +0200
@@ -1707,6 +1707,7 @@
 
 
   static OrthancPluginErrorCode LookupMetadata(OrthancPluginDatabaseTransaction* transaction,
+                                               int64_t* revision /* out */,
                                                int64_t id,
                                                int32_t metadata)
   {
@@ -1717,7 +1718,7 @@
       t->GetOutput().Clear();
 
       std::string s;
-      if (t->GetBackend().LookupMetadata(s, t->GetManager(), id, metadata))
+      if (t->GetBackend().LookupMetadata(s, *revision, t->GetManager(), id, metadata))
       {
         t->GetOutput().AnswerString(s);
       }
@@ -1913,14 +1914,15 @@
   static OrthancPluginErrorCode SetMetadata(OrthancPluginDatabaseTransaction* transaction,
                                             int64_t id,
                                             int32_t metadata,
-                                            const char* value)
+                                            const char* value,
+                                            int64_t revision)
   {
     DatabaseBackendAdapterV3::Transaction* t = reinterpret_cast<DatabaseBackendAdapterV3::Transaction*>(transaction);
 
     try
     {
       t->GetOutput().Clear();
-      t->GetBackend().SetMetadata(t->GetManager(), id, metadata, value);
+      t->GetBackend().SetMetadata(t->GetManager(), id, metadata, value, revision);
       return OrthancPluginErrorCode_Success;
     }
     ORTHANC_PLUGINS_DATABASE_CATCH(t->GetBackend().GetContext());