Loading .hg_archival.txt +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 .hgignore +4 −1 Original line number Diff line number Diff line syntax: glob ThirdPartyDownloads/ CMakeLists.txt.user *.cpp.orig *.h.orig CMakeLists.txt +522 −518 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 Loading @@ -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 ) Loading Loading @@ -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 Loading Loading @@ -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() Loading Core/Cache/MemoryCache.cpp +4 −1 Original line number Diff line number Diff line Loading @@ -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); } } Loading Core/DicomFormat/DicomTag.cpp +67 −1 Original line number Diff line number Diff line Loading @@ -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_) Loading Loading @@ -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 Loading
.hg_archival.txt +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
.hgignore +4 −1 Original line number Diff line number Diff line syntax: glob ThirdPartyDownloads/ CMakeLists.txt.user *.cpp.orig *.h.orig
CMakeLists.txt +522 −518 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 Loading @@ -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 ) Loading Loading @@ -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 Loading Loading @@ -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() Loading
Core/Cache/MemoryCache.cpp +4 −1 Original line number Diff line number Diff line Loading @@ -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); } } Loading
Core/DicomFormat/DicomTag.cpp +67 −1 Original line number Diff line number Diff line Loading @@ -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_) Loading Loading @@ -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