# HG changeset patch # User Sebastien Jodogne # Date 1546699855 -3600 # Node ID fc57988dbfd8c72867810ac1a37b91ae09745f7c # Parent 476cba12c2b0dcffa73aaaff2466eb9ff3fb8fd3 new extension for database plugin SDK: getChildrenMetadata diff -r 476cba12c2b0 -r fc57988dbfd8 Plugins/Engine/OrthancPluginDatabase.cpp --- a/Plugins/Engine/OrthancPluginDatabase.cpp Sat Jan 05 15:08:53 2019 +0100 +++ b/Plugins/Engine/OrthancPluginDatabase.cpp Sat Jan 05 15:50:55 2019 +0100 @@ -1313,7 +1313,16 @@ int64_t resourceId, MetadataType metadata) { - // TODO - IGetChildrenMetadata::Apply(*this, target, resourceId, metadata); + if (extensions_.getChildrenMetadata == NULL) + { + IGetChildrenMetadata::Apply(*this, target, resourceId, metadata); + } + else + { + ResetAnswers(); + CheckSuccess(extensions_.getChildrenMetadata + (GetContext(), payload_, resourceId, static_cast(metadata))); + ForwardAnswers(target); + } } } diff -r 476cba12c2b0 -r fc57988dbfd8 Plugins/Include/orthanc/OrthancCDatabasePlugin.h --- a/Plugins/Include/orthanc/OrthancCDatabasePlugin.h Sat Jan 05 15:08:53 2019 +0100 +++ b/Plugins/Include/orthanc/OrthancCDatabasePlugin.h Sat Jan 05 15:50:55 2019 +0100 @@ -795,6 +795,15 @@ uint32_t countMetadata, const OrthancPluginResourcesContentMetadata* metadata); + /* Ouput: Use OrthancPluginDatabaseAnswerString */ + OrthancPluginErrorCode (*getChildrenMetadata) ( + /* outputs */ + OrthancPluginDatabaseContext* context, + /* inputs */ + void* payload, + int64_t resourceId, + int32_t metadata); + } OrthancPluginDatabaseExtensions; /*