diff OrthancServer/OrthancConfiguration.cpp @ 3181:6fd38327e777

Fix issue #130 (Orthanc failed to start when /tmp partition was full)
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 31 Jan 2019 15:33:27 +0100
parents ab46e537f92e
children 5d1f5984dc41
line wrap: on
line diff
--- a/OrthancServer/OrthancConfiguration.cpp	Wed Jan 30 17:50:51 2019 +0100
+++ b/OrthancServer/OrthancConfiguration.cpp	Thu Jan 31 15:33:27 2019 +0100
@@ -38,6 +38,7 @@
 #include "../Core/Logging.h"
 #include "../Core/OrthancException.h"
 #include "../Core/SystemToolbox.h"
+#include "../Core/TemporaryFile.h"
 #include "../Core/Toolbox.h"
 
 #include "ServerIndex.h"
@@ -47,6 +48,7 @@
 static const char* const DICOM_MODALITIES_IN_DB = "DicomModalitiesInDatabase";
 static const char* const ORTHANC_PEERS = "OrthancPeers";
 static const char* const ORTHANC_PEERS_IN_DB = "OrthancPeersInDatabase";
+static const char* const TEMPORARY_DIRECTORY = "TemporaryDirectory";
 
 namespace Orthanc
 {
@@ -826,4 +828,17 @@
   {
     serverIndex_ = NULL;
   }
+
+  
+  TemporaryFile* OrthancConfiguration::CreateTemporaryFile() const
+  {
+    if (json_.isMember(TEMPORARY_DIRECTORY))
+    {
+      return new TemporaryFile(GetStringParameter(TEMPORARY_DIRECTORY, ""), "");
+    }
+    else
+    {
+      return new TemporaryFile;
+    }
+  }
 }