diff OrthancServer/ParsedDicomFile.cpp @ 1786:164d78911382 worklists

primitives to handle dicom worklists
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 18 Nov 2015 12:00:14 +0100
parents 5ad4e4d92ecb
children 1b1d5470233f
line wrap: on
line diff
--- a/OrthancServer/ParsedDicomFile.cpp	Wed Nov 18 09:56:34 2015 +0100
+++ b/OrthancServer/ParsedDicomFile.cpp	Wed Nov 18 12:00:14 2015 +0100
@@ -823,6 +823,12 @@
   }
 
 
+  ParsedDicomFile::ParsedDicomFile(void* fileFormat) : pimpl_(new PImpl)
+  {
+    pimpl_->file_.reset(static_cast<DcmFileFormat*>(fileFormat));
+  }
+
+
   ParsedDicomFile::ParsedDicomFile(const char* content, size_t size) : pimpl_(new PImpl)
   {
     Setup(content, size);
@@ -1222,4 +1228,15 @@
   {
     FromDcmtkBridge::Convert(tags, *pimpl_->file_->getDataset());
   }
+
+
+  ParsedDicomFile* ParsedDicomFile::CreateFromDcmtkDataset(void* dataset)
+  {
+    assert(dataset != NULL);
+
+    DcmDataset *d = static_cast<DcmDataset*>(dataset);
+    std::auto_ptr<DcmFileFormat> fileFormat(new DcmFileFormat(d));
+    
+    return new ParsedDicomFile(fileFormat.release());
+  }
 }