Mercurial > hg > orthanc
comparison OrthancServer/ServerContext.cpp @ 1001:f3929718ea7e lua-scripting
autorouting primitives
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 04 Jul 2014 15:31:42 +0200 |
parents | 4136fab6a639 |
children | b067017a8a5b |
comparison
equal
deleted
inserted
replaced
1000:13e230bbd882 | 1001:f3929718ea7e |
---|---|
41 | 41 |
42 #include <glog/logging.h> | 42 #include <glog/logging.h> |
43 #include <EmbeddedResources.h> | 43 #include <EmbeddedResources.h> |
44 #include <dcmtk/dcmdata/dcfilefo.h> | 44 #include <dcmtk/dcmdata/dcfilefo.h> |
45 | 45 |
46 | |
47 #include "Scheduler/DeleteInstanceCommand.h" | |
48 #include "Scheduler/StoreScuCommand.h" | |
49 | |
50 | |
51 | |
46 #define ENABLE_DICOM_CACHE 1 | 52 #define ENABLE_DICOM_CACHE 1 |
47 | 53 |
48 static const char* RECEIVED_INSTANCE_FILTER = "ReceivedInstanceFilter"; | 54 static const char* RECEIVED_INSTANCE_FILTER = "ReceivedInstanceFilter"; |
49 static const char* ON_STORED_INSTANCE = "OnStoredInstance"; | 55 static const char* ON_STORED_INSTANCE = "OnStoredInstance"; |
50 | 56 |
129 call.ExecuteToJson(result); | 135 call.ExecuteToJson(result); |
130 | 136 |
131 printf("TODO\n"); | 137 printf("TODO\n"); |
132 std::cout << result; | 138 std::cout << result; |
133 } | 139 } |
140 | |
141 { | |
142 // Autorouting test | |
143 RemoteModalityParameters p = Configuration::GetModalityUsingSymbolicName("sample"); | |
144 | |
145 ServerJob job; | |
146 ServerCommandInstance& a = job.AddCommand(new StoreScuCommand(*this, p)); | |
147 ServerCommandInstance& b = job.AddCommand(new DeleteInstanceCommand(*this)); | |
148 a.AddInput(instanceId); | |
149 a.ConnectNext(b); | |
150 | |
151 job.SetDescription("Autorouting test"); | |
152 scheduler_.Submit(job); | |
153 } | |
134 } | 154 } |
135 | 155 |
136 | 156 |
137 StoreStatus ServerContext::Store(const char* dicomInstance, | 157 StoreStatus ServerContext::Store(const char* dicomInstance, |
138 size_t dicomSize, | 158 size_t dicomSize, |
194 } | 214 } |
195 | 215 |
196 if (status == StoreStatus_Success || | 216 if (status == StoreStatus_Success || |
197 status == StoreStatus_AlreadyStored) | 217 status == StoreStatus_AlreadyStored) |
198 { | 218 { |
199 DicomInstanceHasher hasher(dicomSummary); | 219 try |
200 ApplyOnStoredInstance(simplified, hasher.HashInstance()); | 220 { |
221 DicomInstanceHasher hasher(dicomSummary); | |
222 ApplyOnStoredInstance(simplified, hasher.HashInstance()); | |
223 } | |
224 catch (OrthancException&) | |
225 { | |
226 LOG(ERROR) << "Error when dealing with OnStoredInstance"; | |
227 } | |
201 } | 228 } |
202 | 229 |
203 return status; | 230 return status; |
204 } | 231 } |
205 | 232 |