Mercurial > hg > orthanc-book
changeset 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 | e1341328cd4a |
children | 23271902921a |
files | Sphinx/source/developers/creating-plugins.rst |
diffstat | 1 files changed, 16 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/Sphinx/source/developers/creating-plugins.rst Fri Nov 26 07:31:54 2021 +0100 +++ b/Sphinx/source/developers/creating-plugins.rst Mon Dec 06 13:13:31 2021 +0100 @@ -12,16 +12,27 @@ <contributing>` consists in extending it by creating new :ref:`plugins <plugins>`. -Orthanc plugins must use the `plugin SDK -<https://sdk.orthanc-server.com/>`__ and must be written in C or -C++. They must also fullfil the terms of the `GPLv3 license -<http://www.gnu.org/licenses/quick-guide-gplv3.en.html>`__ that is -used by the core of Orthanc. +Native Orthanc plugins must use the `plugin SDK +<https://sdk.orthanc-server.com/>`__ whose interface is available as a +`C header +<https://hg.orthanc-server.com/orthanc/file/Orthanc-1.9.7/OrthancServer/Plugins/Include/orthanc/OrthancCPlugin.h>`__. +As a consequence, an Orthanc plugin will typically be written using C +or C++, although it is also possible to create native plugins using +languages that feature compatibility with C headers and with C ABI +(such as Rust or Objective-C). For developers who are more familiar with Python, it is also possible to create plugins using this simpler language. Check out the :ref:`dedicated Python plugin <python-plugin>`. +Because the C header providing the Orthanc SDK interface is licensed +using the GPLv3 license, any Orthanc plugin must be licensed either +under the `GPLv3 license +<http://www.gnu.org/licenses/quick-guide-gplv3.en.html>`__ that is +used by the :ref:`core of Orthanc <licensing>`, or under a more +restrictive license that is compatible with the GPL (typically the +AGPL). + Here are some resources about creating C/C++ plugins: * Sample code for plugins can be found `in the official Orthanc