Mercurial > hg > orthanc
comparison OrthancServer/Sources/Database/StatelessDatabaseOperations.h @ 5044:6fed78e13233
Refactored DicomMap to handle sequences when needed
author | Alain Mazy <am@osimis.io> |
---|---|
date | Tue, 28 Jun 2022 17:45:09 +0200 |
parents | ec5c203a97ea |
children | e95fadefeb72 |
comparison
equal
deleted
inserted
replaced
5043:ec5c203a97ea | 5044:6fed78e13233 |
---|---|
21 | 21 |
22 | 22 |
23 #pragma once | 23 #pragma once |
24 | 24 |
25 #include "../../../OrthancFramework/Sources/DicomFormat/DicomMap.h" | 25 #include "../../../OrthancFramework/Sources/DicomFormat/DicomMap.h" |
26 #include "../../../OrthancFramework/Sources/DicomFormat/DicomSequencesMap.h" | |
27 | 26 |
28 #include "IDatabaseWrapper.h" | 27 #include "IDatabaseWrapper.h" |
29 #include "../DicomInstanceOrigin.h" | 28 #include "../DicomInstanceOrigin.h" |
30 | 29 |
31 #include <boost/shared_ptr.hpp> | 30 #include <boost/shared_ptr.hpp> |
39 struct ServerIndexChange; | 38 struct ServerIndexChange; |
40 | 39 |
41 struct ExpandedResource : public boost::noncopyable | 40 struct ExpandedResource : public boost::noncopyable |
42 { | 41 { |
43 std::string id_; | 42 std::string id_; |
44 DicomMap tags_; // all tags from DB (only leaf tags, not sequences !) | 43 DicomMap tags_; // all main tags and main sequences from DB |
45 DicomSequencesMap sequences_; // the requested sequences (from MainDicomTags or RequestedTags) | |
46 std::string mainDicomTagsSignature_; | 44 std::string mainDicomTagsSignature_; |
47 std::string parentId_; | 45 std::string parentId_; |
48 std::list<std::string> childrenIds_; | 46 std::list<std::string> childrenIds_; |
49 std::map<MetadataType, std::string> metadata_; | 47 std::map<MetadataType, std::string> metadata_; |
50 ResourceType type_; | 48 ResourceType type_; |
650 | 648 |
651 void ReconstructInstance(const ParsedDicomFile& dicom); | 649 void ReconstructInstance(const ParsedDicomFile& dicom); |
652 | 650 |
653 StoreStatus Store(std::map<MetadataType, std::string>& instanceMetadata, | 651 StoreStatus Store(std::map<MetadataType, std::string>& instanceMetadata, |
654 const DicomMap& dicomSummary, | 652 const DicomMap& dicomSummary, |
655 const DicomSequencesMap& sequencesToStore, | |
656 const Attachments& attachments, | 653 const Attachments& attachments, |
657 const MetadataMap& metadata, | 654 const MetadataMap& metadata, |
658 const DicomInstanceOrigin& origin, | 655 const DicomInstanceOrigin& origin, |
659 bool overwrite, | 656 bool overwrite, |
660 bool hasTransferSyntax, | 657 bool hasTransferSyntax, |