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