Commit 2795062e authored by Sebastien Jodogne's avatar Sebastien Jodogne
Browse files

New upstream version 1.4.0+dfsg

parent 8240e026
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
repo: 3959d33612ccaadc0d4d707227fbed09ac35e5fe
node: 78e5414d57f8874cfe88997726b97bd3b25e48df
branch: Orthanc-1.3.2
node: a2536c0d72deda960f2908e7bdcc56929837a0bf
branch: Orthanc-1.4.0
latesttag: dcmtk-3.6.1
latesttagdistance: 205
changessincelatesttag: 213
latesttagdistance: 354
changessincelatesttag: 396
+4 −1
Original line number Diff line number Diff line
syntax: glob
ThirdPartyDownloads/
CMakeLists.txt.user
*.cpp.orig
*.h.orig
+522 −518
Original line number Diff line number Diff line
@@ -55,6 +55,7 @@ include(${CMAKE_SOURCE_DIR}/Resources/CMake/OrthancFrameworkConfiguration.cmake)
set(ORTHANC_SERVER_SOURCES
  OrthancServer/DatabaseWrapper.cpp
  OrthancServer/DatabaseWrapperBase.cpp
  OrthancServer/DicomInstanceOrigin.cpp
  OrthancServer/DicomInstanceToStore.cpp
  OrthancServer/ExportedResource.cpp
  OrthancServer/LuaScripting.cpp
@@ -70,14 +71,6 @@ set(ORTHANC_SERVER_SOURCES
  OrthancServer/OrthancRestApi/OrthancRestResources.cpp
  OrthancServer/OrthancRestApi/OrthancRestSystem.cpp
  OrthancServer/QueryRetrieveHandler.cpp
  OrthancServer/Scheduler/CallSystemCommand.cpp
  OrthancServer/Scheduler/DeleteInstanceCommand.cpp
  OrthancServer/Scheduler/ModifyInstanceCommand.cpp
  OrthancServer/Scheduler/ServerCommandInstance.cpp
  OrthancServer/Scheduler/ServerJob.cpp
  OrthancServer/Scheduler/ServerScheduler.cpp
  OrthancServer/Scheduler/StorePeerCommand.cpp
  OrthancServer/Scheduler/StoreScuCommand.cpp
  OrthancServer/Search/HierarchicalMatcher.cpp
  OrthancServer/Search/IFindConstraint.cpp
  OrthancServer/Search/ListConstraint.cpp
@@ -90,6 +83,17 @@ set(ORTHANC_SERVER_SOURCES
  OrthancServer/ServerContext.cpp
  OrthancServer/ServerEnumerations.cpp
  OrthancServer/ServerIndex.cpp
  OrthancServer/ServerJobs/ArchiveJob.cpp
  OrthancServer/ServerJobs/DicomModalityStoreJob.cpp
  OrthancServer/ServerJobs/LuaJobManager.cpp
  OrthancServer/ServerJobs/Operations/DeleteResourceOperation.cpp
  OrthancServer/ServerJobs/Operations/ModifyInstanceOperation.cpp
  OrthancServer/ServerJobs/Operations/StorePeerOperation.cpp
  OrthancServer/ServerJobs/Operations/StoreScuOperation.cpp
  OrthancServer/ServerJobs/Operations/SystemCallOperation.cpp
  OrthancServer/ServerJobs/OrthancJobUnserializer.cpp
  OrthancServer/ServerJobs/OrthancPeerStoreJob.cpp
  OrthancServer/ServerJobs/ResourceModificationJob.cpp
  OrthancServer/ServerToolbox.cpp
  OrthancServer/SliceOrdering.cpp
  )
@@ -224,6 +228,7 @@ include_directories(${CMAKE_SOURCE_DIR}/Plugins/Include)

add_definitions(
  -DORTHANC_BUILD_UNIT_TESTS=1
  -DORTHANC_ENABLE_LOGGING_PLUGIN=0
  
  # Macros for the plugins
  -DHAS_ORTHANC_EXCEPTION=0
@@ -497,7 +502,6 @@ if (ENABLE_PLUGINS)
    FILES
    Plugins/Include/orthanc/OrthancCPlugin.h 
    Plugins/Include/orthanc/OrthancCDatabasePlugin.h 
    Plugins/Include/orthanc/OrthancCppDatabasePlugin.h 
    DESTINATION include/orthanc
    )
endif()
+4 −1
Original line number Diff line number Diff line
@@ -80,9 +80,12 @@ namespace Orthanc

  void MemoryCache::Invalidate(const std::string& id)
  {
    if (index_.Contains(id))
    Page* p = NULL;
    if (index_.Contains(id, p))
    {
      VLOG(1) << "Invalidating a cache page";
      assert(p != NULL);
      delete p;
      index_.Invalidate(id);
    }
  }
+67 −1
Original line number Diff line number Diff line
@@ -39,9 +39,32 @@
#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <string.h>

namespace Orthanc
{ 
  static inline uint16_t GetCharValue(char c)
  {
    if (c >= '0' && c <= '9')
      return c - '0';
    else if (c >= 'a' && c <= 'f')
      return c - 'a' + 10;
    else if (c >= 'A' && c <= 'F')
      return c - 'A' + 10;
    else
      return 0;
  }


  static inline uint16_t GetTagValue(const char* c)
  {
    return ((GetCharValue(c[0]) << 12) + 
            (GetCharValue(c[1]) << 8) + 
            (GetCharValue(c[2]) << 4) + 
            GetCharValue(c[3]));
  }


  bool DicomTag::operator< (const DicomTag& other) const
  {
    if (group_ < other.group_)
@@ -74,6 +97,49 @@ namespace Orthanc
  }


  bool DicomTag::ParseHexadecimal(DicomTag& tag,
                                  const char* value)
  {
    size_t length = strlen(value);

    if (length == 9 &&
        isxdigit(value[0]) &&
        isxdigit(value[1]) &&
        isxdigit(value[2]) &&
        isxdigit(value[3]) &&
        (value[4] == '-' || value[4] == ',') &&
        isxdigit(value[5]) &&
        isxdigit(value[6]) &&
        isxdigit(value[7]) &&
        isxdigit(value[8]))        
    {
      uint16_t group = GetTagValue(value);
      uint16_t element = GetTagValue(value + 5);
      tag = DicomTag(group, element);
      return true;
    }
    else if (length == 8 &&
             isxdigit(value[0]) &&
             isxdigit(value[1]) &&
             isxdigit(value[2]) &&
             isxdigit(value[3]) &&
             isxdigit(value[4]) &&
             isxdigit(value[5]) &&
             isxdigit(value[6]) &&
             isxdigit(value[7])) 
    {
      uint16_t group = GetTagValue(value);
      uint16_t element = GetTagValue(value + 4);
      tag = DicomTag(group, element);
      return true;
    }
    else
    {
      return false;
    }
  }


  const char* DicomTag::GetMainTagsName() const
  {
    if (*this == DICOM_TAG_ACCESSION_NUMBER)
Loading