Mercurial > hg > orthanc-databases
diff Framework/Plugins/IndexBackend.h @ 417:15bfd9a76f8d pg-transactions
merge
author | Alain Mazy <am@osimis.io> |
---|---|
date | Fri, 23 Jun 2023 14:26:58 +0200 |
parents | 91124cc8a8c7 |
children | 7c1fe5d6c12c ecd0b719cff5 |
line wrap: on
line diff
--- a/Framework/Plugins/IndexBackend.h Wed Feb 22 16:52:04 2023 +0100 +++ b/Framework/Plugins/IndexBackend.h Fri Jun 23 14:26:58 2023 +0200 @@ -2,8 +2,8 @@ * Orthanc - A Lightweight, RESTful DICOM Store * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics * Department, University Hospital of Liege, Belgium - * Copyright (C) 2017-2022 Osimis S.A., Belgium - * Copyright (C) 2021-2022 Sebastien Jodogne, ICTEAM UCLouvain, Belgium + * Copyright (C) 2017-2023 Osimis S.A., Belgium + * Copyright (C) 2021-2023 Sebastien Jodogne, ICTEAM UCLouvain, Belgium * * This program is free software: you can redistribute it and/or * modify it under the terms of the GNU Affero General Public License @@ -62,13 +62,13 @@ DatabaseManager& manager, DatabaseManager::CachedStatement& statement, const Dictionary& args, - uint32_t maxResults); + uint32_t limit); void ReadExportedResourcesInternal(IDatabaseBackendOutput& output, bool& done, DatabaseManager::CachedStatement& statement, const Dictionary& args, - uint32_t maxResults); + uint32_t limit); public: explicit IndexBackend(OrthancPluginContext* context); @@ -119,14 +119,14 @@ virtual void GetAllPublicIds(std::list<std::string>& target, DatabaseManager& manager, OrthancPluginResourceType resourceType, - uint64_t since, - uint64_t limit) ORTHANC_OVERRIDE; + int64_t since, + uint32_t limit) ORTHANC_OVERRIDE; virtual void GetChanges(IDatabaseBackendOutput& output, bool& done /*out*/, DatabaseManager& manager, int64_t since, - uint32_t maxResults) ORTHANC_OVERRIDE; + uint32_t limit) ORTHANC_OVERRIDE; virtual void GetChildrenInternalId(std::list<int64_t>& target /*out*/, DatabaseManager& manager, @@ -140,7 +140,7 @@ bool& done /*out*/, DatabaseManager& manager, int64_t since, - uint32_t maxResults) ORTHANC_OVERRIDE; + uint32_t limit) ORTHANC_OVERRIDE; virtual void GetLastChange(IDatabaseBackendOutput& output, DatabaseManager& manager) ORTHANC_OVERRIDE; @@ -186,7 +186,14 @@ const char* date) ORTHANC_OVERRIDE; virtual void LogExportedResource(DatabaseManager& manager, - const OrthancPluginExportedResource& resource) ORTHANC_OVERRIDE; + OrthancPluginResourceType resourceType, + const char* publicId, + const char* modality, + const char* date, + const char* patientId, + const char* studyInstanceUid, + const char* seriesInstanceUid, + const char* sopInstanceUid) ORTHANC_OVERRIDE; virtual bool LookupAttachment(IDatabaseBackendOutput& output, int64_t& revision /*out*/, @@ -295,6 +302,8 @@ DatabaseManager& manager, const std::vector<Orthanc::DatabaseConstraint>& lookup, OrthancPluginResourceType queryLevel, + const std::set<std::string>& labels, + Orthanc::LabelsConstraint labelsConstraint, uint32_t limit, bool requestSomeInstance) ORTHANC_OVERRIDE; #endif @@ -320,25 +329,17 @@ virtual void TagMostRecentPatient(DatabaseManager& manager, int64_t patient) ORTHANC_OVERRIDE; -#if defined(ORTHANC_PLUGINS_VERSION_IS_ABOVE) // Macro introduced in 1.3.1 -# if ORTHANC_PLUGINS_VERSION_IS_ABOVE(1, 5, 4) // New primitive since Orthanc 1.5.4 virtual bool LookupResourceAndParent(int64_t& id, OrthancPluginResourceType& type, std::string& parentPublicId, DatabaseManager& manager, const char* publicId) ORTHANC_OVERRIDE; -# endif -#endif -#if defined(ORTHANC_PLUGINS_VERSION_IS_ABOVE) // Macro introduced in 1.3.1 -# if ORTHANC_PLUGINS_VERSION_IS_ABOVE(1, 5, 4) // New primitive since Orthanc 1.5.4 virtual void GetAllMetadata(std::map<int32_t, std::string>& result, DatabaseManager& manager, int64_t id) ORTHANC_OVERRIDE; -# endif -#endif virtual bool HasCreateInstance() const ORTHANC_OVERRIDE { @@ -380,6 +381,21 @@ int32_t property, int value); + virtual void AddLabel(DatabaseManager& manager, + int64_t resource, + const std::string& label) ORTHANC_OVERRIDE; + + virtual void RemoveLabel(DatabaseManager& manager, + int64_t resource, + const std::string& label) ORTHANC_OVERRIDE; + + virtual void ListLabels(std::list<std::string>& target, + DatabaseManager& manager, + int64_t resource) ORTHANC_OVERRIDE; + + virtual void ListAllLabels(std::list<std::string>& target, + DatabaseManager& manager) ORTHANC_OVERRIDE; + /** * "maxDatabaseRetries" is to handle * "OrthancPluginErrorCode_DatabaseCannotSerialize" if there is a @@ -392,6 +408,8 @@ static void Finalize(); - static DatabaseManager* CreateSingleDatabaseManager(IDatabaseBackend& backend); + static DatabaseManager* CreateSingleDatabaseManager(IDatabaseBackend& backend, + bool hasIdentifierTags, + const std::list<IdentifierTag>& identifierTags); }; }