Mercurial > hg > orthanc
diff OrthancServer/FromDcmtkBridge.h @ 304:4eea080e6e7a
refactoring
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 19 Dec 2012 14:57:18 +0100 |
parents | 238134081136 |
children | 86bb79522f19 |
line wrap: on
line diff
--- a/OrthancServer/FromDcmtkBridge.h Tue Dec 18 19:01:01 2012 +0100 +++ b/OrthancServer/FromDcmtkBridge.h Wed Dec 19 14:57:18 2012 +0100 @@ -71,8 +71,23 @@ const std::string& value, bool insertOnAbsent); + void Setup(const char* content, + size_t size); + public: - ParsedDicomFile(const std::string& content); + ParsedDicomFile(const char* content, + size_t size) + { + Setup(content, size); + } + + ParsedDicomFile(const std::string& content) + { + if (content.size() == 0) + Setup(NULL, 0); + else + Setup(&content[0], content.size()); + } DcmFileFormat& GetDicom() { @@ -130,30 +145,30 @@ static std::string GetName(const DicomTag& tag); - static DicomTag FindTag(const char* name); + static DicomTag ParseTag(const char* name); - static DicomTag FindTag(const std::string& name) + static DicomTag ParseTag(const std::string& name) { - return FindTag(name.c_str()); + return ParseTag(name.c_str()); } static bool HasTag(const DicomMap& fields, const std::string& tagName) { - return fields.HasTag(FindTag(tagName)); + return fields.HasTag(ParseTag(tagName)); } static const DicomValue& GetValue(const DicomMap& fields, const std::string& tagName) { - return fields.GetValue(FindTag(tagName)); + return fields.GetValue(ParseTag(tagName)); } static void SetValue(DicomMap& target, const std::string& tagName, DicomValue* value) { - target.SetValue(FindTag(tagName), value); + target.SetValue(ParseTag(tagName), value); } static void Print(FILE* fp,