Mercurial > hg > orthanc
comparison OrthancServer/ServerToolbox.cpp @ 3089:fb8ee0786b1e db-changes
new extension for database plugin SDK: setResourcesContent
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Sat, 05 Jan 2019 11:39:31 +0100 |
parents | d498ece73562 |
children | 2e1808b6146a |
comparison
equal
deleted
inserted
replaced
3088:d498ece73562 | 3089:fb8ee0786b1e |
---|---|
98 } | 98 } |
99 } | 99 } |
100 | 100 |
101 | 101 |
102 void ResourcesContent::EncodeForPlugins( | 102 void ResourcesContent::EncodeForPlugins( |
103 std::vector<OrthancPluginResourcesContentTags>& tags, | 103 std::vector<OrthancPluginResourcesContentTags>& identifierTags, |
104 std::vector<OrthancPluginResourcesContentTags>& mainDicomTags, | |
104 std::vector<OrthancPluginResourcesContentMetadata>& metadata) const | 105 std::vector<OrthancPluginResourcesContentMetadata>& metadata) const |
105 { | 106 { |
106 tags.reserve(tags_.size()); | 107 identifierTags.reserve(tags_.size()); |
108 mainDicomTags.reserve(tags_.size()); | |
107 metadata.reserve(metadata_.size()); | 109 metadata.reserve(metadata_.size()); |
108 | 110 |
109 for (std::list<TagValue>::const_iterator | 111 for (std::list<TagValue>::const_iterator |
110 it = tags_.begin(); it != tags_.end(); ++it) | 112 it = tags_.begin(); it != tags_.end(); ++it) |
111 { | 113 { |
112 OrthancPluginResourcesContentTags tmp; | 114 OrthancPluginResourcesContentTags tmp; |
113 tmp.resource = it->resourceId_; | 115 tmp.resource = it->resourceId_; |
114 tmp.isIdentifier = it->isIdentifier_; | |
115 tmp.group = it->tag_.GetGroup(); | 116 tmp.group = it->tag_.GetGroup(); |
116 tmp.element = it->tag_.GetElement(); | 117 tmp.element = it->tag_.GetElement(); |
117 tmp.value = it->value_.c_str(); | 118 tmp.value = it->value_.c_str(); |
118 tags.push_back(tmp); | 119 |
120 if (it->isIdentifier_) | |
121 { | |
122 identifierTags.push_back(tmp); | |
123 } | |
124 else | |
125 { | |
126 mainDicomTags.push_back(tmp); | |
127 } | |
119 } | 128 } |
120 | 129 |
121 for (std::list<Metadata>::const_iterator | 130 for (std::list<Metadata>::const_iterator |
122 it = metadata_.begin(); it != metadata_.end(); ++it) | 131 it = metadata_.begin(); it != metadata_.end(); ++it) |
123 { | 132 { |
126 tmp.metadata = it->metadata_; | 135 tmp.metadata = it->metadata_; |
127 tmp.value = it->value_.c_str(); | 136 tmp.value = it->value_.c_str(); |
128 metadata.push_back(tmp); | 137 metadata.push_back(tmp); |
129 } | 138 } |
130 | 139 |
131 assert(tags.size() == tags_.size() && | 140 assert(identifierTags.size() + mainDicomTags.size() == tags_.size() && |
132 metadata.size() == metadata_.size()); | 141 metadata.size() == metadata_.size()); |
133 } | 142 } |
134 | 143 |
135 | 144 |
136 static void StoreMainDicomTagsInternal(ResourcesContent& target, | 145 static void StoreMainDicomTagsInternal(ResourcesContent& target, |