comparison OrthancServer/ServerContext.h @ 1004:a226e0959d8b lua-scripting

DicomInstanceToStore
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 08 Jul 2014 14:06:05 +0200
parents 1d35281d967c
children 84b6d7bca6db
comparison
equal deleted inserted replaced
1003:1d35281d967c 1004:a226e0959d8b
39 #include "../Core/Lua/LuaContext.h" 39 #include "../Core/Lua/LuaContext.h"
40 #include "ServerIndex.h" 40 #include "ServerIndex.h"
41 #include "ParsedDicomFile.h" 41 #include "ParsedDicomFile.h"
42 #include "DicomProtocol/ReusableDicomUserConnection.h" 42 #include "DicomProtocol/ReusableDicomUserConnection.h"
43 #include "Scheduler/ServerScheduler.h" 43 #include "Scheduler/ServerScheduler.h"
44 #include "DicomInstanceToStore.h"
44 45
45 namespace Orthanc 46 namespace Orthanc
46 { 47 {
47 /** 48 /**
48 * This class is responsible for maintaining the storage area on the 49 * This class is responsible for maintaining the storage area on the
84 ServerScheduler scheduler_; 85 ServerScheduler scheduler_;
85 86
86 boost::mutex luaMutex_; 87 boost::mutex luaMutex_;
87 LuaContext lua_; 88 LuaContext lua_;
88 89
90 StoreStatus Store(std::string& resultPublicId,
91 const char* dicomBuffer,
92 size_t dicomSize,
93 const ServerIndex::MetadataMap& metadata = ServerIndex::MetadataMap());
94
89 public: 95 public:
90 class DicomCacheLocker : public boost::noncopyable 96 class DicomCacheLocker : public boost::noncopyable
91 { 97 {
92 private: 98 private:
93 ServerContext& that_; 99 ServerContext& that_;
150 const void* data, 156 const void* data,
151 size_t size); 157 size_t size);
152 158
153 159
154 // TODO SIMPLIFY THESE MANY "Store" methods! 160 // TODO SIMPLIFY THESE MANY "Store" methods!
161 StoreStatus Store(std::string& resultPublicId,
162 DicomInstanceToStore& dicom);
163
155 StoreStatus Store(const char* dicomInstance, 164 StoreStatus Store(const char* dicomInstance,
156 size_t dicomSize, 165 size_t dicomSize,
157 const DicomMap& dicomSummary, 166 const DicomMap& dicomSummary,
158 const Json::Value& dicomJson, 167 const Json::Value& dicomJson,
159 const std::string& remoteAet, 168 const std::string& remoteAet,
168 StoreStatus Store(std::string& resultPublicId, 177 StoreStatus Store(std::string& resultPublicId,
169 ParsedDicomFile& dicomInstance, 178 ParsedDicomFile& dicomInstance,
170 const ServerIndex::MetadataMap& metadata = ServerIndex::MetadataMap()); 179 const ServerIndex::MetadataMap& metadata = ServerIndex::MetadataMap());
171 180
172 StoreStatus Store(std::string& resultPublicId, 181 StoreStatus Store(std::string& resultPublicId,
173 const char* dicomBuffer,
174 size_t dicomSize,
175 const ServerIndex::MetadataMap& metadata = ServerIndex::MetadataMap());
176
177 StoreStatus Store(std::string& resultPublicId,
178 const std::string& dicomContent, 182 const std::string& dicomContent,
179 const ServerIndex::MetadataMap& metadata = ServerIndex::MetadataMap()); 183 const ServerIndex::MetadataMap& metadata = ServerIndex::MetadataMap());
180 184
181 void AnswerDicomFile(RestApiOutput& output, 185 void AnswerDicomFile(RestApiOutput& output,
182 const std::string& instancePublicId, 186 const std::string& instancePublicId,