Mercurial > hg > orthanc-book
changeset 250:540c2884cdf4
cont
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 07 Jun 2019 09:21:09 +0200 |
parents | 19dd28b3a541 |
children | 974d97395060 |
files | Sphinx/source/developers/creating-plugins.rst |
diffstat | 1 files changed, 33 insertions(+), 20 deletions(-) [+] |
line wrap: on
line diff
--- a/Sphinx/source/developers/creating-plugins.rst Fri Jun 07 08:51:27 2019 +0200 +++ b/Sphinx/source/developers/creating-plugins.rst Fri Jun 07 09:21:09 2019 +0200 @@ -3,13 +3,15 @@ Creating new plugins ==================== +.. contents:: + +Overview +-------- + The recommended way of :ref:`contributing to the Orthanc code <contributing>` consists in extending it by creating new :ref:`plugins <plugins>`. -Overview --------- - Orthanc plugins must use the `plugin SDK <http://sdk.orthanc-server.com/>`__ and must be written in C or C++. They must also fullfil the terms of the `GPLv3 license @@ -30,22 +32,6 @@ your plugin to be **indexed** in :ref:`the dedicated part of the Orthanc Book <plugins-contributed>`! -**Note for C++ developers**: Convenience C++ wrappers around the plain -C API are available in the source Orthanc distribution. The following -three files can be used in your projects, and only depend on `Boost -<https://www.boost.org/>`__ and `JsonCpp -<https://github.com/open-source-parsers/jsoncpp>`__ if macro -``HAS_ORTHANC_EXCEPTION`` is set to ``0``: - -* `Plugins/Samples/Common/OrthanPluginCppWrapper.h - <https://bitbucket.org/sjodogne/orthanc/src/default/Plugins/Samples/Common/OrthancPluginCppWrapper.h>`__ -* `Plugins/Samples/Common/OrthanPluginCppWrapper.cpp - <https://bitbucket.org/sjodogne/orthanc/src/default/Plugins/Samples/Common/OrthancPluginCppWrapper.cpp>`__ -* `Plugins/Samples/Common/OrthanPluginException.h - <https://bitbucket.org/sjodogne/orthanc/src/default/Plugins/Samples/Common/OrthancPluginException.h>`__ - - - Structure of the plugins ------------------------ @@ -69,4 +55,31 @@ the Orthanc core and the plugins must be below 4GB. This is a consequence of the fact that the Orthanc plugin SDK uses ``uint32_t`` to encode the size of a memory buffer. We might extend the SDK in -the future to deal with buffers whose size if above 4GB. +the future to deal with buffers whose size is above 4GB. + +Plugin SDK +---------- + +Any plugin project should include the **official C header** file +that is part of the Orthanc source distribution: + +* `Plugins/Include/orthanc/OrthancCPlugin.h + <https://bitbucket.org/sjodogne/orthanc/src/Orthanc-1.5.6/Plugins/Include/orthanc/OrthancCPlugin.h>`__ + +`Online documentation <http://sdk.orthanc-server.com/>`__ for this C +header is available, as generated by `Doxygen +<https://en.wikipedia.org/wiki/Doxygen>`__. + +**Convenience C++ wrappers** around the plain C API are available in +the Orthanc source distribution. The following three files can be used +in your projects, and only depend on `Boost +<https://www.boost.org/>`__ and `JsonCpp +<https://github.com/open-source-parsers/jsoncpp>`__ if macro +``HAS_ORTHANC_EXCEPTION`` is set to ``0``: + +* `Plugins/Samples/Common/OrthanPluginCppWrapper.h + <https://bitbucket.org/sjodogne/orthanc/src/default/Plugins/Samples/Common/OrthancPluginCppWrapper.h>`__ +* `Plugins/Samples/Common/OrthanPluginCppWrapper.cpp + <https://bitbucket.org/sjodogne/orthanc/src/default/Plugins/Samples/Common/OrthancPluginCppWrapper.cpp>`__ +* `Plugins/Samples/Common/OrthanPluginException.h + <https://bitbucket.org/sjodogne/orthanc/src/default/Plugins/Samples/Common/OrthancPluginException.h>`__