Mercurial > hg > orthanc
diff OrthancServer/ServerContext.cpp @ 792:111a1738e11e
refactoring
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 06 May 2014 09:57:39 +0200 |
parents | 381f90e2b69d |
children | 437c4a83d2cc |
line wrap: on
line diff
--- a/OrthancServer/ServerContext.cpp Mon May 05 22:44:34 2014 +0200 +++ b/OrthancServer/ServerContext.cpp Tue May 06 09:57:39 2014 +0200 @@ -246,13 +246,19 @@ } + static DcmFileFormat& GetDicom(ParsedDicomFile& file) + { + return *reinterpret_cast<DcmFileFormat*>(file.GetDcmtkObject()); + } + + StoreStatus ServerContext::Store(std::string& resultPublicId, ParsedDicomFile& dicomInstance, const char* dicomBuffer, size_t dicomSize) { DicomMap dicomSummary; - FromDcmtkBridge::Convert(dicomSummary, *dicomInstance.GetDicom().getDataset()); + FromDcmtkBridge::Convert(dicomSummary, *GetDicom(dicomInstance).getDataset()); try { @@ -260,7 +266,7 @@ resultPublicId = hasher.HashInstance(); Json::Value dicomJson; - FromDcmtkBridge::ToJson(dicomJson, *dicomInstance.GetDicom().getDataset()); + FromDcmtkBridge::ToJson(dicomJson, *GetDicom(dicomInstance).getDataset()); StoreStatus status = StoreStatus_Failure; if (dicomSize > 0) @@ -286,7 +292,7 @@ ParsedDicomFile& dicomInstance) { std::string buffer; - if (!FromDcmtkBridge::SaveToMemoryBuffer(buffer, dicomInstance.GetDicom().getDataset())) + if (!FromDcmtkBridge::SaveToMemoryBuffer(buffer, GetDicom(dicomInstance).getDataset())) { throw OrthancException(ErrorCode_InternalError); }