comparison OrthancServer/FromDcmtkBridge.h @ 305:86bb79522f19

name of the private tags
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 20 Dec 2012 13:01:46 +0100
parents 4eea080e6e7a
children 326d5a4a5af3
comparison
equal deleted inserted replaced
304:4eea080e6e7a 305:86bb79522f19
55 DicomRootLevel_Study, 55 DicomRootLevel_Study,
56 DicomRootLevel_Series, 56 DicomRootLevel_Series,
57 DicomRootLevel_Instance 57 DicomRootLevel_Instance
58 }; 58 };
59 59
60 enum DicomReplaceMode
61 {
62 DicomReplaceMode_InsertIfAbsent,
63 DicomReplaceMode_ThrowIfAbsent,
64 DicomReplaceMode_IgnoreIfAbsent
65 };
66
60 class ParsedDicomFile : public IDynamicObject 67 class ParsedDicomFile : public IDynamicObject
61 { 68 {
62 private: 69 private:
63 std::auto_ptr<DcmFileFormat> file_; 70 std::auto_ptr<DcmFileFormat> file_;
64 71
65 ParsedDicomFile(DcmFileFormat& other) : 72 ParsedDicomFile(DcmFileFormat& other) :
66 file_(dynamic_cast<DcmFileFormat*>(other.clone())) 73 file_(dynamic_cast<DcmFileFormat*>(other.clone()))
67 { 74 {
68 } 75 }
69
70 void ReplaceInternal(const DicomTag& tag,
71 const std::string& value,
72 bool insertOnAbsent);
73 76
74 void Setup(const char* content, 77 void Setup(const char* content,
75 size_t size); 78 size_t size);
76 79
77 public: 80 public:
104 107
105 void Answer(RestApiOutput& output); 108 void Answer(RestApiOutput& output);
106 109
107 void Remove(const DicomTag& tag); 110 void Remove(const DicomTag& tag);
108 111
109 void Replace(const DicomTag& tag,
110 const std::string& value);
111
112 void Insert(const DicomTag& tag, 112 void Insert(const DicomTag& tag,
113 const std::string& value); 113 const std::string& value);
114 114
115 void InsertOrReplace(const DicomTag& tag, 115 void Replace(const DicomTag& tag,
116 const std::string& value); 116 const std::string& value,
117 DicomReplaceMode mode);
117 }; 118 };
118 119
119 class FromDcmtkBridge 120 class FromDcmtkBridge
120 { 121 {
121 public: 122 public: