Mercurial > hg > orthanc-stone
annotate OrthancStone/Sources/Oracle/GenericOracleRunner.h @ 1574:fb5e620430ae
fix
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 21 Sep 2020 18:29:53 +0200 |
parents | 244ad1e4e76a |
children | 4fb8fdf03314 |
rev | line source |
---|---|
1077 | 1 /** |
2 * Stone of Orthanc | |
3 * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics | |
4 * Department, University Hospital of Liege, Belgium | |
1271
0ca50d275b9a
upgrade to year 2020
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1150
diff
changeset
|
5 * Copyright (C) 2017-2020 Osimis S.A., Belgium |
1077 | 6 * |
7 * This program is free software: you can redistribute it and/or | |
8 * modify it under the terms of the GNU Affero General Public License | |
9 * as published by the Free Software Foundation, either version 3 of | |
10 * the License, or (at your option) any later version. | |
11 * | |
12 * This program is distributed in the hope that it will be useful, but | |
13 * WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
15 * Affero General Public License for more details. | |
16 * | |
17 * You should have received a copy of the GNU Affero General Public License | |
18 * along with this program. If not, see <http://www.gnu.org/licenses/>. | |
19 **/ | |
20 | |
21 | |
22 #pragma once | |
23 | |
1509
b7210c688ca7
linking SDL samples against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1455
diff
changeset
|
24 #include <OrthancFramework.h> // To have the macros properly defined |
b7210c688ca7
linking SDL samples against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1455
diff
changeset
|
25 |
1124
a8bf81756839
unsuccessful attempt to cache ParseDicomFileCommand
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1104
diff
changeset
|
26 #if !defined(ORTHANC_ENABLE_DCMTK) |
a8bf81756839
unsuccessful attempt to cache ParseDicomFileCommand
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1104
diff
changeset
|
27 # error The macro ORTHANC_ENABLE_DCMTK must be defined |
a8bf81756839
unsuccessful attempt to cache ParseDicomFileCommand
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1104
diff
changeset
|
28 #endif |
a8bf81756839
unsuccessful attempt to cache ParseDicomFileCommand
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1104
diff
changeset
|
29 |
a8bf81756839
unsuccessful attempt to cache ParseDicomFileCommand
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1104
diff
changeset
|
30 #if ORTHANC_ENABLE_DCMTK == 1 |
1150 | 31 # include "../Toolbox/ParsedDicomCache.h" |
1124
a8bf81756839
unsuccessful attempt to cache ParseDicomFileCommand
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1104
diff
changeset
|
32 #endif |
a8bf81756839
unsuccessful attempt to cache ParseDicomFileCommand
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1104
diff
changeset
|
33 |
1129
c3d4adf8bc70
removing IOracleRunner abstraction
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1127
diff
changeset
|
34 #include "IOracleCommand.h" |
1134
87fbeb823375
allocating messages from oracle commands on the stack
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1129
diff
changeset
|
35 #include "../Messages/IMessageEmitter.h" |
1124
a8bf81756839
unsuccessful attempt to cache ParseDicomFileCommand
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1104
diff
changeset
|
36 |
1455
30deba7bc8e2
simplifying include_directories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1271
diff
changeset
|
37 #include <Enumerations.h> // For ORTHANC_OVERRIDE |
30deba7bc8e2
simplifying include_directories
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1271
diff
changeset
|
38 #include <WebServiceParameters.h> |
1077 | 39 |
40 namespace OrthancStone | |
41 { | |
1129
c3d4adf8bc70
removing IOracleRunner abstraction
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1127
diff
changeset
|
42 class GenericOracleRunner : public boost::noncopyable |
1077 | 43 { |
44 private: | |
1104 | 45 Orthanc::WebServiceParameters orthanc_; |
46 std::string rootDirectory_; | |
1077 | 47 |
1124
a8bf81756839
unsuccessful attempt to cache ParseDicomFileCommand
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1104
diff
changeset
|
48 #if ORTHANC_ENABLE_DCMTK == 1 |
1150 | 49 boost::shared_ptr<ParsedDicomCache> dicomCache_; |
1124
a8bf81756839
unsuccessful attempt to cache ParseDicomFileCommand
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1104
diff
changeset
|
50 #endif |
a8bf81756839
unsuccessful attempt to cache ParseDicomFileCommand
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1104
diff
changeset
|
51 |
1077 | 52 public: |
1127 | 53 GenericOracleRunner() : |
54 rootDirectory_(".") | |
1104 | 55 { |
56 } | |
57 | |
58 void SetOrthanc(const Orthanc::WebServiceParameters& orthanc) | |
59 { | |
60 orthanc_ = orthanc; | |
61 } | |
62 | |
63 const Orthanc::WebServiceParameters& GetOrthanc() const | |
1077 | 64 { |
1104 | 65 return orthanc_; |
66 } | |
67 | |
68 void SetRootDirectory(const std::string& rootDirectory) | |
69 { | |
70 rootDirectory_ = rootDirectory; | |
71 } | |
72 | |
73 const std::string GetRootDirectory() const | |
74 { | |
75 return rootDirectory_; | |
1077 | 76 } |
77 | |
1124
a8bf81756839
unsuccessful attempt to cache ParseDicomFileCommand
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1104
diff
changeset
|
78 #if ORTHANC_ENABLE_DCMTK == 1 |
1150 | 79 void SetDicomCache(boost::shared_ptr<ParsedDicomCache> cache) |
1124
a8bf81756839
unsuccessful attempt to cache ParseDicomFileCommand
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1104
diff
changeset
|
80 { |
a8bf81756839
unsuccessful attempt to cache ParseDicomFileCommand
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1104
diff
changeset
|
81 dicomCache_ = cache; |
a8bf81756839
unsuccessful attempt to cache ParseDicomFileCommand
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1104
diff
changeset
|
82 } |
a8bf81756839
unsuccessful attempt to cache ParseDicomFileCommand
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1104
diff
changeset
|
83 #endif |
a8bf81756839
unsuccessful attempt to cache ParseDicomFileCommand
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1104
diff
changeset
|
84 |
1134
87fbeb823375
allocating messages from oracle commands on the stack
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1129
diff
changeset
|
85 void Run(boost::weak_ptr<IObserver> receiver, |
87fbeb823375
allocating messages from oracle commands on the stack
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1129
diff
changeset
|
86 IMessageEmitter& emitter, |
1135
a0a33e5ea5bb
IOracleCommand::Clone()
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1134
diff
changeset
|
87 const IOracleCommand& command); |
1077 | 88 }; |
89 } |