comparison OrthancServer/ServerContext.h @ 3021:2cbafb5d5a62

renamed LookupResource::IVisitor as ServerContext::ILookupVisitor
author Sebastien Jodogne <s.jodogne@gmail.com>
date Sat, 15 Dec 2018 16:29:50 +0100
parents abe49ca61cd5
children 039a9d262d64 4e43e67f8ecf
comparison
equal deleted inserted replaced
3015:abe49ca61cd5 3021:2cbafb5d5a62
61 * filesystem (including compression), as well as the index of the 61 * filesystem (including compression), as well as the index of the
62 * DICOM store. It implements the required locking mechanisms. 62 * DICOM store. It implements the required locking mechanisms.
63 **/ 63 **/
64 class ServerContext : private JobsRegistry::IObserver 64 class ServerContext : private JobsRegistry::IObserver
65 { 65 {
66 public:
67 class ILookupVisitor : public boost::noncopyable
68 {
69 public:
70 virtual ~ILookupVisitor()
71 {
72 }
73
74 virtual bool IsDicomAsJsonNeeded() const = 0;
75
76 virtual void MarkAsComplete() = 0;
77
78 virtual void Visit(const std::string& publicId,
79 const std::string& instanceId,
80 const DicomMap& mainDicomTags,
81 const Json::Value* dicomAsJson) = 0;
82 };
83
84
66 private: 85 private:
67 enum LookupMode 86 enum LookupMode
68 { 87 {
69 LookupMode_DatabaseOnly, 88 LookupMode_DatabaseOnly,
70 LookupMode_DiskOnAnswer, 89 LookupMode_DiskOnAnswer,
341 return httpHandler_; 360 return httpHandler_;
342 } 361 }
343 362
344 void Stop(); 363 void Stop();
345 364
346 void Apply(LookupResource::IVisitor& visitor, 365 void Apply(ILookupVisitor& visitor,
347 const ::Orthanc::LookupResource& lookup, 366 const ::Orthanc::LookupResource& lookup,
348 size_t since, 367 size_t since,
349 size_t limit); 368 size_t limit);
350 369
351 bool LookupOrReconstructMetadata(std::string& target, 370 bool LookupOrReconstructMetadata(std::string& target,