Commit 94c7917f authored by Sebastien Jodogne's avatar Sebastien Jodogne
Browse files

New upstream version 1.5.0+dfsg

parent 8375e38e
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
repo: 3959d33612ccaadc0d4d707227fbed09ac35e5fe
node: afb581263e1d79e67ebf2fc1ca85780f9f3783e5
branch: Orthanc-1.4.2
node: 38b71a1006fd22750bb8f9ada9d2c6085bfe26de
branch: Orthanc-1.5.0
latesttag: dcmtk-3.6.1
latesttagdistance: 423
changessincelatesttag: 465
latesttagdistance: 554
changessincelatesttag: 613
+2 −1
Original line number Diff line number Diff line
@@ -14,7 +14,8 @@ Authors of Orthanc
  4000 Liege
  Belgium

* Osimis S.A. <info@osimis.io>
* Osimis S.A.
  Rue du Bois Saint-Jean 15/1
  4102 Seraing
  Belgium
  http://www.osimis.io/
+15 −8
Original line number Diff line number Diff line
@@ -58,6 +58,7 @@ set(ORTHANC_SERVER_SOURCES
  OrthancServer/DicomInstanceToStore.cpp
  OrthancServer/ExportedResource.cpp
  OrthancServer/LuaScripting.cpp
  OrthancServer/OrthancConfiguration.cpp
  OrthancServer/OrthancFindRequestHandler.cpp
  OrthancServer/OrthancHttpHandler.cpp
  OrthancServer/OrthancInitialization.cpp
@@ -70,6 +71,8 @@ set(ORTHANC_SERVER_SOURCES
  OrthancServer/OrthancRestApi/OrthancRestResources.cpp
  OrthancServer/OrthancRestApi/OrthancRestSystem.cpp
  OrthancServer/QueryRetrieveHandler.cpp
  OrthancServer/Search/DatabaseLookup.cpp
  OrthancServer/Search/DicomTagConstraint.cpp
  OrthancServer/Search/HierarchicalMatcher.cpp
  OrthancServer/Search/IFindConstraint.cpp
  OrthancServer/Search/ListConstraint.cpp
@@ -84,7 +87,9 @@ set(ORTHANC_SERVER_SOURCES
  OrthancServer/ServerIndex.cpp
  OrthancServer/ServerJobs/ArchiveJob.cpp
  OrthancServer/ServerJobs/DicomModalityStoreJob.cpp
  OrthancServer/ServerJobs/DicomMoveScuJob.cpp
  OrthancServer/ServerJobs/LuaJobManager.cpp
  OrthancServer/ServerJobs/MergeStudyJob.cpp
  OrthancServer/ServerJobs/Operations/DeleteResourceOperation.cpp
  OrthancServer/ServerJobs/Operations/ModifyInstanceOperation.cpp
  OrthancServer/ServerJobs/Operations/StorePeerOperation.cpp
@@ -93,29 +98,31 @@ set(ORTHANC_SERVER_SOURCES
  OrthancServer/ServerJobs/OrthancJobUnserializer.cpp
  OrthancServer/ServerJobs/OrthancPeerStoreJob.cpp
  OrthancServer/ServerJobs/ResourceModificationJob.cpp
  OrthancServer/ServerJobs/SplitStudyJob.cpp
  OrthancServer/ServerToolbox.cpp
  OrthancServer/SliceOrdering.cpp
  )


set(ORTHANC_UNIT_TESTS_SOURCES
  UnitTestsSources/DatabaseLookupTests.cpp
  UnitTestsSources/DicomMapTests.cpp
  UnitTestsSources/FileStorageTests.cpp
  UnitTestsSources/FromDcmtkTests.cpp
  UnitTestsSources/MemoryCacheTests.cpp
  UnitTestsSources/ImageProcessingTests.cpp
  UnitTestsSources/ImageTests.cpp
  UnitTestsSources/JpegLosslessTests.cpp
  UnitTestsSources/LuaTests.cpp
  UnitTestsSources/MemoryCacheTests.cpp
  UnitTestsSources/MultiThreadingTests.cpp
  UnitTestsSources/RestApiTests.cpp
  UnitTestsSources/SQLiteTests.cpp
  UnitTestsSources/SQLiteChromiumTests.cpp
  UnitTestsSources/SQLiteTests.cpp
  UnitTestsSources/ServerIndexTests.cpp
  UnitTestsSources/StreamTests.cpp
  UnitTestsSources/UnitTestsMain.cpp
  UnitTestsSources/VersionsTests.cpp
  UnitTestsSources/ZipTests.cpp
  UnitTestsSources/LuaTests.cpp
  UnitTestsSources/MultiThreadingTests.cpp
  UnitTestsSources/UnitTestsMain.cpp
  UnitTestsSources/ImageProcessingTests.cpp
  UnitTestsSources/JpegLosslessTests.cpp
  UnitTestsSources/StreamTests.cpp
  )


+26 −11
Original line number Diff line number Diff line
@@ -47,6 +47,8 @@ namespace Orthanc
    {
      delete it->second;
      archive_.erase(it);

      lru_.Invalidate(id);
    }
  }

@@ -59,7 +61,7 @@ namespace Orthanc

    if (it == that.archive_.end())
    {
      throw OrthancException(ErrorCode_InexistentItem);
      item_ = NULL;
    }
    else
    {
@@ -69,6 +71,20 @@ namespace Orthanc
  }


  IDynamicObject& SharedArchive::Accessor::GetItem() const
  {
    if (item_ == NULL)
    {
      // "IsValid()" should have been called
      throw OrthancException(ErrorCode_BadSequenceOfCalls);
    }
    else
    {
      return *item_;
    }
  }  


  SharedArchive::SharedArchive(size_t maxSize) : 
    maxSize_(maxSize)
  {
@@ -96,12 +112,12 @@ namespace Orthanc
    if (archive_.size() == maxSize_)
    {
      // The quota has been reached, remove the oldest element
      std::string oldest = lru_.RemoveOldest();
      RemoveInternal(oldest);
      RemoveInternal(lru_.GetOldest());
    }

    std::string id = Toolbox::GenerateUuid();
    RemoveInternal(id);  // Should never be useful because of UUID

    archive_[id] = obj;
    lru_.Add(id);

@@ -113,7 +129,6 @@ namespace Orthanc
  {
    boost::mutex::scoped_lock lock(mutex_);
    RemoveInternal(id);      
    lru_.Invalidate(id);
  }


@@ -121,6 +136,7 @@ namespace Orthanc
  {
    items.clear();

    {
      boost::mutex::scoped_lock lock(mutex_);

      for (Archive::const_iterator it = archive_.begin();
@@ -130,5 +146,4 @@ namespace Orthanc
      }
    }
  }

}
+5 −3
Original line number Diff line number Diff line
@@ -72,10 +72,12 @@ namespace Orthanc
      Accessor(SharedArchive& that,
               const std::string& id);

      IDynamicObject& GetItem() const
      bool IsValid() const
      {
        return *item_;
        return item_ != NULL;
      }
      
      IDynamicObject& GetItem() const;
    };


Loading