Mercurial > hg > orthanc
comparison Plugins/Engine/PluginsManager.cpp @ 897:bafc9d592632 plugins
REST callbacks are working
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 17 Jun 2014 17:43:39 +0200 |
parents | c4053ac5db04 |
children | 7000fc86fe62 |
comparison
equal
deleted
inserted
replaced
896:c4053ac5db04 | 897:bafc9d592632 |
---|---|
31 | 31 |
32 | 32 |
33 #include "PluginsManager.h" | 33 #include "PluginsManager.h" |
34 | 34 |
35 #include "../../Core/Toolbox.h" | 35 #include "../../Core/Toolbox.h" |
36 #include "../../Core/HttpServer/HttpOutput.h" | |
36 | 37 |
37 #include <glog/logging.h> | 38 #include <glog/logging.h> |
38 #include <cassert> | 39 #include <cassert> |
39 #include <memory> | 40 #include <memory> |
40 #include <boost/filesystem.hpp> | 41 #include <boost/filesystem.hpp> |
148 | 149 |
149 void PluginsManager::RegisterRestCallback(const OrthancPluginContext* context, | 150 void PluginsManager::RegisterRestCallback(const OrthancPluginContext* context, |
150 const char* pathRegularExpression, | 151 const char* pathRegularExpression, |
151 OrthancPluginRestCallback callback) | 152 OrthancPluginRestCallback callback) |
152 { | 153 { |
153 // TODO | |
154 LOG(INFO) << "Plugin has registered a REST callback on: " << pathRegularExpression; | 154 LOG(INFO) << "Plugin has registered a REST callback on: " << pathRegularExpression; |
155 | |
156 PluginsManager* manager = reinterpret_cast<PluginsManager*>(context->pimpl); | 155 PluginsManager* manager = reinterpret_cast<PluginsManager*>(context->pimpl); |
157 manager->restCallbacks_.push_back(callback); | 156 manager->restCallbacks_.push_back(std::make_pair(pathRegularExpression, callback)); |
158 | |
159 callback(NULL, OrthancPluginHttpMethod_Get, "/hello/world", NULL, 0); | |
160 } | 157 } |
161 | 158 |
162 | 159 |
163 static void AnswerBuffer(OrthancPluginRestOutput* output, | 160 static void AnswerBuffer(OrthancPluginRestOutput* output, |
164 const char* answer, | 161 const char* answer, |
165 uint32_t answerSize, | 162 uint32_t answerSize, |
166 const char* mimeType) | 163 const char* mimeType) |
167 { | 164 { |
168 std::cout << "MIME " << mimeType << ": " << answer << std::endl; | 165 HttpOutput* translatedOutput = reinterpret_cast<HttpOutput*>(output); |
166 translatedOutput->AnswerBufferWithContentType(answer, answerSize, mimeType); | |
169 } | 167 } |
170 | 168 |
171 | 169 |
172 PluginsManager::PluginsManager() | 170 PluginsManager::PluginsManager() |
173 { | 171 { |