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,