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,