comparison Framework/Loaders/WebAssemblyLoadersContext.h @ 1248:2a8359503f3b broker

WebAssemblyLoadersContext
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 07 Jan 2020 13:45:04 +0100
parents
children 0ca50d275b9a
comparison
equal deleted inserted replaced
1247:af35ec39ebec 1248:2a8359503f3b
1 /**
2 * Stone of Orthanc
3 * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
4 * Department, University Hospital of Liege, Belgium
5 * Copyright (C) 2017-2019 Osimis S.A., Belgium
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
24 #include "ILoadersContext.h"
25 #include "../Oracle/WebAssemblyOracle.h"
26 #include "OracleScheduler.h"
27
28 namespace OrthancStone
29 {
30 class WebAssemblyLoadersContext : public ILoadersContext
31 {
32 private:
33 class Locker;
34
35 WebAssemblyOracle oracle_;
36 boost::shared_ptr<OracleScheduler> scheduler_;
37 std::list< boost::shared_ptr<IObserver> > loaders_;
38
39 public:
40 WebAssemblyLoadersContext(unsigned int maxHighPriority,
41 unsigned int maxStandardPriority,
42 unsigned int maxLowPriority);
43
44 void SetLocalOrthanc(const std::string& root)
45 {
46 oracle_.SetLocalOrthanc(root);
47 }
48
49 void SetRemoteOrthanc(const Orthanc::WebServiceParameters& orthanc)
50 {
51 oracle_.SetRemoteOrthanc(orthanc);
52 }
53
54 void SetDicomCacheSize(size_t size)
55 {
56 oracle_.SetDicomCacheSize(size);
57 }
58
59 virtual ILock* Lock() ORTHANC_OVERRIDE;
60 };
61 }