comparison Sources/PythonModule.h @ 0:7ed502b17b8f

initial commit
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 26 Mar 2020 18:47:01 +0100
parents
children fd58eb5749ed
comparison
equal deleted inserted replaced
-1:000000000000 0:7ed502b17b8f
1 /**
2 * Python plugin for Orthanc
3 * Copyright (C) 2017-2020 Osimis S.A., Belgium
4 *
5 * This program is free software: you can redistribute it and/or
6 * modify it under the terms of the GNU Affero General Public License
7 * as published by the Free Software Foundation, either version 3 of
8 * the License, or (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Affero General Public License for more details.
14 *
15 * You should have received a copy of the GNU Affero General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 **/
18
19
20 #pragma once
21
22 #include "../Resources/Orthanc/Core/Compatibility.h"
23 #include "PythonObject.h"
24
25 #include <memory>
26
27 class PythonModule : public boost::noncopyable
28 {
29 private:
30 PythonLock& lock_;
31 std::string name_;
32 std::unique_ptr<PythonObject> module_;
33
34 public:
35 PythonModule(PythonLock& lock,
36 const std::string& utf8Name);
37
38 const std::string& GetName() const
39 {
40 return name_;
41 }
42
43 bool IsValid() const;
44
45 PythonObject& GetObject() const;
46
47 PyObject* GetPyObject() const;
48 };