annotate Framework/Toolbox/OrthancSynchronousWebService.h @ 80:f40a78cc7070 wasm

Oracle
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 24 May 2017 22:33:20 +0200
parents f73aed014bde
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
57
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1 /**
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
2 * Stone of Orthanc
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
3 * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
4 * Department, University Hospital of Liege, Belgium
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
5 * Copyright (C) 2017 Osimis, Belgium
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
6 *
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
7 * This program is free software: you can redistribute it and/or
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
8 * modify it under the terms of the GNU Affero General Public License
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
9 * as published by the Free Software Foundation, either version 3 of
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
10 * the License, or (at your option) any later version.
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
11 *
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
12 * This program is distributed in the hope that it will be useful, but
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
13 * WITHOUT ANY WARRANTY; without even the implied warranty of
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
15 * Affero General Public License for more details.
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
16 *
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
17 * You should have received a copy of the GNU Affero General Public License
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
19 **/
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
20
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
21
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
22 #pragma once
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
23
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
24 #include "IWebService.h"
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
25 #include "../../Resources/Orthanc/Plugins/Samples/Common/IOrthancConnection.h"
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
26 #include "../../Resources/Orthanc/Core/WebServiceParameters.h"
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
27
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
28 #include <memory>
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
29
70
f73aed014bde OrthancAsynchronousWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 69
diff changeset
30 // TODO REMOVE THIS
f73aed014bde OrthancAsynchronousWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 69
diff changeset
31
57
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
32 namespace OrthancStone
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
33 {
69
1553b67b24e5 OrthancSynchronousWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 58
diff changeset
34 class OrthancSynchronousWebService : public IWebService
57
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
35 {
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
36 private:
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
37 std::auto_ptr<OrthancPlugins::IOrthancConnection> orthanc_;
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
38
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
39 public:
69
1553b67b24e5 OrthancSynchronousWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 58
diff changeset
40 OrthancSynchronousWebService(OrthancPlugins::IOrthancConnection* orthanc); // Takes ownership
57
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
41
69
1553b67b24e5 OrthancSynchronousWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 58
diff changeset
42 OrthancSynchronousWebService(const Orthanc::WebServiceParameters& parameters);
57
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
43
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
44 OrthancPlugins::IOrthancConnection& GetConnection()
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
45 {
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
46 return *orthanc_;
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
47 }
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
48
58
468c48eaa01c refactoring
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 57
diff changeset
49 virtual void ScheduleGetRequest(ICallback& callback,
57
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
50 const std::string& uri,
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
51 Orthanc::IDynamicObject* payload);
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
52
58
468c48eaa01c refactoring
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 57
diff changeset
53 virtual void SchedulePostRequest(ICallback& callback,
57
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
54 const std::string& uri,
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
55 const std::string& body,
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
56 Orthanc::IDynamicObject* payload);
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
57 };
d20e25cfcf3a IWebService
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
58 }