comparison Sphinx/source/developers/creating-plugins.rst @ 991:1316bc62b5d5

migration to UCLouvain servers
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 21 Nov 2023 21:09:02 +0100
parents a6bf749b3c04
children 05b106383b2a
comparison
equal deleted inserted replaced
990:27b75c653a8b 991:1316bc62b5d5
13 <plugins>`. 13 <plugins>`.
14 14
15 Native Orthanc plugins must use the `plugin SDK 15 Native Orthanc plugins must use the `plugin SDK
16 <https://sdk.orthanc-server.com/>`__ whose interface is available as a 16 <https://sdk.orthanc-server.com/>`__ whose interface is available as a
17 `C header 17 `C header
18 <https://hg.orthanc-server.com/orthanc/file/Orthanc-1.12.1/OrthancServer/Plugins/Include/orthanc/OrthancCPlugin.h>`__. 18 <https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.1/OrthancServer/Plugins/Include/orthanc/OrthancCPlugin.h>`__.
19 As a consequence, an Orthanc plugin will typically be written using C 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 20 or C++, although it is also possible to create native plugins using
21 languages that feature compatibility with C headers and with `FFI of 21 languages that feature compatibility with C headers and with `FFI of
22 the C language 22 the C language
23 <https://en.wikipedia.org/wiki/Foreign_function_interface>`__ (such as 23 <https://en.wikipedia.org/wiki/Foreign_function_interface>`__ (such as
37 37
38 Here are some resources about creating C/C++ plugins: 38 Here are some resources about creating C/C++ plugins:
39 39
40 * Sample code for plugins can be found `in the official Orthanc 40 * Sample code for plugins can be found `in the official Orthanc
41 repository 41 repository
42 <https://hg.orthanc-server.com/orthanc/file/default/OrthancServer/Plugins/Samples/>`__ 42 <https://orthanc.uclouvain.be/hg/orthanc/file/default/OrthancServer/Plugins/Samples/>`__
43 (in the ``Plugins/Samples`` folder). 43 (in the ``Plugins/Samples`` folder).
44 44
45 * A tutorial showing how to implement a basic WADO server is 45 * A tutorial showing how to implement a basic WADO server is
46 `available on CodeProject 46 `available on CodeProject
47 <https://www.codeproject.com/Articles/797118/Implementing-a-WADO-Server-using-Orthanc>`__. 47 <https://www.codeproject.com/Articles/797118/Implementing-a-WADO-Server-using-Orthanc>`__.
94 94
95 Any plugin project should include the **official C header** file 95 Any plugin project should include the **official C header** file
96 that is part of the Orthanc source distribution: 96 that is part of the Orthanc source distribution:
97 97
98 * `Plugins/Include/orthanc/OrthancCPlugin.h 98 * `Plugins/Include/orthanc/OrthancCPlugin.h
99 <https://hg.orthanc-server.com/orthanc/file/Orthanc-1.12.1/OrthancServer/Plugins/Include/orthanc/OrthancCPlugin.h>`__ 99 <https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.1/OrthancServer/Plugins/Include/orthanc/OrthancCPlugin.h>`__
100 100
101 `Online documentation <https://sdk.orthanc-server.com/>`__ for this C 101 `Online documentation <https://sdk.orthanc-server.com/>`__ for this C
102 header is available, as generated by `Doxygen 102 header is available, as generated by `Doxygen
103 <https://en.wikipedia.org/wiki/Doxygen>`__. 103 <https://en.wikipedia.org/wiki/Doxygen>`__.
104 104
108 <https://www.boost.org/>`__ and `JsonCpp 108 <https://www.boost.org/>`__ and `JsonCpp
109 <https://github.com/open-source-parsers/jsoncpp>`__ if macro 109 <https://github.com/open-source-parsers/jsoncpp>`__ if macro
110 ``HAS_ORTHANC_EXCEPTION`` is set to ``0``: 110 ``HAS_ORTHANC_EXCEPTION`` is set to ``0``:
111 111
112 * `Plugins/Samples/Common/OrthanPluginCppWrapper.h 112 * `Plugins/Samples/Common/OrthanPluginCppWrapper.h
113 <https://hg.orthanc-server.com/orthanc/file/Orthanc-1.12.1/OrthancServer/Plugins/Samples/Common/OrthancPluginCppWrapper.h>`__ 113 <https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.1/OrthancServer/Plugins/Samples/Common/OrthancPluginCppWrapper.h>`__
114 * `Plugins/Samples/Common/OrthanPluginCppWrapper.cpp 114 * `Plugins/Samples/Common/OrthanPluginCppWrapper.cpp
115 <https://hg.orthanc-server.com/orthanc/file/Orthanc-1.12.1/OrthancServer/Plugins/Samples/Common/OrthancPluginCppWrapper.cpp>`__ 115 <https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.1/OrthancServer/Plugins/Samples/Common/OrthancPluginCppWrapper.cpp>`__
116 * `Plugins/Samples/Common/OrthanPluginException.h 116 * `Plugins/Samples/Common/OrthanPluginException.h
117 <https://hg.orthanc-server.com/orthanc/file/Orthanc-1.12.1/OrthancServer/Plugins/Samples/Common/OrthancPluginException.h>`__ 117 <https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.1/OrthancServer/Plugins/Samples/Common/OrthancPluginException.h>`__