Mercurial > hg > orthanc
comparison OrthancServer/Sources/Database/StatelessDatabaseOperations.h @ 5222:3a61fd50f804 db-protobuf
starting refactoring ExpandedResource
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 03 Apr 2023 21:14:45 +0200 |
parents | d0f7c742d397 |
children | cd2258ca7894 |
comparison
equal
deleted
inserted
replaced
5221:d0f7c742d397 | 5222:3a61fd50f804 |
---|---|
35 { | 35 { |
36 class DatabaseLookup; | 36 class DatabaseLookup; |
37 class ParsedDicomFile; | 37 class ParsedDicomFile; |
38 struct ServerIndexChange; | 38 struct ServerIndexChange; |
39 | 39 |
40 struct ExpandedResource : public boost::noncopyable | 40 class ExpandedResource : public boost::noncopyable |
41 { | 41 { |
42 private: | |
42 std::string id_; | 43 std::string id_; |
43 DicomMap tags_; // all main tags and main sequences from DB | 44 ResourceType level_; |
45 DicomMap tags_; // all main tags and main sequences from DB | |
46 | |
47 public: | |
44 std::string mainDicomTagsSignature_; | 48 std::string mainDicomTagsSignature_; |
45 std::string parentId_; | 49 std::string parentId_; |
46 std::list<std::string> childrenIds_; | 50 std::list<std::string> childrenIds_; |
47 std::map<MetadataType, std::string> metadata_; | 51 std::map<MetadataType, std::string> metadata_; |
48 ResourceType type_; | |
49 std::string anonymizedFrom_; | 52 std::string anonymizedFrom_; |
50 std::string modifiedFrom_; | 53 std::string modifiedFrom_; |
51 std::string lastUpdate_; | 54 std::string lastUpdate_; |
52 std::set<DicomTag> missingRequestedTags_; | 55 std::set<DicomTag> missingRequestedTags_; |
53 | 56 |
63 std::string fileUuid_; | 66 std::string fileUuid_; |
64 int indexInSeries_; | 67 int indexInSeries_; |
65 | 68 |
66 // New in Orthanc 1.12.0 | 69 // New in Orthanc 1.12.0 |
67 std::set<std::string> labels_; | 70 std::set<std::string> labels_; |
71 | |
72 public: | |
73 void SetResource(ResourceType level, | |
74 const std::string& id) | |
75 { | |
76 level_ = level; | |
77 id_ = id; | |
78 } | |
79 | |
80 const std::string& GetPublicId() const | |
81 { | |
82 return id_; | |
83 } | |
84 | |
85 ResourceType GetLevel() const | |
86 { | |
87 return level_; | |
88 } | |
89 | |
90 DicomMap& GetMainDicomTags() | |
91 { | |
92 return tags_; | |
93 } | |
94 | |
95 const DicomMap& GetMainDicomTags() const | |
96 { | |
97 return tags_; | |
98 } | |
68 }; | 99 }; |
69 | 100 |
70 enum ExpandResourceDbFlags | 101 enum ExpandResourceFlags |
71 { | 102 { |
72 ExpandResourceDbFlags_None = 0, | 103 ExpandResourceFlags_None = 0, |
73 ExpandResourceDbFlags_IncludeMetadata = (1 << 0), | 104 ExpandResourceFlags_IncludeMetadata = (1 << 0), |
74 ExpandResourceDbFlags_IncludeChildren = (1 << 1), | 105 ExpandResourceFlags_IncludeChildren = (1 << 1), |
75 ExpandResourceDbFlags_IncludeMainDicomTags = (1 << 2), | 106 ExpandResourceFlags_IncludeMainDicomTags = (1 << 2), |
76 ExpandResourceDbFlags_IncludeLabels = (1 << 3), | 107 ExpandResourceFlags_IncludeLabels = (1 << 3), |
77 | 108 |
78 ExpandResourceDbFlags_Default = (ExpandResourceDbFlags_IncludeMetadata | | 109 ExpandResourceFlags_Default = (ExpandResourceFlags_IncludeMetadata | |
79 ExpandResourceDbFlags_IncludeChildren | | 110 ExpandResourceFlags_IncludeChildren | |
80 ExpandResourceDbFlags_IncludeMainDicomTags | | 111 ExpandResourceFlags_IncludeMainDicomTags | |
81 ExpandResourceDbFlags_IncludeLabels) | 112 ExpandResourceFlags_IncludeLabels) |
82 }; | 113 }; |
83 | 114 |
84 class StatelessDatabaseOperations : public boost::noncopyable | 115 class StatelessDatabaseOperations : public boost::noncopyable |
85 { | 116 { |
86 public: | 117 public: |
532 | 563 |
533 bool ExpandResource(ExpandedResource& target, | 564 bool ExpandResource(ExpandedResource& target, |
534 const std::string& publicId, | 565 const std::string& publicId, |
535 ResourceType level, | 566 ResourceType level, |
536 const std::set<DicomTag>& requestedTags, | 567 const std::set<DicomTag>& requestedTags, |
537 ExpandResourceDbFlags expandFlags); | 568 ExpandResourceFlags expandFlags); |
538 | 569 |
539 void GetAllMetadata(std::map<MetadataType, std::string>& target, | 570 void GetAllMetadata(std::map<MetadataType, std::string>& target, |
540 const std::string& publicId, | 571 const std::string& publicId, |
541 ResourceType level); | 572 ResourceType level); |
542 | 573 |