Mercurial > hg > orthanc-book
comparison Sphinx/source/developers/creating-plugins.rst @ 794:e22c1284ea0e
plugins can be written in rust
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 06 Dec 2021 13:13:31 +0100 |
parents | 4e9dc26a5cb9 |
children | 23271902921a |
comparison
equal
deleted
inserted
replaced
793:e1341328cd4a | 794:e22c1284ea0e |
---|---|
10 | 10 |
11 The recommended way of :ref:`contributing to the Orthanc code | 11 The recommended way of :ref:`contributing to the Orthanc code |
12 <contributing>` consists in extending it by creating new :ref:`plugins | 12 <contributing>` consists in extending it by creating new :ref:`plugins |
13 <plugins>`. | 13 <plugins>`. |
14 | 14 |
15 Orthanc plugins must use the `plugin SDK | 15 Native Orthanc plugins must use the `plugin SDK |
16 <https://sdk.orthanc-server.com/>`__ and must be written in C or | 16 <https://sdk.orthanc-server.com/>`__ whose interface is available as a |
17 C++. They must also fullfil the terms of the `GPLv3 license | 17 `C header |
18 <http://www.gnu.org/licenses/quick-guide-gplv3.en.html>`__ that is | 18 <https://hg.orthanc-server.com/orthanc/file/Orthanc-1.9.7/OrthancServer/Plugins/Include/orthanc/OrthancCPlugin.h>`__. |
19 used by the core of Orthanc. | 19 As a consequence, an Orthanc plugin will typically be written using C |
20 or C++, although it is also possible to create native plugins using | |
21 languages that feature compatibility with C headers and with C ABI | |
22 (such as Rust or Objective-C). | |
20 | 23 |
21 For developers who are more familiar with Python, it is also possible | 24 For developers who are more familiar with Python, it is also possible |
22 to create plugins using this simpler language. Check out the | 25 to create plugins using this simpler language. Check out the |
23 :ref:`dedicated Python plugin <python-plugin>`. | 26 :ref:`dedicated Python plugin <python-plugin>`. |
27 | |
28 Because the C header providing the Orthanc SDK interface is licensed | |
29 using the GPLv3 license, any Orthanc plugin must be licensed either | |
30 under the `GPLv3 license | |
31 <http://www.gnu.org/licenses/quick-guide-gplv3.en.html>`__ that is | |
32 used by the :ref:`core of Orthanc <licensing>`, or under a more | |
33 restrictive license that is compatible with the GPL (typically the | |
34 AGPL). | |
24 | 35 |
25 Here are some resources about creating C/C++ plugins: | 36 Here are some resources about creating C/C++ plugins: |
26 | 37 |
27 * Sample code for plugins can be found `in the official Orthanc | 38 * Sample code for plugins can be found `in the official Orthanc |
28 repository | 39 repository |