Mercurial > hg > orthanc
comparison Plugins/Samples/Basic/Plugin.c @ 1066:bb82e5e818e9
OnStoredInstance callback in plugins
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 25 Jul 2014 18:39:02 +0200 |
parents | 6d90e2bcab60 |
children | ace99e272203 |
comparison
equal
deleted
inserted
replaced
1065:921532f67770 | 1066:bb82e5e818e9 |
---|---|
163 | 163 |
164 return 0; | 164 return 0; |
165 } | 165 } |
166 | 166 |
167 | 167 |
168 ORTHANC_PLUGINS_API int32_t OnStoredCallback(OrthancPluginDicomInstance* instance, | |
169 const char* instanceId) | |
170 { | |
171 char buffer[256]; | |
172 FILE* fp; | |
173 char* json; | |
174 | |
175 sprintf(buffer, "Just received a DICOM instance of size %d and ID %s from AET %s", | |
176 (int) OrthancPluginGetInstanceSize(context, instance), instanceId, | |
177 OrthancPluginGetInstanceRemoteAet(context, instance)); | |
178 | |
179 OrthancPluginLogWarning(context, buffer); | |
180 | |
181 fp = fopen("PluginReceivedInstance.dcm", "wb"); | |
182 fwrite(OrthancPluginGetInstanceData(context, instance), | |
183 OrthancPluginGetInstanceSize(context, instance), 1, fp); | |
184 fclose(fp); | |
185 | |
186 json = OrthancPluginGetInstanceSimplifiedJson(context, instance); | |
187 printf("[%s]\n", json); | |
188 OrthancPluginFreeString(context, json); | |
189 | |
190 return 0; | |
191 } | |
192 | |
193 | |
194 | |
168 ORTHANC_PLUGINS_API int32_t OrthancPluginInitialize(OrthancPluginContext* c) | 195 ORTHANC_PLUGINS_API int32_t OrthancPluginInitialize(OrthancPluginContext* c) |
169 { | 196 { |
170 const char* pathLocator = "\"Path\" : \""; | 197 const char* pathLocator = "\"Path\" : \""; |
171 OrthancPluginMemoryBuffer tmp; | 198 OrthancPluginMemoryBuffer tmp; |
172 char info[1024]; | 199 char info[1024]; |
191 OrthancPluginLogInfo(context, info); | 218 OrthancPluginLogInfo(context, info); |
192 | 219 |
193 OrthancPluginRegisterRestCallback(context, "/(plu.*)/hello", Callback1); | 220 OrthancPluginRegisterRestCallback(context, "/(plu.*)/hello", Callback1); |
194 OrthancPluginRegisterRestCallback(context, "/plu.*/image", Callback2); | 221 OrthancPluginRegisterRestCallback(context, "/plu.*/image", Callback2); |
195 OrthancPluginRegisterRestCallback(context, "/plugin/instances/([^/]+)/info", Callback3); | 222 OrthancPluginRegisterRestCallback(context, "/plugin/instances/([^/]+)/info", Callback3); |
196 | |
197 OrthancPluginRegisterRestCallback(context, "/instances/([^/]+)/preview", Callback4); | 223 OrthancPluginRegisterRestCallback(context, "/instances/([^/]+)/preview", Callback4); |
224 | |
225 OrthancPluginRegisterOnStoredInstanceCallback(context, OnStoredCallback); | |
198 | 226 |
199 /* Make REST requests to the built-in Orthanc API */ | 227 /* Make REST requests to the built-in Orthanc API */ |
200 OrthancPluginRestApiGet(context, &tmp, "/changes"); | 228 OrthancPluginRestApiGet(context, &tmp, "/changes"); |
201 OrthancPluginFreeMemoryBuffer(context, &tmp); | 229 OrthancPluginFreeMemoryBuffer(context, &tmp); |
202 OrthancPluginRestApiGet(context, &tmp, "/changes?limit=1"); | 230 OrthancPluginRestApiGet(context, &tmp, "/changes?limit=1"); |