changeset 170:b49eeb36cd0d

removed generation of code model, now part of orthanc-java
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 27 Jun 2024 14:26:59 +0200
parents fcce093788a8
children c8de83fe7faa
files .hgignore CodeAnalysis/ParseOrthancSDK.py Sources/Autogenerated/CodeModel.json Sources/Autogenerated/sdk_GlobalFunctions.impl.h
diffstat 4 files changed, 1246 insertions(+), 5387 deletions(-) [+]
line wrap: on
line diff
--- a/.hgignore	Thu Jun 27 14:14:53 2024 +0200
+++ b/.hgignore	Thu Jun 27 14:26:59 2024 +0200
@@ -2,3 +2,7 @@
 ThirdPartyDownloads/
 *~
 .vscode/
+i/
+*.h.orig
+*.cpp.orig
+*.py.orig
--- a/CodeAnalysis/ParseOrthancSDK.py	Thu Jun 27 14:14:53 2024 +0200
+++ b/CodeAnalysis/ParseOrthancSDK.py	Thu Jun 27 14:26:59 2024 +0200
@@ -552,7 +552,7 @@
 with open(os.path.join(ROOT, 'GlobalFunctions.mustache'), 'r') as f:
     with open(os.path.join(TARGET, 'sdk_GlobalFunctions.impl.h'), 'w') as h:
         h.write(renderer.render(f.read(), {
-            'global_functions' : globalFunctions,
+            'global_functions' : sortedGlobalFunctions,
         }))
             
 with open(os.path.join(ROOT, 'sdk.cpp.mustache'), 'r') as f:
@@ -560,7 +560,7 @@
         h.write(renderer.render(f.read(), {
             'classes' : sortedClasses,
             'enumerations' : sortedEnumerations,
-            'global_functions' : globalFunctions,
+            'global_functions' : sortedGlobalFunctions,
         }))
             
 with open(os.path.join(ROOT, 'sdk.h.mustache'), 'r') as f:
@@ -570,14 +570,6 @@
         }))
 
 
-with open(os.path.join(TARGET, 'CodeModel.json'), 'w') as f:
-    f.write(json.dumps({
-        'global_functions' : globalFunctions,
-        'classes' : sortedClasses,
-        'enumerations' : sortedEnumerations,
-    }, ensure_ascii = True, indent = 4, sort_keys = True))
-
-
 print('')
 print('Total functions in the SDK: %d' % countAllFunctions)
 print('Total supported functions: %d' % countSupportedFunctions)
--- a/Sources/Autogenerated/CodeModel.json	Thu Jun 27 14:14:53 2024 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,4137 +0,0 @@
-{
-    "classes": [
-        {
-            "class_name": "OrthancPluginDicomInstance",
-            "custom_methods": [
-                {
-                    "class_name": "OrthancPluginDicomInstance",
-                    "implementation": "GetInstanceData",
-                    "method_name": "GetInstanceData",
-                    "sdk_function": "OrthancPluginGetInstanceData"
-                }
-            ],
-            "destructor": "OrthancPluginFreeDicomInstance",
-            "methods": [
-                {
-                    "args": [],
-                    "c_function": "OrthancPluginGetInstanceRemoteAet",
-                    "return_sdk_type": "const char *",
-                    "return_static_string": true,
-                    "self": ", self->object_",
-                    "short_name": "GetInstanceRemoteAet",
-                    "tuple_format": "\"\", "
-                },
-                {
-                    "args": [],
-                    "c_function": "OrthancPluginGetInstanceSize",
-                    "return_long": true,
-                    "return_sdk_type": "int64_t",
-                    "self": ", self->object_",
-                    "short_name": "GetInstanceSize",
-                    "tuple_format": "\"\", "
-                },
-                {
-                    "args": [],
-                    "c_function": "OrthancPluginGetInstanceJson",
-                    "return_dynamic_string": true,
-                    "return_sdk_type": "char *",
-                    "self": ", self->object_",
-                    "short_name": "GetInstanceJson",
-                    "tuple_format": "\"\", "
-                },
-                {
-                    "args": [],
-                    "c_function": "OrthancPluginGetInstanceSimplifiedJson",
-                    "return_dynamic_string": true,
-                    "return_sdk_type": "char *",
-                    "self": ", self->object_",
-                    "short_name": "GetInstanceSimplifiedJson",
-                    "tuple_format": "\"\", "
-                },
-                {
-                    "args": [
-                        {
-                            "initialization": " = NULL",
-                            "name": "arg0",
-                            "orthanc_cast": "arg0",
-                            "python_format": "s",
-                            "python_type": "const char*",
-                            "sdk_name": "metadata",
-                            "sdk_type": "const char *"
-                        }
-                    ],
-                    "c_function": "OrthancPluginHasInstanceMetadata",
-                    "call_args": ", arg0",
-                    "count_args": 1,
-                    "has_args": true,
-                    "return_long": true,
-                    "return_sdk_type": "int",
-                    "self": ", self->object_",
-                    "short_name": "HasInstanceMetadata",
-                    "tuple_format": "\"s\", &arg0"
-                },
-                {
-                    "args": [
-                        {
-                            "initialization": " = NULL",
-                            "name": "arg0",
-                            "orthanc_cast": "arg0",
-                            "python_format": "s",
-                            "python_type": "const char*",
-                            "sdk_name": "metadata",
-                            "sdk_type": "const char *"
-                        }
-                    ],
-                    "c_function": "OrthancPluginGetInstanceMetadata",
-                    "call_args": ", arg0",
-                    "count_args": 1,
-                    "has_args": true,
-                    "return_sdk_type": "const char *",
-                    "return_static_string": true,
-                    "self": ", self->object_",
-                    "short_name": "GetInstanceMetadata",
-                    "tuple_format": "\"s\", &arg0"
-                },
-                {
-                    "args": [],
-                    "c_function": "OrthancPluginGetInstanceOrigin",
-                    "return_enumeration": "OrthancPluginInstanceOrigin",
-                    "return_sdk_enumeration": "OrthancPluginInstanceOrigin",
-                    "return_sdk_type": "enumeration",
-                    "self": ", self->object_",
-                    "short_name": "GetInstanceOrigin",
-                    "tuple_format": "\"\", "
-                },
-                {
-                    "args": [],
-                    "c_function": "OrthancPluginGetInstanceTransferSyntaxUid",
-                    "return_dynamic_string": true,
-                    "return_sdk_type": "char *",
-                    "self": ", self->object_",
-                    "short_name": "GetInstanceTransferSyntaxUid",
-                    "tuple_format": "\"\", "
-                },
-                {
-                    "args": [],
-                    "c_function": "OrthancPluginHasInstancePixelData",
-                    "return_long": true,
-                    "return_sdk_type": "int32_t",
-                    "self": ", self->object_",
-                    "short_name": "HasInstancePixelData",
-                    "tuple_format": "\"\", "
-                },
-                {
-                    "args": [],
-                    "c_function": "OrthancPluginGetInstanceFramesCount",
-                    "return_long": true,
-                    "return_sdk_type": "uint32_t",
-                    "self": ", self->object_",
-                    "short_name": "GetInstanceFramesCount",
-                    "tuple_format": "\"\", "
-                },
-                {
-                    "args": [
-                        {
-                            "initialization": " = 0",
-                            "name": "arg0",
-                            "orthanc_cast": "arg0",
-                            "python_format": "k",
-                            "python_type": "unsigned long",
-                            "sdk_name": "frameIndex",
-                            "sdk_type": "uint32_t"
-                        }
-                    ],
-                    "c_function": "OrthancPluginGetInstanceRawFrame",
-                    "call_args": ", arg0",
-                    "count_args": 1,
-                    "has_args": true,
-                    "return_bytes": true,
-                    "return_sdk_type": "OrthancPluginMemoryBuffer *",
-                    "self": ", self->object_",
-                    "short_name": "GetInstanceRawFrame",
-                    "tuple_format": "\"k\", &arg0"
-                },
-                {
-                    "args": [
-                        {
-                            "initialization": " = 0",
-                            "name": "arg0",
-                            "orthanc_cast": "arg0",
-                            "python_format": "k",
-                            "python_type": "unsigned long",
-                            "sdk_name": "frameIndex",
-                            "sdk_type": "uint32_t"
-                        }
-                    ],
-                    "c_function": "OrthancPluginGetInstanceDecodedFrame",
-                    "call_args": ", arg0",
-                    "count_args": 1,
-                    "has_args": true,
-                    "return_object": "OrthancPluginImage",
-                    "return_sdk_class": "OrthancPluginImage",
-                    "return_sdk_type": "object",
-                    "self": ", self->object_",
-                    "short_name": "GetInstanceDecodedFrame",
-                    "tuple_format": "\"k\", &arg0"
-                },
-                {
-                    "args": [],
-                    "c_function": "OrthancPluginSerializeDicomInstance",
-                    "return_bytes": true,
-                    "return_sdk_type": "OrthancPluginMemoryBuffer *",
-                    "self": ", self->object_",
-                    "short_name": "SerializeDicomInstance",
-                    "tuple_format": "\"\", "
-                },
-                {
-                    "args": [
-                        {
-                            "initialization": " = 0",
-                            "name": "arg0",
-                            "orthanc_cast": "static_cast<OrthancPluginDicomToJsonFormat>(arg0)",
-                            "python_format": "l",
-                            "python_type": "long int",
-                            "sdk_enumeration": "OrthancPluginDicomToJsonFormat",
-                            "sdk_name": "format",
-                            "sdk_type": "enumeration"
-                        },
-                        {
-                            "initialization": " = 0",
-                            "name": "arg1",
-                            "orthanc_cast": "static_cast<OrthancPluginDicomToJsonFlags>(arg1)",
-                            "python_format": "l",
-                            "python_type": "long int",
-                            "sdk_enumeration": "OrthancPluginDicomToJsonFlags",
-                            "sdk_name": "flags",
-                            "sdk_type": "enumeration"
-                        },
-                        {
-                            "initialization": " = 0",
-                            "name": "arg2",
-                            "orthanc_cast": "arg2",
-                            "python_format": "k",
-                            "python_type": "unsigned long",
-                            "sdk_name": "maxStringLength",
-                            "sdk_type": "uint32_t"
-                        }
-                    ],
-                    "c_function": "OrthancPluginGetInstanceAdvancedJson",
-                    "call_args": ", static_cast<OrthancPluginDicomToJsonFormat>(arg0), static_cast<OrthancPluginDicomToJsonFlags>(arg1), arg2",
-                    "count_args": 3,
-                    "has_args": true,
-                    "return_dynamic_string": true,
-                    "return_sdk_type": "char *",
-                    "self": ", self->object_",
-                    "short_name": "GetInstanceAdvancedJson",
-                    "tuple_format": "\"llk\", &arg0, &arg1, &arg2"
-                }
-            ],
-            "short_name": "DicomInstance"
-        },
-        {
-            "class_name": "OrthancPluginDicomWebNode",
-            "custom_methods": [],
-            "methods": [],
-            "short_name": "DicomWebNode"
-        },
-        {
-            "class_name": "OrthancPluginFindAnswers",
-            "custom_methods": [],
-            "methods": [
-                {
-                    "args": [
-                        {
-                            "name": "arg0",
-                            "orthanc_cast": "arg0.buf, arg0.len",
-                            "python_format": "s*",
-                            "python_type": "Py_buffer",
-                            "release": "PyBuffer_Release(&arg0);",
-                            "sdk_name": "dicom",
-                            "sdk_type": "const_void_pointer_with_size"
-                        }
-                    ],
-                    "c_function": "OrthancPluginFindAddAnswer",
-                    "call_args": ", arg0.buf, arg0.len",
-                    "count_args": 1,
-                    "has_args": true,
-                    "return_error": true,
-                    "return_sdk_enumeration": "OrthancPluginErrorCode",
-                    "return_sdk_type": "enumeration",
-                    "self": ", self->object_",
-                    "short_name": "FindAddAnswer",
-                    "tuple_format": "\"s*\", &arg0"
-                },
-                {
-                    "args": [],
-                    "c_function": "OrthancPluginFindMarkIncomplete",
-                    "return_error": true,
-                    "return_sdk_enumeration": "OrthancPluginErrorCode",
-                    "return_sdk_type": "enumeration",
-                    "self": ", self->object_",
-                    "short_name": "FindMarkIncomplete",
-                    "tuple_format": "\"\", "
-                }
-            ],
-            "short_name": "FindAnswers"
-        },
-        {
-            "class_name": "OrthancPluginFindMatcher",
-            "custom_methods": [],
-            "destructor": "OrthancPluginFreeFindMatcher",
-            "methods": [
-                {
-                    "args": [
-                        {
-                            "name": "arg0",
-                            "orthanc_cast": "arg0.buf, arg0.len",
-                            "python_format": "s*",
-                            "python_type": "Py_buffer",
-                            "release": "PyBuffer_Release(&arg0);",
-                            "sdk_name": "dicom",
-                            "sdk_type": "const_void_pointer_with_size"
-                        }
-                    ],
-                    "c_function": "OrthancPluginFindMatcherIsMatch",
-                    "call_args": ", arg0.buf, arg0.len",
-                    "count_args": 1,
-                    "has_args": true,
-                    "return_long": true,
-                    "return_sdk_type": "int32_t",
-                    "self": ", self->object_",
-                    "short_name": "FindMatcherIsMatch",
-                    "tuple_format": "\"s*\", &arg0"
-                }
-            ],
-            "short_name": "FindMatcher"
-        },
-        {
-            "class_name": "OrthancPluginFindQuery",
-            "custom_methods": [
-                {
-                    "class_name": "OrthancPluginFindQuery",
-                    "implementation": "GetFindQueryTagGroup",
-                    "method_name": "GetFindQueryTagGroup",
-                    "sdk_function": "OrthancPluginGetFindQueryTag"
-                },
-                {
-                    "class_name": "OrthancPluginFindQuery",
-                    "implementation": "GetFindQueryTagElement",
-                    "method_name": "GetFindQueryTagElement",
-                    "sdk_function": "OrthancPluginGetFindQueryTag"
-                }
-            ],
-            "methods": [
-                {
-                    "args": [],
-                    "c_function": "OrthancPluginGetFindQuerySize",
-                    "return_long": true,
-                    "return_sdk_type": "uint32_t",
-                    "self": ", self->object_",
-                    "short_name": "GetFindQuerySize",
-                    "tuple_format": "\"\", "
-                },
-                {
-                    "args": [
-                        {
-                            "initialization": " = 0",
-                            "name": "arg0",
-                            "orthanc_cast": "arg0",
-                            "python_format": "k",
-                            "python_type": "unsigned long",
-                            "sdk_name": "index",
-                            "sdk_type": "uint32_t"
-                        }
-                    ],
-                    "c_function": "OrthancPluginGetFindQueryTagName",
-                    "call_args": ", arg0",
-                    "count_args": 1,
-                    "has_args": true,
-                    "return_dynamic_string": true,
-                    "return_sdk_type": "char *",
-                    "self": ", self->object_",
-                    "short_name": "GetFindQueryTagName",
-                    "tuple_format": "\"k\", &arg0"
-                },
-                {
-                    "args": [
-                        {
-                            "initialization": " = 0",
-                            "name": "arg0",
-                            "orthanc_cast": "arg0",
-                            "python_format": "k",
-                            "python_type": "unsigned long",
-                            "sdk_name": "index",
-                            "sdk_type": "uint32_t"
-                        }
-                    ],
-                    "c_function": "OrthancPluginGetFindQueryValue",
-                    "call_args": ", arg0",
-                    "count_args": 1,
-                    "has_args": true,
-                    "return_dynamic_string": true,
-                    "return_sdk_type": "char *",
-                    "self": ", self->object_",
-                    "short_name": "GetFindQueryValue",
-                    "tuple_format": "\"k\", &arg0"
-                }
-            ],
-            "short_name": "FindQuery"
-        },
-        {
-            "class_name": "OrthancPluginImage",
-            "custom_methods": [
-                {
-                    "class_name": "OrthancPluginImage",
-                    "implementation": "GetImageBuffer",
-                    "method_name": "GetImageBuffer",
-                    "sdk_function": "OrthancPluginGetImageBuffer"
-                }
-            ],
-            "destructor": "OrthancPluginFreeImage",
-            "methods": [
-                {
-                    "args": [],
-                    "c_function": "OrthancPluginGetImagePixelFormat",
-                    "return_enumeration": "OrthancPluginPixelFormat",
-                    "return_sdk_enumeration": "OrthancPluginPixelFormat",
-                    "return_sdk_type": "enumeration",
-                    "self": ", self->object_",
-                    "short_name": "GetImagePixelFormat",
-                    "tuple_format": "\"\", "
-                },
-                {
-                    "args": [],
-                    "c_function": "OrthancPluginGetImageWidth",
-                    "return_long": true,
-                    "return_sdk_type": "uint32_t",
-                    "self": ", self->object_",
-                    "short_name": "GetImageWidth",
-                    "tuple_format": "\"\", "
-                },
-                {
-                    "args": [],
-                    "c_function": "OrthancPluginGetImageHeight",
-                    "return_long": true,
-                    "return_sdk_type": "uint32_t",
-                    "self": ", self->object_",
-                    "short_name": "GetImageHeight",
-                    "tuple_format": "\"\", "
-                },
-                {
-                    "args": [],
-                    "c_function": "OrthancPluginGetImagePitch",
-                    "return_long": true,
-                    "return_sdk_type": "uint32_t",
-                    "self": ", self->object_",
-                    "short_name": "GetImagePitch",
-                    "tuple_format": "\"\", "
-                },
-                {
-                    "args": [
-                        {
-                            "initialization": " = 0",
-                            "name": "arg0",
-                            "orthanc_cast": "static_cast<OrthancPluginPixelFormat>(arg0)",
-                            "python_format": "l",
-                            "python_type": "long int",
-                            "sdk_enumeration": "OrthancPluginPixelFormat",
-                            "sdk_name": "targetFormat",
-                            "sdk_type": "enumeration"
-                        }
-                    ],
-                    "c_function": "OrthancPluginConvertPixelFormat",
-                    "call_args": ", static_cast<OrthancPluginPixelFormat>(arg0)",
-                    "count_args": 1,
-                    "has_args": true,
-                    "return_object": "OrthancPluginImage",
-                    "return_sdk_class": "OrthancPluginImage",
-                    "return_sdk_type": "object",
-                    "self": ", self->object_",
-                    "short_name": "ConvertPixelFormat",
-                    "tuple_format": "\"l\", &arg0"
-                },
-                {
-                    "args": [
-                        {
-                            "initialization": " = 0",
-                            "name": "arg0",
-                            "orthanc_cast": "arg0",
-                            "python_format": "k",
-                            "python_type": "unsigned long",
-                            "sdk_name": "fontIndex",
-                            "sdk_type": "uint32_t"
-                        },
-                        {
-                            "initialization": " = NULL",
-                            "name": "arg1",
-                            "orthanc_cast": "arg1",
-                            "python_format": "s",
-                            "python_type": "const char*",
-                            "sdk_name": "utf8Text",
-                            "sdk_type": "const char *"
-                        },
-                        {
-                            "initialization": " = 0",
-                            "name": "arg2",
-                            "orthanc_cast": "arg2",
-                            "python_format": "l",
-                            "python_type": "long int",
-                            "sdk_name": "x",
-                            "sdk_type": "int32_t"
-                        },
-                        {
-                            "initialization": " = 0",
-                            "name": "arg3",
-                            "orthanc_cast": "arg3",
-                            "python_format": "l",
-                            "python_type": "long int",
-                            "sdk_name": "y",
-                            "sdk_type": "int32_t"
-                        },
-                        {
-                            "initialization": " = 0",
-                            "name": "arg4",
-                            "orthanc_cast": "arg4",
-                            "python_format": "b",
-                            "python_type": "unsigned char",
-                            "sdk_name": "r",
-                            "sdk_type": "uint8_t"
-                        },
-                        {
-                            "initialization": " = 0",
-                            "name": "arg5",
-                            "orthanc_cast": "arg5",
-                            "python_format": "b",
-                            "python_type": "unsigned char",
-                            "sdk_name": "g",
-                            "sdk_type": "uint8_t"
-                        },
-                        {
-                            "initialization": " = 0",
-                            "name": "arg6",
-                            "orthanc_cast": "arg6",
-                            "python_format": "b",
-                            "python_type": "unsigned char",
-                            "sdk_name": "b",
-                            "sdk_type": "uint8_t"
-                        }
-                    ],
-                    "c_function": "OrthancPluginDrawText",
-                    "call_args": ", arg0, arg1, arg2, arg3, arg4, arg5, arg6",
-                    "count_args": 7,
-                    "has_args": true,
-                    "return_error": true,
-                    "return_sdk_enumeration": "OrthancPluginErrorCode",
-                    "return_sdk_type": "enumeration",
-                    "self": ", self->object_",
-                    "short_name": "DrawText",
-                    "tuple_format": "\"ksllbbb\", &arg0, &arg1, &arg2, &arg3, &arg4, &arg5, &arg6"
-                }
-            ],
-            "short_name": "Image"
-        },
-        {
-            "class_name": "OrthancPluginJob",
-            "custom_methods": [],
-            "destructor": "OrthancPluginFreeJob",
-            "methods": [
-                {
-                    "args": [
-                        {
-                            "initialization": " = 0",
-                            "name": "arg0",
-                            "orthanc_cast": "arg0",
-                            "python_format": "i",
-                            "python_type": "int",
-                            "sdk_name": "priority",
-                            "sdk_type": "int"
-                        }
-                    ],
-                    "c_function": "OrthancPluginSubmitJob",
-                    "call_args": ", arg0",
-                    "count_args": 1,
-                    "has_args": true,
-                    "return_dynamic_string": true,
-                    "return_sdk_type": "char *",
-                    "self": ", self->object_",
-                    "short_name": "SubmitJob",
-                    "tuple_format": "\"i\", &arg0"
-                }
-            ],
-            "short_name": "Job"
-        },
-        {
-            "class_name": "OrthancPluginPeers",
-            "custom_methods": [],
-            "destructor": "OrthancPluginFreePeers",
-            "methods": [
-                {
-                    "args": [],
-                    "c_function": "OrthancPluginGetPeersCount",
-                    "return_long": true,
-                    "return_sdk_type": "uint32_t",
-                    "self": ", self->object_",
-                    "short_name": "GetPeersCount",
-                    "tuple_format": "\"\", "
-                },
-                {
-                    "args": [
-                        {
-                            "initialization": " = 0",
-                            "name": "arg0",
-                            "orthanc_cast": "arg0",
-                            "python_format": "k",
-                            "python_type": "unsigned long",
-                            "sdk_name": "peerIndex",
-                            "sdk_type": "uint32_t"
-                        }
-                    ],
-                    "c_function": "OrthancPluginGetPeerName",
-                    "call_args": ", arg0",
-                    "count_args": 1,
-                    "has_args": true,
-                    "return_sdk_type": "const char *",
-                    "return_static_string": true,
-                    "self": ", self->object_",
-                    "short_name": "GetPeerName",
-                    "tuple_format": "\"k\", &arg0"
-                },
-                {
-                    "args": [
-                        {
-                            "initialization": " = 0",
-                            "name": "arg0",
-                            "orthanc_cast": "arg0",
-                            "python_format": "k",
-                            "python_type": "unsigned long",
-                            "sdk_name": "peerIndex",
-                            "sdk_type": "uint32_t"
-                        }
-                    ],
-                    "c_function": "OrthancPluginGetPeerUrl",
-                    "call_args": ", arg0",
-                    "count_args": 1,
-                    "has_args": true,
-                    "return_sdk_type": "const char *",
-                    "return_static_string": true,
-                    "self": ", self->object_",
-                    "short_name": "GetPeerUrl",
-                    "tuple_format": "\"k\", &arg0"
-                },
-                {
-                    "args": [
-                        {
-                            "initialization": " = 0",
-                            "name": "arg0",
-                            "orthanc_cast": "arg0",
-                            "python_format": "k",
-                            "python_type": "unsigned long",
-                            "sdk_name": "peerIndex",
-                            "sdk_type": "uint32_t"
-                        },
-                        {
-                            "initialization": " = NULL",
-                            "name": "arg1",
-                            "orthanc_cast": "arg1",
-                            "python_format": "s",
-                            "python_type": "const char*",
-                            "sdk_name": "userProperty",
-                            "sdk_type": "const char *"
-                        }
-                    ],
-                    "c_function": "OrthancPluginGetPeerUserProperty",
-                    "call_args": ", arg0, arg1",
-                    "count_args": 2,
-                    "has_args": true,
-                    "return_sdk_type": "const char *",
-                    "return_static_string": true,
-                    "self": ", self->object_",
-                    "short_name": "GetPeerUserProperty",
-                    "tuple_format": "\"ks\", &arg0, &arg1"
-                }
-            ],
-            "short_name": "Peers"
-        },
-        {
-            "class_name": "OrthancPluginRestOutput",
-            "custom_methods": [],
-            "methods": [
-                {
-                    "args": [
-                        {
-                            "name": "arg0",
-                            "orthanc_cast": "arg0.buf, arg0.len",
-                            "python_format": "s*",
-                            "python_type": "Py_buffer",
-                            "release": "PyBuffer_Release(&arg0);",
-                            "sdk_name": "answer",
-                            "sdk_type": "const_void_pointer_with_size"
-                        },
-                        {
-                            "initialization": " = NULL",
-                            "name": "arg2",
-                            "orthanc_cast": "arg2",
-                            "python_format": "s",
-                            "python_type": "const char*",
-                            "sdk_name": "mimeType",
-                            "sdk_type": "const char *"
-                        }
-                    ],
-                    "c_function": "OrthancPluginAnswerBuffer",
-                    "call_args": ", arg0.buf, arg0.len, arg2",
-                    "count_args": 2,
-                    "has_args": true,
-                    "return_sdk_type": "void",
-                    "return_void": true,
-                    "self": ", self->object_",
-                    "short_name": "AnswerBuffer",
-                    "tuple_format": "\"s*s\", &arg0, &arg2"
-                },
-                {
-                    "args": [
-                        {
-                            "initialization": " = 0",
-                            "name": "arg0",
-                            "orthanc_cast": "static_cast<OrthancPluginPixelFormat>(arg0)",
-                            "python_format": "l",
-                            "python_type": "long int",
-                            "sdk_enumeration": "OrthancPluginPixelFormat",
-                            "sdk_name": "format",
-                            "sdk_type": "enumeration"
-                        },
-                        {
-                            "initialization": " = 0",
-                            "name": "arg1",
-                            "orthanc_cast": "arg1",
-                            "python_format": "k",
-                            "python_type": "unsigned long",
-                            "sdk_name": "width",
-                            "sdk_type": "uint32_t"
-                        },
-                        {
-                            "initialization": " = 0",
-                            "name": "arg2",
-                            "orthanc_cast": "arg2",
-                            "python_format": "k",
-                            "python_type": "unsigned long",
-                            "sdk_name": "height",
-                            "sdk_type": "uint32_t"
-                        },
-                        {
-                            "initialization": " = 0",
-                            "name": "arg3",
-                            "orthanc_cast": "arg3",
-                            "python_format": "k",
-                            "python_type": "unsigned long",
-                            "sdk_name": "pitch",
-                            "sdk_type": "uint32_t"
-                        },
-                        {
-                            "name": "arg4",
-                            "orthanc_cast": "arg4.buf",
-                            "python_format": "s*",
-                            "python_type": "Py_buffer",
-                            "release": "PyBuffer_Release(&arg4);",
-                            "sdk_name": "buffer",
-                            "sdk_type": "const void *"
-                        }
-                    ],
-                    "c_function": "OrthancPluginCompressAndAnswerPngImage",
-                    "call_args": ", static_cast<OrthancPluginPixelFormat>(arg0), arg1, arg2, arg3, arg4.buf",
-                    "count_args": 5,
-                    "has_args": true,
-                    "return_sdk_type": "void",
-                    "return_void": true,
-                    "self": ", self->object_",
-                    "short_name": "CompressAndAnswerPngImage",
-                    "tuple_format": "\"lkkks*\", &arg0, &arg1, &arg2, &arg3, &arg4"
-                },
-                {
-                    "args": [
-                        {
-                            "initialization": " = NULL",
-                            "name": "arg0",
-                            "orthanc_cast": "arg0",
-                            "python_format": "s",
-                            "python_type": "const char*",
-                            "sdk_name": "redirection",
-                            "sdk_type": "const char *"
-                        }
-                    ],
-                    "c_function": "OrthancPluginRedirect",
-                    "call_args": ", arg0",
-                    "count_args": 1,
-                    "has_args": true,
-                    "return_sdk_type": "void",
-                    "return_void": true,
-                    "self": ", self->object_",
-                    "short_name": "Redirect",
-                    "tuple_format": "\"s\", &arg0"
-                },
-                {
-                    "args": [
-                        {
-                            "initialization": " = 0",
-                            "name": "arg0",
-                            "orthanc_cast": "arg0",
-                            "python_format": "H",
-                            "python_type": "unsigned short",
-                            "sdk_name": "status",
-                            "sdk_type": "uint16_t"
-                        }
-                    ],
-                    "c_function": "OrthancPluginSendHttpStatusCode",
-                    "call_args": ", arg0",
-                    "count_args": 1,
-                    "has_args": true,
-                    "return_sdk_type": "void",
-                    "return_void": true,
-                    "self": ", self->object_",
-                    "short_name": "SendHttpStatusCode",
-                    "tuple_format": "\"H\", &arg0"
-                },
-                {
-                    "args": [
-                        {
-                            "initialization": " = NULL",
-                            "name": "arg0",
-                            "orthanc_cast": "arg0",
-                            "python_format": "s",
-                            "python_type": "const char*",
-                            "sdk_name": "realm",
-                            "sdk_type": "const char *"
-                        }
-                    ],
-                    "c_function": "OrthancPluginSendUnauthorized",
-                    "call_args": ", arg0",
-                    "count_args": 1,
-                    "has_args": true,
-                    "return_sdk_type": "void",
-                    "return_void": true,
-                    "self": ", self->object_",
-                    "short_name": "SendUnauthorized",
-                    "tuple_format": "\"s\", &arg0"
-                },
-                {
-                    "args": [
-                        {
-                            "initialization": " = NULL",
-                            "name": "arg0",
-                            "orthanc_cast": "arg0",
-                            "python_format": "s",
-                            "python_type": "const char*",
-                            "sdk_name": "allowedMethods",
-                            "sdk_type": "const char *"
-                        }
-                    ],
-                    "c_function": "OrthancPluginSendMethodNotAllowed",
-                    "call_args": ", arg0",
-                    "count_args": 1,
-                    "has_args": true,
-                    "return_sdk_type": "void",
-                    "return_void": true,
-                    "self": ", self->object_",
-                    "short_name": "SendMethodNotAllowed",
-                    "tuple_format": "\"s\", &arg0"
-                },
-                {
-                    "args": [
-                        {
-                            "initialization": " = NULL",
-                            "name": "arg0",
-                            "orthanc_cast": "arg0",
-                            "python_format": "s",
-                            "python_type": "const char*",
-                            "sdk_name": "cookie",
-                            "sdk_type": "const char *"
-                        },
-                        {
-                            "initialization": " = NULL",
-                            "name": "arg1",
-                            "orthanc_cast": "arg1",
-                            "python_format": "s",
-                            "python_type": "const char*",
-                            "sdk_name": "value",
-                            "sdk_type": "const char *"
-                        }
-                    ],
-                    "c_function": "OrthancPluginSetCookie",
-                    "call_args": ", arg0, arg1",
-                    "count_args": 2,
-                    "has_args": true,
-                    "return_sdk_type": "void",
-                    "return_void": true,
-                    "self": ", self->object_",
-                    "short_name": "SetCookie",
-                    "tuple_format": "\"ss\", &arg0, &arg1"
-                },
-                {
-                    "args": [
-                        {
-                            "initialization": " = NULL",
-                            "name": "arg0",
-                            "orthanc_cast": "arg0",
-                            "python_format": "s",
-                            "python_type": "const char*",
-                            "sdk_name": "key",
-                            "sdk_type": "const char *"
-                        },
-                        {
-                            "initialization": " = NULL",
-                            "name": "arg1",
-                            "orthanc_cast": "arg1",
-                            "python_format": "s",
-                            "python_type": "const char*",
-                            "sdk_name": "value",
-                            "sdk_type": "const char *"
-                        }
-                    ],
-                    "c_function": "OrthancPluginSetHttpHeader",
-                    "call_args": ", arg0, arg1",
-                    "count_args": 2,
-                    "has_args": true,
-                    "return_sdk_type": "void",
-                    "return_void": true,
-                    "self": ", self->object_",
-                    "short_name": "SetHttpHeader",
-                    "tuple_format": "\"ss\", &arg0, &arg1"
-                },
-                {
-                    "args": [
-                        {
-                            "initialization": " = NULL",
-                            "name": "arg0",
-                            "orthanc_cast": "arg0",
-                            "python_format": "s",
-                            "python_type": "const char*",
-                            "sdk_name": "subType",
-                            "sdk_type": "const char *"
-                        },
-                        {
-                            "initialization": " = NULL",
-                            "name": "arg1",
-                            "orthanc_cast": "arg1",
-                            "python_format": "s",
-                            "python_type": "const char*",
-                            "sdk_name": "contentType",
-                            "sdk_type": "const char *"
-                        }
-                    ],
-                    "c_function": "OrthancPluginStartMultipartAnswer",
-                    "call_args": ", arg0, arg1",
-                    "count_args": 2,
-                    "has_args": true,
-                    "return_error": true,
-                    "return_sdk_enumeration": "OrthancPluginErrorCode",
-                    "return_sdk_type": "enumeration",
-                    "self": ", self->object_",
-                    "short_name": "StartMultipartAnswer",
-                    "tuple_format": "\"ss\", &arg0, &arg1"
-                },
-                {
-                    "args": [
-                        {
-                            "name": "arg0",
-                            "orthanc_cast": "arg0.buf, arg0.len",
-                            "python_format": "s*",
-                            "python_type": "Py_buffer",
-                            "release": "PyBuffer_Release(&arg0);",
-                            "sdk_name": "answer",
-                            "sdk_type": "const_void_pointer_with_size"
-                        }
-                    ],
-                    "c_function": "OrthancPluginSendMultipartItem",
-                    "call_args": ", arg0.buf, arg0.len",
-                    "count_args": 1,
-                    "has_args": true,
-                    "return_error": true,
-                    "return_sdk_enumeration": "OrthancPluginErrorCode",
-                    "return_sdk_type": "enumeration",
-                    "self": ", self->object_",
-                    "short_name": "SendMultipartItem",
-                    "tuple_format": "\"s*\", &arg0"
-                },
-                {
-                    "args": [
-                        {
-                            "initialization": " = 0",
-                            "name": "arg0",
-                            "orthanc_cast": "arg0",
-                            "python_format": "H",
-                            "python_type": "unsigned short",
-                            "sdk_name": "status",
-                            "sdk_type": "uint16_t"
-                        },
-                        {
-                            "initialization": " = NULL",
-                            "name": "arg1",
-                            "orthanc_cast": "arg1",
-                            "python_format": "s",
-                            "python_type": "const char*",
-                            "sdk_name": "body",
-                            "sdk_type": "const char *"
-                        },
-                        {
-                            "initialization": " = 0",
-                            "name": "arg2",
-                            "orthanc_cast": "arg2",
-                            "python_format": "k",
-                            "python_type": "unsigned long",
-                            "sdk_name": "bodySize",
-                            "sdk_type": "uint32_t"
-                        }
-                    ],
-                    "c_function": "OrthancPluginSendHttpStatus",
-                    "call_args": ", arg0, arg1, arg2",
-                    "count_args": 3,
-                    "has_args": true,
-                    "return_sdk_type": "void",
-                    "return_void": true,
-                    "self": ", self->object_",
-                    "short_name": "SendHttpStatus",
-                    "tuple_format": "\"Hsk\", &arg0, &arg1, &arg2"
-                },
-                {
-                    "args": [
-                        {
-                            "initialization": " = 0",
-                            "name": "arg0",
-                            "orthanc_cast": "static_cast<OrthancPluginPixelFormat>(arg0)",
-                            "python_format": "l",
-                            "python_type": "long int",
-                            "sdk_enumeration": "OrthancPluginPixelFormat",
-                            "sdk_name": "format",
-                            "sdk_type": "enumeration"
-                        },
-                        {
-                            "initialization": " = 0",
-                            "name": "arg1",
-                            "orthanc_cast": "arg1",
-                            "python_format": "k",
-                            "python_type": "unsigned long",
-                            "sdk_name": "width",
-                            "sdk_type": "uint32_t"
-                        },
-                        {
-                            "initialization": " = 0",
-                            "name": "arg2",
-                            "orthanc_cast": "arg2",
-                            "python_format": "k",
-                            "python_type": "unsigned long",
-                            "sdk_name": "height",
-                            "sdk_type": "uint32_t"
-                        },
-                        {
-                            "initialization": " = 0",
-                            "name": "arg3",
-                            "orthanc_cast": "arg3",
-                            "python_format": "k",
-                            "python_type": "unsigned long",
-                            "sdk_name": "pitch",
-                            "sdk_type": "uint32_t"
-                        },
-                        {
-                            "name": "arg4",
-                            "orthanc_cast": "arg4.buf",
-                            "python_format": "s*",
-                            "python_type": "Py_buffer",
-                            "release": "PyBuffer_Release(&arg4);",
-                            "sdk_name": "buffer",
-                            "sdk_type": "const void *"
-                        },
-                        {
-                            "initialization": " = 0",
-                            "name": "arg5",
-                            "orthanc_cast": "arg5",
-                            "python_format": "b",
-                            "python_type": "unsigned char",
-                            "sdk_name": "quality",
-                            "sdk_type": "uint8_t"
-                        }
-                    ],
-                    "c_function": "OrthancPluginCompressAndAnswerJpegImage",
-                    "call_args": ", static_cast<OrthancPluginPixelFormat>(arg0), arg1, arg2, arg3, arg4.buf, arg5",
-                    "count_args": 6,
-                    "has_args": true,
-                    "return_sdk_type": "void",
-                    "return_void": true,
-                    "self": ", self->object_",
-                    "short_name": "CompressAndAnswerJpegImage",
-                    "tuple_format": "\"lkkks*b\", &arg0, &arg1, &arg2, &arg3, &arg4, &arg5"
-                },
-                {
-                    "args": [
-                        {
-                            "initialization": " = NULL",
-                            "name": "arg0",
-                            "orthanc_cast": "arg0",
-                            "python_format": "s",
-                            "python_type": "const char*",
-                            "sdk_name": "details",
-                            "sdk_type": "const char *"
-                        },
-                        {
-                            "initialization": " = 0",
-                            "name": "arg1",
-                            "orthanc_cast": "arg1",
-                            "python_format": "b",
-                            "python_type": "unsigned char",
-                            "sdk_name": "log",
-                            "sdk_type": "uint8_t"
-                        }
-                    ],
-                    "c_function": "OrthancPluginSetHttpErrorDetails",
-                    "call_args": ", arg0, arg1",
-                    "count_args": 2,
-                    "has_args": true,
-                    "return_sdk_type": "void",
-                    "return_void": true,
-                    "self": ", self->object_",
-                    "short_name": "SetHttpErrorDetails",
-                    "tuple_format": "\"sb\", &arg0, &arg1"
-                }
-            ],
-            "short_name": "RestOutput"
-        },
-        {
-            "class_name": "OrthancPluginServerChunkedRequestReader",
-            "custom_methods": [],
-            "methods": [],
-            "short_name": "ServerChunkedRequestReader"
-        },
-        {
-            "class_name": "OrthancPluginStorageArea",
-            "custom_methods": [],
-            "methods": [
-                {
-                    "args": [
-                        {
-                            "initialization": " = NULL",
-                            "name": "arg0",
-                            "orthanc_cast": "arg0",
-                            "python_format": "s",
-                            "python_type": "const char*",
-                            "sdk_name": "uuid",
-                            "sdk_type": "const char *"
-                        },
-                        {
-                            "name": "arg1",
-                            "orthanc_cast": "arg1.buf",
-                            "python_format": "s*",
-                            "python_type": "Py_buffer",
-                            "release": "PyBuffer_Release(&arg1);",
-                            "sdk_name": "content",
-                            "sdk_type": "const void *"
-                        },
-                        {
-                            "initialization": " = 0",
-                            "name": "arg2",
-                            "orthanc_cast": "arg2",
-                            "python_format": "K",
-                            "python_type": "unsigned long long",
-                            "sdk_name": "size",
-                            "sdk_type": "uint64_t"
-                        },
-                        {
-                            "initialization": " = 0",
-                            "name": "arg3",
-                            "orthanc_cast": "static_cast<OrthancPluginContentType>(arg3)",
-                            "python_format": "l",
-                            "python_type": "long int",
-                            "sdk_enumeration": "OrthancPluginContentType",
-                            "sdk_name": "type",
-                            "sdk_type": "enumeration"
-                        }
-                    ],
-                    "c_function": "OrthancPluginStorageAreaCreate",
-                    "call_args": ", arg0, arg1.buf, arg2, static_cast<OrthancPluginContentType>(arg3)",
-                    "count_args": 4,
-                    "has_args": true,
-                    "return_error": true,
-                    "return_sdk_enumeration": "OrthancPluginErrorCode",
-                    "return_sdk_type": "enumeration",
-                    "self": ", self->object_",
-                    "short_name": "StorageAreaCreate",
-                    "tuple_format": "\"ss*Kl\", &arg0, &arg1, &arg2, &arg3"
-                },
-                {
-                    "args": [
-                        {
-                            "initialization": " = NULL",
-                            "name": "arg0",
-                            "orthanc_cast": "arg0",
-                            "python_format": "s",
-                            "python_type": "const char*",
-                            "sdk_name": "uuid",
-                            "sdk_type": "const char *"
-                        },
-                        {
-                            "initialization": " = 0",
-                            "name": "arg1",
-                            "orthanc_cast": "static_cast<OrthancPluginContentType>(arg1)",
-                            "python_format": "l",
-                            "python_type": "long int",
-                            "sdk_enumeration": "OrthancPluginContentType",
-                            "sdk_name": "type",
-                            "sdk_type": "enumeration"
-                        }
-                    ],
-                    "c_function": "OrthancPluginStorageAreaRead",
-                    "call_args": ", arg0, static_cast<OrthancPluginContentType>(arg1)",
-                    "count_args": 2,
-                    "has_args": true,
-                    "return_bytes": true,
-                    "return_sdk_type": "OrthancPluginMemoryBuffer *",
-                    "self": ", self->object_",
-                    "short_name": "StorageAreaRead",
-                    "tuple_format": "\"sl\", &arg0, &arg1"
-                },
-                {
-                    "args": [
-                        {
-                            "initialization": " = NULL",
-                            "name": "arg0",
-                            "orthanc_cast": "arg0",
-                            "python_format": "s",
-                            "python_type": "const char*",
-                            "sdk_name": "uuid",
-                            "sdk_type": "const char *"
-                        },
-                        {
-                            "initialization": " = 0",
-                            "name": "arg1",
-                            "orthanc_cast": "static_cast<OrthancPluginContentType>(arg1)",
-                            "python_format": "l",
-                            "python_type": "long int",
-                            "sdk_enumeration": "OrthancPluginContentType",
-                            "sdk_name": "type",
-                            "sdk_type": "enumeration"
-                        }
-                    ],
-                    "c_function": "OrthancPluginStorageAreaRemove",
-                    "call_args": ", arg0, static_cast<OrthancPluginContentType>(arg1)",
-                    "count_args": 2,
-                    "has_args": true,
-                    "return_error": true,
-                    "return_sdk_enumeration": "OrthancPluginErrorCode",
-                    "return_sdk_type": "enumeration",
-                    "self": ", self->object_",
-                    "short_name": "StorageAreaRemove",
-                    "tuple_format": "\"sl\", &arg0, &arg1"
-                },
-                {
-                    "args": [
-                        {
-                            "initialization": " = 0",
-                            "name": "arg0",
-                            "orthanc_cast": "static_cast<OrthancPluginResourceType>(arg0)",
-                            "python_format": "l",
-                            "python_type": "long int",
-                            "sdk_enumeration": "OrthancPluginResourceType",
-                            "sdk_name": "level",
-                            "sdk_type": "enumeration"
-                        }
-                    ],
-                    "c_function": "OrthancPluginReconstructMainDicomTags",
-                    "call_args": ", static_cast<OrthancPluginResourceType>(arg0)",
-                    "count_args": 1,
-                    "has_args": true,
-                    "return_error": true,
-                    "return_sdk_enumeration": "OrthancPluginErrorCode",
-                    "return_sdk_type": "enumeration",
-                    "self": ", self->object_",
-                    "short_name": "ReconstructMainDicomTags",
-                    "tuple_format": "\"l\", &arg0"
-                }
-            ],
-            "short_name": "StorageArea"
-        },
-        {
-            "class_name": "OrthancPluginWorklistAnswers",
-            "custom_methods": [
-                {
-                    "class_name": "OrthancPluginWorklistAnswers",
-                    "implementation": "WorklistAddAnswer",
-                    "method_name": "WorklistAddAnswer",
-                    "sdk_function": "OrthancPluginWorklistAddAnswer"
-                }
-            ],
-            "methods": [
-                {
-                    "args": [],
-                    "c_function": "OrthancPluginWorklistMarkIncomplete",
-                    "return_error": true,
-                    "return_sdk_enumeration": "OrthancPluginErrorCode",
-                    "return_sdk_type": "enumeration",
-                    "self": ", self->object_",
-                    "short_name": "WorklistMarkIncomplete",
-                    "tuple_format": "\"\", "
-                }
-            ],
-            "short_name": "WorklistAnswers"
-        },
-        {
-            "class_name": "OrthancPluginWorklistQuery",
-            "custom_methods": [],
-            "methods": [
-                {
-                    "args": [
-                        {
-                            "name": "arg0",
-                            "orthanc_cast": "arg0.buf, arg0.len",
-                            "python_format": "s*",
-                            "python_type": "Py_buffer",
-                            "release": "PyBuffer_Release(&arg0);",
-                            "sdk_name": "dicom",
-                            "sdk_type": "const_void_pointer_with_size"
-                        }
-                    ],
-                    "c_function": "OrthancPluginWorklistIsMatch",
-                    "call_args": ", arg0.buf, arg0.len",
-                    "count_args": 1,
-                    "has_args": true,
-                    "return_long": true,
-                    "return_sdk_type": "int32_t",
-                    "self": ", self->object_",
-                    "short_name": "WorklistIsMatch",
-                    "tuple_format": "\"s*\", &arg0"
-                },
-                {
-                    "args": [],
-                    "c_function": "OrthancPluginWorklistGetDicomQuery",
-                    "return_bytes": true,
-                    "return_sdk_type": "OrthancPluginMemoryBuffer *",
-                    "self": ", self->object_",
-                    "short_name": "WorklistGetDicomQuery",
-                    "tuple_format": "\"\", "
-                }
-            ],
-            "short_name": "WorklistQuery"
-        }
-    ],
-    "enumerations": [
-        {
-            "name": "OrthancPluginChangeType",
-            "path": "sdk_OrthancPluginChangeType.impl.h",
-            "values": [
-                {
-                    "key": "COMPLETED_SERIES",
-                    "value": 0
-                },
-                {
-                    "key": "DELETED",
-                    "value": 1
-                },
-                {
-                    "key": "NEW_CHILD_INSTANCE",
-                    "value": 2
-                },
-                {
-                    "key": "NEW_INSTANCE",
-                    "value": 3
-                },
-                {
-                    "key": "NEW_PATIENT",
-                    "value": 4
-                },
-                {
-                    "key": "NEW_SERIES",
-                    "value": 5
-                },
-                {
-                    "key": "NEW_STUDY",
-                    "value": 6
-                },
-                {
-                    "key": "STABLE_PATIENT",
-                    "value": 7
-                },
-                {
-                    "key": "STABLE_SERIES",
-                    "value": 8
-                },
-                {
-                    "key": "STABLE_STUDY",
-                    "value": 9
-                },
-                {
-                    "key": "ORTHANC_STARTED",
-                    "value": 10
-                },
-                {
-                    "key": "ORTHANC_STOPPED",
-                    "value": 11
-                },
-                {
-                    "key": "UPDATED_ATTACHMENT",
-                    "value": 12
-                },
-                {
-                    "key": "UPDATED_METADATA",
-                    "value": 13
-                },
-                {
-                    "key": "UPDATED_PEERS",
-                    "value": 14
-                },
-                {
-                    "key": "UPDATED_MODALITIES",
-                    "value": 15
-                },
-                {
-                    "key": "JOB_SUBMITTED",
-                    "value": 16
-                },
-                {
-                    "key": "JOB_SUCCESS",
-                    "value": 17
-                },
-                {
-                    "key": "JOB_FAILURE",
-                    "value": 18
-                }
-            ]
-        },
-        {
-            "name": "OrthancPluginCompressionType",
-            "path": "sdk_OrthancPluginCompressionType.impl.h",
-            "values": [
-                {
-                    "key": "ZLIB",
-                    "value": 0
-                },
-                {
-                    "key": "ZLIB_WITH_SIZE",
-                    "value": 1
-                },
-                {
-                    "key": "GZIP",
-                    "value": 2
-                },
-                {
-                    "key": "GZIP_WITH_SIZE",
-                    "value": 3
-                }
-            ]
-        },
-        {
-            "name": "OrthancPluginConstraintType",
-            "path": "sdk_OrthancPluginConstraintType.impl.h",
-            "values": [
-                {
-                    "key": "EQUAL",
-                    "value": 1
-                },
-                {
-                    "key": "SMALLER_OR_EQUAL",
-                    "value": 2
-                },
-                {
-                    "key": "GREATER_OR_EQUAL",
-                    "value": 3
-                },
-                {
-                    "key": "WILDCARD",
-                    "value": 4
-                },
-                {
-                    "key": "LIST",
-                    "value": 5
-                }
-            ]
-        },
-        {
-            "name": "OrthancPluginContentType",
-            "path": "sdk_OrthancPluginContentType.impl.h",
-            "values": [
-                {
-                    "key": "UNKNOWN",
-                    "value": 0
-                },
-                {
-                    "key": "DICOM",
-                    "value": 1
-                },
-                {
-                    "key": "DICOM_AS_JSON",
-                    "value": 2
-                },
-                {
-                    "key": "DICOM_UNTIL_PIXEL_DATA",
-                    "value": 3
-                }
-            ]
-        },
-        {
-            "name": "OrthancPluginCreateDicomFlags",
-            "path": "sdk_OrthancPluginCreateDicomFlags.impl.h",
-            "values": [
-                {
-                    "key": "NONE",
-                    "value": 0
-                },
-                {
-                    "key": "DECODE_DATA_URI_SCHEME",
-                    "value": 1
-                },
-                {
-                    "key": "GENERATE_IDENTIFIERS",
-                    "value": 2
-                }
-            ]
-        },
-        {
-            "name": "OrthancPluginDicomToJsonFlags",
-            "path": "sdk_OrthancPluginDicomToJsonFlags.impl.h",
-            "values": [
-                {
-                    "key": "NONE",
-                    "value": 0
-                },
-                {
-                    "key": "INCLUDE_BINARY",
-                    "value": 1
-                },
-                {
-                    "key": "INCLUDE_PRIVATE_TAGS",
-                    "value": 2
-                },
-                {
-                    "key": "INCLUDE_UNKNOWN_TAGS",
-                    "value": 4
-                },
-                {
-                    "key": "INCLUDE_PIXEL_DATA",
-                    "value": 8
-                },
-                {
-                    "key": "CONVERT_BINARY_TO_ASCII",
-                    "value": 16
-                },
-                {
-                    "key": "CONVERT_BINARY_TO_NULL",
-                    "value": 32
-                },
-                {
-                    "key": "STOP_AFTER_PIXEL_DATA",
-                    "value": 64
-                },
-                {
-                    "key": "SKIP_GROUP_LENGTHS",
-                    "value": 128
-                }
-            ]
-        },
-        {
-            "name": "OrthancPluginDicomToJsonFormat",
-            "path": "sdk_OrthancPluginDicomToJsonFormat.impl.h",
-            "values": [
-                {
-                    "key": "FULL",
-                    "value": 1
-                },
-                {
-                    "key": "SHORT",
-                    "value": 2
-                },
-                {
-                    "key": "HUMAN",
-                    "value": 3
-                }
-            ]
-        },
-        {
-            "name": "OrthancPluginDicomWebBinaryMode",
-            "path": "sdk_OrthancPluginDicomWebBinaryMode.impl.h",
-            "values": [
-                {
-                    "key": "IGNORE",
-                    "value": 0
-                },
-                {
-                    "key": "INLINE_BINARY",
-                    "value": 1
-                },
-                {
-                    "key": "BULK_DATA_URI",
-                    "value": 2
-                }
-            ]
-        },
-        {
-            "name": "OrthancPluginErrorCode",
-            "path": "sdk_OrthancPluginErrorCode.impl.h",
-            "values": [
-                {
-                    "key": "INTERNAL_ERROR",
-                    "value": -1
-                },
-                {
-                    "key": "SUCCESS",
-                    "value": 0
-                },
-                {
-                    "key": "PLUGIN",
-                    "value": 1
-                },
-                {
-                    "key": "NOT_IMPLEMENTED",
-                    "value": 2
-                },
-                {
-                    "key": "PARAMETER_OUT_OF_RANGE",
-                    "value": 3
-                },
-                {
-                    "key": "NOT_ENOUGH_MEMORY",
-                    "value": 4
-                },
-                {
-                    "key": "BAD_PARAMETER_TYPE",
-                    "value": 5
-                },
-                {
-                    "key": "BAD_SEQUENCE_OF_CALLS",
-                    "value": 6
-                },
-                {
-                    "key": "INEXISTENT_ITEM",
-                    "value": 7
-                },
-                {
-                    "key": "BAD_REQUEST",
-                    "value": 8
-                },
-                {
-                    "key": "NETWORK_PROTOCOL",
-                    "value": 9
-                },
-                {
-                    "key": "SYSTEM_COMMAND",
-                    "value": 10
-                },
-                {
-                    "key": "DATABASE",
-                    "value": 11
-                },
-                {
-                    "key": "URI_SYNTAX",
-                    "value": 12
-                },
-                {
-                    "key": "INEXISTENT_FILE",
-                    "value": 13
-                },
-                {
-                    "key": "CANNOT_WRITE_FILE",
-                    "value": 14
-                },
-                {
-                    "key": "BAD_FILE_FORMAT",
-                    "value": 15
-                },
-                {
-                    "key": "TIMEOUT",
-                    "value": 16
-                },
-                {
-                    "key": "UNKNOWN_RESOURCE",
-                    "value": 17
-                },
-                {
-                    "key": "INCOMPATIBLE_DATABASE_VERSION",
-                    "value": 18
-                },
-                {
-                    "key": "FULL_STORAGE",
-                    "value": 19
-                },
-                {
-                    "key": "CORRUPTED_FILE",
-                    "value": 20
-                },
-                {
-                    "key": "INEXISTENT_TAG",
-                    "value": 21
-                },
-                {
-                    "key": "READ_ONLY",
-                    "value": 22
-                },
-                {
-                    "key": "INCOMPATIBLE_IMAGE_FORMAT",
-                    "value": 23
-                },
-                {
-                    "key": "INCOMPATIBLE_IMAGE_SIZE",
-                    "value": 24
-                },
-                {
-                    "key": "SHARED_LIBRARY",
-                    "value": 25
-                },
-                {
-                    "key": "UNKNOWN_PLUGIN_SERVICE",
-                    "value": 26
-                },
-                {
-                    "key": "UNKNOWN_DICOM_TAG",
-                    "value": 27
-                },
-                {
-                    "key": "BAD_JSON",
-                    "value": 28
-                },
-                {
-                    "key": "UNAUTHORIZED",
-                    "value": 29
-                },
-                {
-                    "key": "BAD_FONT",
-                    "value": 30
-                },
-                {
-                    "key": "DATABASE_PLUGIN",
-                    "value": 31
-                },
-                {
-                    "key": "STORAGE_AREA_PLUGIN",
-                    "value": 32
-                },
-                {
-                    "key": "EMPTY_REQUEST",
-                    "value": 33
-                },
-                {
-                    "key": "NOT_ACCEPTABLE",
-                    "value": 34
-                },
-                {
-                    "key": "NULL_POINTER",
-                    "value": 35
-                },
-                {
-                    "key": "DATABASE_UNAVAILABLE",
-                    "value": 36
-                },
-                {
-                    "key": "CANCELED_JOB",
-                    "value": 37
-                },
-                {
-                    "key": "BAD_GEOMETRY",
-                    "value": 38
-                },
-                {
-                    "key": "SSL_INITIALIZATION",
-                    "value": 39
-                },
-                {
-                    "key": "DISCONTINUED_ABI",
-                    "value": 40
-                },
-                {
-                    "key": "BAD_RANGE",
-                    "value": 41
-                },
-                {
-                    "key": "DATABASE_CANNOT_SERIALIZE",
-                    "value": 42
-                },
-                {
-                    "key": "REVISION",
-                    "value": 43
-                },
-                {
-                    "key": "SQLITE_NOT_OPENED",
-                    "value": 1000
-                },
-                {
-                    "key": "SQLITE_ALREADY_OPENED",
-                    "value": 1001
-                },
-                {
-                    "key": "SQLITE_CANNOT_OPEN",
-                    "value": 1002
-                },
-                {
-                    "key": "SQLITE_STATEMENT_ALREADY_USED",
-                    "value": 1003
-                },
-                {
-                    "key": "SQLITE_EXECUTE",
-                    "value": 1004
-                },
-                {
-                    "key": "SQLITE_ROLLBACK_WITHOUT_TRANSACTION",
-                    "value": 1005
-                },
-                {
-                    "key": "SQLITE_COMMIT_WITHOUT_TRANSACTION",
-                    "value": 1006
-                },
-                {
-                    "key": "SQLITE_REGISTER_FUNCTION",
-                    "value": 1007
-                },
-                {
-                    "key": "SQLITE_FLUSH",
-                    "value": 1008
-                },
-                {
-                    "key": "SQLITE_CANNOT_RUN",
-                    "value": 1009
-                },
-                {
-                    "key": "SQLITE_CANNOT_STEP",
-                    "value": 1010
-                },
-                {
-                    "key": "SQLITE_BIND_OUT_OF_RANGE",
-                    "value": 1011
-                },
-                {
-                    "key": "SQLITE_PREPARE_STATEMENT",
-                    "value": 1012
-                },
-                {
-                    "key": "SQLITE_TRANSACTION_ALREADY_STARTED",
-                    "value": 1013
-                },
-                {
-                    "key": "SQLITE_TRANSACTION_COMMIT",
-                    "value": 1014
-                },
-                {
-                    "key": "SQLITE_TRANSACTION_BEGIN",
-                    "value": 1015
-                },
-                {
-                    "key": "DIRECTORY_OVER_FILE",
-                    "value": 2000
-                },
-                {
-                    "key": "FILE_STORAGE_CANNOT_WRITE",
-                    "value": 2001
-                },
-                {
-                    "key": "DIRECTORY_EXPECTED",
-                    "value": 2002
-                },
-                {
-                    "key": "HTTP_PORT_IN_USE",
-                    "value": 2003
-                },
-                {
-                    "key": "DICOM_PORT_IN_USE",
-                    "value": 2004
-                },
-                {
-                    "key": "BAD_HTTP_STATUS_IN_REST",
-                    "value": 2005
-                },
-                {
-                    "key": "REGULAR_FILE_EXPECTED",
-                    "value": 2006
-                },
-                {
-                    "key": "PATH_TO_EXECUTABLE",
-                    "value": 2007
-                },
-                {
-                    "key": "MAKE_DIRECTORY",
-                    "value": 2008
-                },
-                {
-                    "key": "BAD_APPLICATION_ENTITY_TITLE",
-                    "value": 2009
-                },
-                {
-                    "key": "NO_CFIND_HANDLER",
-                    "value": 2010
-                },
-                {
-                    "key": "NO_CMOVE_HANDLER",
-                    "value": 2011
-                },
-                {
-                    "key": "NO_CSTORE_HANDLER",
-                    "value": 2012
-                },
-                {
-                    "key": "NO_APPLICATION_ENTITY_FILTER",
-                    "value": 2013
-                },
-                {
-                    "key": "NO_SOP_CLASS_OR_INSTANCE",
-                    "value": 2014
-                },
-                {
-                    "key": "NO_PRESENTATION_CONTEXT",
-                    "value": 2015
-                },
-                {
-                    "key": "DICOM_FIND_UNAVAILABLE",
-                    "value": 2016
-                },
-                {
-                    "key": "DICOM_MOVE_UNAVAILABLE",
-                    "value": 2017
-                },
-                {
-                    "key": "CANNOT_STORE_INSTANCE",
-                    "value": 2018
-                },
-                {
-                    "key": "CREATE_DICOM_NOT_STRING",
-                    "value": 2019
-                },
-                {
-                    "key": "CREATE_DICOM_OVERRIDE_TAG",
-                    "value": 2020
-                },
-                {
-                    "key": "CREATE_DICOM_USE_CONTENT",
-                    "value": 2021
-                },
-                {
-                    "key": "CREATE_DICOM_NO_PAYLOAD",
-                    "value": 2022
-                },
-                {
-                    "key": "CREATE_DICOM_USE_DATA_URI_SCHEME",
-                    "value": 2023
-                },
-                {
-                    "key": "CREATE_DICOM_BAD_PARENT",
-                    "value": 2024
-                },
-                {
-                    "key": "CREATE_DICOM_PARENT_IS_INSTANCE",
-                    "value": 2025
-                },
-                {
-                    "key": "CREATE_DICOM_PARENT_ENCODING",
-                    "value": 2026
-                },
-                {
-                    "key": "UNKNOWN_MODALITY",
-                    "value": 2027
-                },
-                {
-                    "key": "BAD_JOB_ORDERING",
-                    "value": 2028
-                },
-                {
-                    "key": "JSON_TO_LUA_TABLE",
-                    "value": 2029
-                },
-                {
-                    "key": "CANNOT_CREATE_LUA",
-                    "value": 2030
-                },
-                {
-                    "key": "CANNOT_EXECUTE_LUA",
-                    "value": 2031
-                },
-                {
-                    "key": "LUA_ALREADY_EXECUTED",
-                    "value": 2032
-                },
-                {
-                    "key": "LUA_BAD_OUTPUT",
-                    "value": 2033
-                },
-                {
-                    "key": "NOT_LUA_PREDICATE",
-                    "value": 2034
-                },
-                {
-                    "key": "LUA_RETURNS_NO_STRING",
-                    "value": 2035
-                },
-                {
-                    "key": "STORAGE_AREA_ALREADY_REGISTERED",
-                    "value": 2036
-                },
-                {
-                    "key": "DATABASE_BACKEND_ALREADY_REGISTERED",
-                    "value": 2037
-                },
-                {
-                    "key": "DATABASE_NOT_INITIALIZED",
-                    "value": 2038
-                },
-                {
-                    "key": "SSL_DISABLED",
-                    "value": 2039
-                },
-                {
-                    "key": "CANNOT_ORDER_SLICES",
-                    "value": 2040
-                },
-                {
-                    "key": "NO_WORKLIST_HANDLER",
-                    "value": 2041
-                },
-                {
-                    "key": "ALREADY_EXISTING_TAG",
-                    "value": 2042
-                },
-                {
-                    "key": "NO_STORAGE_COMMITMENT_HANDLER",
-                    "value": 2043
-                },
-                {
-                    "key": "NO_CGET_HANDLER",
-                    "value": 2044
-                },
-                {
-                    "key": "UNSUPPORTED_MEDIA_TYPE",
-                    "value": 3000
-                }
-            ]
-        },
-        {
-            "name": "OrthancPluginHttpMethod",
-            "path": "sdk_OrthancPluginHttpMethod.impl.h",
-            "values": [
-                {
-                    "key": "GET",
-                    "value": 1
-                },
-                {
-                    "key": "POST",
-                    "value": 2
-                },
-                {
-                    "key": "PUT",
-                    "value": 3
-                },
-                {
-                    "key": "DELETE",
-                    "value": 4
-                }
-            ]
-        },
-        {
-            "name": "OrthancPluginIdentifierConstraint",
-            "path": "sdk_OrthancPluginIdentifierConstraint.impl.h",
-            "values": [
-                {
-                    "key": "EQUAL",
-                    "value": 1
-                },
-                {
-                    "key": "SMALLER_OR_EQUAL",
-                    "value": 2
-                },
-                {
-                    "key": "GREATER_OR_EQUAL",
-                    "value": 3
-                },
-                {
-                    "key": "WILDCARD",
-                    "value": 4
-                }
-            ]
-        },
-        {
-            "name": "OrthancPluginImageFormat",
-            "path": "sdk_OrthancPluginImageFormat.impl.h",
-            "values": [
-                {
-                    "key": "PNG",
-                    "value": 0
-                },
-                {
-                    "key": "JPEG",
-                    "value": 1
-                },
-                {
-                    "key": "DICOM",
-                    "value": 2
-                }
-            ]
-        },
-        {
-            "name": "OrthancPluginInstanceOrigin",
-            "path": "sdk_OrthancPluginInstanceOrigin.impl.h",
-            "values": [
-                {
-                    "key": "UNKNOWN",
-                    "value": 1
-                },
-                {
-                    "key": "DICOM_PROTOCOL",
-                    "value": 2
-                },
-                {
-                    "key": "REST_API",
-                    "value": 3
-                },
-                {
-                    "key": "PLUGIN",
-                    "value": 4
-                },
-                {
-                    "key": "LUA",
-                    "value": 5
-                },
-                {
-                    "key": "WEB_DAV",
-                    "value": 6
-                }
-            ]
-        },
-        {
-            "name": "OrthancPluginJobStepStatus",
-            "path": "sdk_OrthancPluginJobStepStatus.impl.h",
-            "values": [
-                {
-                    "key": "SUCCESS",
-                    "value": 1
-                },
-                {
-                    "key": "FAILURE",
-                    "value": 2
-                },
-                {
-                    "key": "CONTINUE",
-                    "value": 3
-                }
-            ]
-        },
-        {
-            "name": "OrthancPluginJobStopReason",
-            "path": "sdk_OrthancPluginJobStopReason.impl.h",
-            "values": [
-                {
-                    "key": "SUCCESS",
-                    "value": 1
-                },
-                {
-                    "key": "PAUSED",
-                    "value": 2
-                },
-                {
-                    "key": "FAILURE",
-                    "value": 3
-                },
-                {
-                    "key": "CANCELED",
-                    "value": 4
-                }
-            ]
-        },
-        {
-            "name": "OrthancPluginMetricsType",
-            "path": "sdk_OrthancPluginMetricsType.impl.h",
-            "values": [
-                {
-                    "key": "DEFAULT",
-                    "value": 0
-                },
-                {
-                    "key": "TIMER",
-                    "value": 1
-                }
-            ]
-        },
-        {
-            "name": "OrthancPluginPixelFormat",
-            "path": "sdk_OrthancPluginPixelFormat.impl.h",
-            "values": [
-                {
-                    "key": "GRAYSCALE8",
-                    "value": 1
-                },
-                {
-                    "key": "GRAYSCALE16",
-                    "value": 2
-                },
-                {
-                    "key": "SIGNED_GRAYSCALE16",
-                    "value": 3
-                },
-                {
-                    "key": "RGB24",
-                    "value": 4
-                },
-                {
-                    "key": "RGBA32",
-                    "value": 5
-                },
-                {
-                    "key": "UNKNOWN",
-                    "value": 6
-                },
-                {
-                    "key": "RGB48",
-                    "value": 7
-                },
-                {
-                    "key": "GRAYSCALE32",
-                    "value": 8
-                },
-                {
-                    "key": "FLOAT32",
-                    "value": 9
-                },
-                {
-                    "key": "BGRA32",
-                    "value": 10
-                },
-                {
-                    "key": "GRAYSCALE64",
-                    "value": 11
-                }
-            ]
-        },
-        {
-            "name": "OrthancPluginReceivedInstanceAction",
-            "path": "sdk_OrthancPluginReceivedInstanceAction.impl.h",
-            "values": [
-                {
-                    "key": "KEEP_AS_IS",
-                    "value": 1
-                },
-                {
-                    "key": "MODIFY",
-                    "value": 2
-                },
-                {
-                    "key": "DISCARD",
-                    "value": 3
-                }
-            ]
-        },
-        {
-            "name": "OrthancPluginResourceType",
-            "path": "sdk_OrthancPluginResourceType.impl.h",
-            "values": [
-                {
-                    "key": "PATIENT",
-                    "value": 0
-                },
-                {
-                    "key": "STUDY",
-                    "value": 1
-                },
-                {
-                    "key": "SERIES",
-                    "value": 2
-                },
-                {
-                    "key": "INSTANCE",
-                    "value": 3
-                },
-                {
-                    "key": "NONE",
-                    "value": 4
-                }
-            ]
-        },
-        {
-            "name": "OrthancPluginStorageCommitmentFailureReason",
-            "path": "sdk_OrthancPluginStorageCommitmentFailureReason.impl.h",
-            "values": [
-                {
-                    "key": "SUCCESS",
-                    "value": 0
-                },
-                {
-                    "key": "PROCESSING_FAILURE",
-                    "value": 1
-                },
-                {
-                    "key": "NO_SUCH_OBJECT_INSTANCE",
-                    "value": 2
-                },
-                {
-                    "key": "RESOURCE_LIMITATION",
-                    "value": 3
-                },
-                {
-                    "key": "REFERENCED_SOPCLASS_NOT_SUPPORTED",
-                    "value": 4
-                },
-                {
-                    "key": "CLASS_INSTANCE_CONFLICT",
-                    "value": 5
-                },
-                {
-                    "key": "DUPLICATE_TRANSACTION_UID",
-                    "value": 6
-                }
-            ]
-        },
-        {
-            "name": "OrthancPluginValueRepresentation",
-            "path": "sdk_OrthancPluginValueRepresentation.impl.h",
-            "values": [
-                {
-                    "key": "AE",
-                    "value": 1
-                },
-                {
-                    "key": "AS",
-                    "value": 2
-                },
-                {
-                    "key": "AT",
-                    "value": 3
-                },
-                {
-                    "key": "CS",
-                    "value": 4
-                },
-                {
-                    "key": "DA",
-                    "value": 5
-                },
-                {
-                    "key": "DS",
-                    "value": 6
-                },
-                {
-                    "key": "DT",
-                    "value": 7
-                },
-                {
-                    "key": "FD",
-                    "value": 8
-                },
-                {
-                    "key": "FL",
-                    "value": 9
-                },
-                {
-                    "key": "IS",
-                    "value": 10
-                },
-                {
-                    "key": "LO",
-                    "value": 11
-                },
-                {
-                    "key": "LT",
-                    "value": 12
-                },
-                {
-                    "key": "OB",
-                    "value": 13
-                },
-                {
-                    "key": "OF",
-                    "value": 14
-                },
-                {
-                    "key": "OW",
-                    "value": 15
-                },
-                {
-                    "key": "PN",
-                    "value": 16
-                },
-                {
-                    "key": "SH",
-                    "value": 17
-                },
-                {
-                    "key": "SL",
-                    "value": 18
-                },
-                {
-                    "key": "SQ",
-                    "value": 19
-                },
-                {
-                    "key": "SS",
-                    "value": 20
-                },
-                {
-                    "key": "ST",
-                    "value": 21
-                },
-                {
-                    "key": "TM",
-                    "value": 22
-                },
-                {
-                    "key": "UI",
-                    "value": 23
-                },
-                {
-                    "key": "UL",
-                    "value": 24
-                },
-                {
-                    "key": "UN",
-                    "value": 25
-                },
-                {
-                    "key": "US",
-                    "value": 26
-                },
-                {
-                    "key": "UT",
-                    "value": 27
-                }
-            ]
-        }
-    ],
-    "global_functions": [
-        {
-            "args": [
-                {
-                    "initialization": " = 0",
-                    "name": "arg0",
-                    "orthanc_cast": "arg0",
-                    "python_format": "i",
-                    "python_type": "int",
-                    "sdk_name": "expectedMajor",
-                    "sdk_type": "int"
-                },
-                {
-                    "initialization": " = 0",
-                    "name": "arg1",
-                    "orthanc_cast": "arg1",
-                    "python_format": "i",
-                    "python_type": "int",
-                    "sdk_name": "expectedMinor",
-                    "sdk_type": "int"
-                },
-                {
-                    "initialization": " = 0",
-                    "name": "arg2",
-                    "orthanc_cast": "arg2",
-                    "python_format": "i",
-                    "python_type": "int",
-                    "sdk_name": "expectedRevision",
-                    "sdk_type": "int"
-                }
-            ],
-            "c_function": "OrthancPluginCheckVersionAdvanced",
-            "call_args": ", arg0, arg1, arg2",
-            "count_args": 3,
-            "has_args": true,
-            "return_long": true,
-            "return_sdk_type": "int",
-            "short_name": "CheckVersionAdvanced",
-            "tuple_format": "\"iii\", &arg0, &arg1, &arg2"
-        },
-        {
-            "args": [],
-            "c_function": "OrthancPluginCheckVersion",
-            "return_long": true,
-            "return_sdk_type": "int",
-            "short_name": "CheckVersion",
-            "tuple_format": "\"\", "
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = NULL",
-                    "name": "arg0",
-                    "orthanc_cast": "arg0",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "message",
-                    "sdk_type": "const char *"
-                }
-            ],
-            "c_function": "OrthancPluginLogError",
-            "call_args": ", arg0",
-            "count_args": 1,
-            "has_args": true,
-            "return_sdk_type": "void",
-            "return_void": true,
-            "short_name": "LogError",
-            "tuple_format": "\"s\", &arg0"
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = NULL",
-                    "name": "arg0",
-                    "orthanc_cast": "arg0",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "message",
-                    "sdk_type": "const char *"
-                }
-            ],
-            "c_function": "OrthancPluginLogWarning",
-            "call_args": ", arg0",
-            "count_args": 1,
-            "has_args": true,
-            "return_sdk_type": "void",
-            "return_void": true,
-            "short_name": "LogWarning",
-            "tuple_format": "\"s\", &arg0"
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = NULL",
-                    "name": "arg0",
-                    "orthanc_cast": "arg0",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "message",
-                    "sdk_type": "const char *"
-                }
-            ],
-            "c_function": "OrthancPluginLogInfo",
-            "call_args": ", arg0",
-            "count_args": 1,
-            "has_args": true,
-            "return_sdk_type": "void",
-            "return_void": true,
-            "short_name": "LogInfo",
-            "tuple_format": "\"s\", &arg0"
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = NULL",
-                    "name": "arg0",
-                    "orthanc_cast": "arg0",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "instanceId",
-                    "sdk_type": "const char *"
-                }
-            ],
-            "c_function": "OrthancPluginGetDicomForInstance",
-            "call_args": ", arg0",
-            "count_args": 1,
-            "has_args": true,
-            "return_bytes": true,
-            "return_sdk_type": "OrthancPluginMemoryBuffer *",
-            "short_name": "GetDicomForInstance",
-            "tuple_format": "\"s\", &arg0"
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = NULL",
-                    "name": "arg0",
-                    "orthanc_cast": "arg0",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "uri",
-                    "sdk_type": "const char *"
-                }
-            ],
-            "c_function": "OrthancPluginRestApiGet",
-            "call_args": ", arg0",
-            "count_args": 1,
-            "has_args": true,
-            "return_bytes": true,
-            "return_sdk_type": "OrthancPluginMemoryBuffer *",
-            "short_name": "RestApiGet",
-            "tuple_format": "\"s\", &arg0"
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = NULL",
-                    "name": "arg0",
-                    "orthanc_cast": "arg0",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "uri",
-                    "sdk_type": "const char *"
-                }
-            ],
-            "c_function": "OrthancPluginRestApiGetAfterPlugins",
-            "call_args": ", arg0",
-            "count_args": 1,
-            "has_args": true,
-            "return_bytes": true,
-            "return_sdk_type": "OrthancPluginMemoryBuffer *",
-            "short_name": "RestApiGetAfterPlugins",
-            "tuple_format": "\"s\", &arg0"
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = NULL",
-                    "name": "arg0",
-                    "orthanc_cast": "arg0",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "uri",
-                    "sdk_type": "const char *"
-                },
-                {
-                    "name": "arg1",
-                    "orthanc_cast": "arg1.buf, arg1.len",
-                    "python_format": "s*",
-                    "python_type": "Py_buffer",
-                    "release": "PyBuffer_Release(&arg1);",
-                    "sdk_name": "body",
-                    "sdk_type": "const_void_pointer_with_size"
-                }
-            ],
-            "c_function": "OrthancPluginRestApiPost",
-            "call_args": ", arg0, arg1.buf, arg1.len",
-            "count_args": 2,
-            "has_args": true,
-            "return_bytes": true,
-            "return_sdk_type": "OrthancPluginMemoryBuffer *",
-            "short_name": "RestApiPost",
-            "tuple_format": "\"ss*\", &arg0, &arg1"
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = NULL",
-                    "name": "arg0",
-                    "orthanc_cast": "arg0",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "uri",
-                    "sdk_type": "const char *"
-                },
-                {
-                    "name": "arg1",
-                    "orthanc_cast": "arg1.buf, arg1.len",
-                    "python_format": "s*",
-                    "python_type": "Py_buffer",
-                    "release": "PyBuffer_Release(&arg1);",
-                    "sdk_name": "body",
-                    "sdk_type": "const_void_pointer_with_size"
-                }
-            ],
-            "c_function": "OrthancPluginRestApiPostAfterPlugins",
-            "call_args": ", arg0, arg1.buf, arg1.len",
-            "count_args": 2,
-            "has_args": true,
-            "return_bytes": true,
-            "return_sdk_type": "OrthancPluginMemoryBuffer *",
-            "short_name": "RestApiPostAfterPlugins",
-            "tuple_format": "\"ss*\", &arg0, &arg1"
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = NULL",
-                    "name": "arg0",
-                    "orthanc_cast": "arg0",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "uri",
-                    "sdk_type": "const char *"
-                }
-            ],
-            "c_function": "OrthancPluginRestApiDelete",
-            "call_args": ", arg0",
-            "count_args": 1,
-            "has_args": true,
-            "return_error": true,
-            "return_sdk_enumeration": "OrthancPluginErrorCode",
-            "return_sdk_type": "enumeration",
-            "short_name": "RestApiDelete",
-            "tuple_format": "\"s\", &arg0"
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = NULL",
-                    "name": "arg0",
-                    "orthanc_cast": "arg0",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "uri",
-                    "sdk_type": "const char *"
-                }
-            ],
-            "c_function": "OrthancPluginRestApiDeleteAfterPlugins",
-            "call_args": ", arg0",
-            "count_args": 1,
-            "has_args": true,
-            "return_error": true,
-            "return_sdk_enumeration": "OrthancPluginErrorCode",
-            "return_sdk_type": "enumeration",
-            "short_name": "RestApiDeleteAfterPlugins",
-            "tuple_format": "\"s\", &arg0"
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = NULL",
-                    "name": "arg0",
-                    "orthanc_cast": "arg0",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "uri",
-                    "sdk_type": "const char *"
-                },
-                {
-                    "name": "arg1",
-                    "orthanc_cast": "arg1.buf, arg1.len",
-                    "python_format": "s*",
-                    "python_type": "Py_buffer",
-                    "release": "PyBuffer_Release(&arg1);",
-                    "sdk_name": "body",
-                    "sdk_type": "const_void_pointer_with_size"
-                }
-            ],
-            "c_function": "OrthancPluginRestApiPut",
-            "call_args": ", arg0, arg1.buf, arg1.len",
-            "count_args": 2,
-            "has_args": true,
-            "return_bytes": true,
-            "return_sdk_type": "OrthancPluginMemoryBuffer *",
-            "short_name": "RestApiPut",
-            "tuple_format": "\"ss*\", &arg0, &arg1"
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = NULL",
-                    "name": "arg0",
-                    "orthanc_cast": "arg0",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "uri",
-                    "sdk_type": "const char *"
-                },
-                {
-                    "name": "arg1",
-                    "orthanc_cast": "arg1.buf, arg1.len",
-                    "python_format": "s*",
-                    "python_type": "Py_buffer",
-                    "release": "PyBuffer_Release(&arg1);",
-                    "sdk_name": "body",
-                    "sdk_type": "const_void_pointer_with_size"
-                }
-            ],
-            "c_function": "OrthancPluginRestApiPutAfterPlugins",
-            "call_args": ", arg0, arg1.buf, arg1.len",
-            "count_args": 2,
-            "has_args": true,
-            "return_bytes": true,
-            "return_sdk_type": "OrthancPluginMemoryBuffer *",
-            "short_name": "RestApiPutAfterPlugins",
-            "tuple_format": "\"ss*\", &arg0, &arg1"
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = NULL",
-                    "name": "arg0",
-                    "orthanc_cast": "arg0",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "patientID",
-                    "sdk_type": "const char *"
-                }
-            ],
-            "c_function": "OrthancPluginLookupPatient",
-            "call_args": ", arg0",
-            "count_args": 1,
-            "has_args": true,
-            "return_dynamic_string": true,
-            "return_sdk_type": "char *",
-            "short_name": "LookupPatient",
-            "tuple_format": "\"s\", &arg0"
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = NULL",
-                    "name": "arg0",
-                    "orthanc_cast": "arg0",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "studyUID",
-                    "sdk_type": "const char *"
-                }
-            ],
-            "c_function": "OrthancPluginLookupStudy",
-            "call_args": ", arg0",
-            "count_args": 1,
-            "has_args": true,
-            "return_dynamic_string": true,
-            "return_sdk_type": "char *",
-            "short_name": "LookupStudy",
-            "tuple_format": "\"s\", &arg0"
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = NULL",
-                    "name": "arg0",
-                    "orthanc_cast": "arg0",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "accessionNumber",
-                    "sdk_type": "const char *"
-                }
-            ],
-            "c_function": "OrthancPluginLookupStudyWithAccessionNumber",
-            "call_args": ", arg0",
-            "count_args": 1,
-            "has_args": true,
-            "return_dynamic_string": true,
-            "return_sdk_type": "char *",
-            "short_name": "LookupStudyWithAccessionNumber",
-            "tuple_format": "\"s\", &arg0"
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = NULL",
-                    "name": "arg0",
-                    "orthanc_cast": "arg0",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "seriesUID",
-                    "sdk_type": "const char *"
-                }
-            ],
-            "c_function": "OrthancPluginLookupSeries",
-            "call_args": ", arg0",
-            "count_args": 1,
-            "has_args": true,
-            "return_dynamic_string": true,
-            "return_sdk_type": "char *",
-            "short_name": "LookupSeries",
-            "tuple_format": "\"s\", &arg0"
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = NULL",
-                    "name": "arg0",
-                    "orthanc_cast": "arg0",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "sopInstanceUID",
-                    "sdk_type": "const char *"
-                }
-            ],
-            "c_function": "OrthancPluginLookupInstance",
-            "call_args": ", arg0",
-            "count_args": 1,
-            "has_args": true,
-            "return_dynamic_string": true,
-            "return_sdk_type": "char *",
-            "short_name": "LookupInstance",
-            "tuple_format": "\"s\", &arg0"
-        },
-        {
-            "args": [],
-            "c_function": "OrthancPluginGetOrthancPath",
-            "return_dynamic_string": true,
-            "return_sdk_type": "char *",
-            "short_name": "GetOrthancPath",
-            "tuple_format": "\"\", "
-        },
-        {
-            "args": [],
-            "c_function": "OrthancPluginGetOrthancDirectory",
-            "return_dynamic_string": true,
-            "return_sdk_type": "char *",
-            "short_name": "GetOrthancDirectory",
-            "tuple_format": "\"\", "
-        },
-        {
-            "args": [],
-            "c_function": "OrthancPluginGetConfigurationPath",
-            "return_dynamic_string": true,
-            "return_sdk_type": "char *",
-            "short_name": "GetConfigurationPath",
-            "tuple_format": "\"\", "
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = NULL",
-                    "name": "arg0",
-                    "orthanc_cast": "arg0",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "uri",
-                    "sdk_type": "const char *"
-                }
-            ],
-            "c_function": "OrthancPluginSetRootUri",
-            "call_args": ", arg0",
-            "count_args": 1,
-            "has_args": true,
-            "return_sdk_type": "void",
-            "return_void": true,
-            "short_name": "SetRootUri",
-            "tuple_format": "\"s\", &arg0"
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = NULL",
-                    "name": "arg0",
-                    "orthanc_cast": "arg0",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "description",
-                    "sdk_type": "const char *"
-                }
-            ],
-            "c_function": "OrthancPluginSetDescription",
-            "call_args": ", arg0",
-            "count_args": 1,
-            "has_args": true,
-            "return_sdk_type": "void",
-            "return_void": true,
-            "short_name": "SetDescription",
-            "tuple_format": "\"s\", &arg0"
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = NULL",
-                    "name": "arg0",
-                    "orthanc_cast": "arg0",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "javascript",
-                    "sdk_type": "const char *"
-                }
-            ],
-            "c_function": "OrthancPluginExtendOrthancExplorer",
-            "call_args": ", arg0",
-            "count_args": 1,
-            "has_args": true,
-            "return_sdk_type": "void",
-            "return_void": true,
-            "short_name": "ExtendOrthancExplorer",
-            "tuple_format": "\"s\", &arg0"
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = 0",
-                    "name": "arg0",
-                    "orthanc_cast": "arg0",
-                    "python_format": "l",
-                    "python_type": "long int",
-                    "sdk_name": "property",
-                    "sdk_type": "int32_t"
-                },
-                {
-                    "initialization": " = NULL",
-                    "name": "arg1",
-                    "orthanc_cast": "arg1",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "defaultValue",
-                    "sdk_type": "const char *"
-                }
-            ],
-            "c_function": "OrthancPluginGetGlobalProperty",
-            "call_args": ", arg0, arg1",
-            "count_args": 2,
-            "has_args": true,
-            "return_dynamic_string": true,
-            "return_sdk_type": "char *",
-            "short_name": "GetGlobalProperty",
-            "tuple_format": "\"ls\", &arg0, &arg1"
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = 0",
-                    "name": "arg0",
-                    "orthanc_cast": "arg0",
-                    "python_format": "l",
-                    "python_type": "long int",
-                    "sdk_name": "property",
-                    "sdk_type": "int32_t"
-                },
-                {
-                    "initialization": " = NULL",
-                    "name": "arg1",
-                    "orthanc_cast": "arg1",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "value",
-                    "sdk_type": "const char *"
-                }
-            ],
-            "c_function": "OrthancPluginSetGlobalProperty",
-            "call_args": ", arg0, arg1",
-            "count_args": 2,
-            "has_args": true,
-            "return_error": true,
-            "return_sdk_enumeration": "OrthancPluginErrorCode",
-            "return_sdk_type": "enumeration",
-            "short_name": "SetGlobalProperty",
-            "tuple_format": "\"ls\", &arg0, &arg1"
-        },
-        {
-            "args": [],
-            "c_function": "OrthancPluginGetCommandLineArgumentsCount",
-            "return_long": true,
-            "return_sdk_type": "uint32_t",
-            "short_name": "GetCommandLineArgumentsCount",
-            "tuple_format": "\"\", "
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = 0",
-                    "name": "arg0",
-                    "orthanc_cast": "arg0",
-                    "python_format": "k",
-                    "python_type": "unsigned long",
-                    "sdk_name": "argument",
-                    "sdk_type": "uint32_t"
-                }
-            ],
-            "c_function": "OrthancPluginGetCommandLineArgument",
-            "call_args": ", arg0",
-            "count_args": 1,
-            "has_args": true,
-            "return_dynamic_string": true,
-            "return_sdk_type": "char *",
-            "short_name": "GetCommandLineArgument",
-            "tuple_format": "\"k\", &arg0"
-        },
-        {
-            "args": [],
-            "c_function": "OrthancPluginGetExpectedDatabaseVersion",
-            "return_long": true,
-            "return_sdk_type": "uint32_t",
-            "short_name": "GetExpectedDatabaseVersion",
-            "tuple_format": "\"\", "
-        },
-        {
-            "args": [],
-            "c_function": "OrthancPluginGetConfiguration",
-            "return_dynamic_string": true,
-            "return_sdk_type": "char *",
-            "short_name": "GetConfiguration",
-            "tuple_format": "\"\", "
-        },
-        {
-            "args": [
-                {
-                    "name": "arg0",
-                    "orthanc_cast": "arg0.buf, arg0.len",
-                    "python_format": "s*",
-                    "python_type": "Py_buffer",
-                    "release": "PyBuffer_Release(&arg0);",
-                    "sdk_name": "source",
-                    "sdk_type": "const_void_pointer_with_size"
-                },
-                {
-                    "initialization": " = 0",
-                    "name": "arg2",
-                    "orthanc_cast": "static_cast<OrthancPluginCompressionType>(arg2)",
-                    "python_format": "l",
-                    "python_type": "long int",
-                    "sdk_enumeration": "OrthancPluginCompressionType",
-                    "sdk_name": "compression",
-                    "sdk_type": "enumeration"
-                },
-                {
-                    "initialization": " = 0",
-                    "name": "arg3",
-                    "orthanc_cast": "arg3",
-                    "python_format": "b",
-                    "python_type": "unsigned char",
-                    "sdk_name": "uncompress",
-                    "sdk_type": "uint8_t"
-                }
-            ],
-            "c_function": "OrthancPluginBufferCompression",
-            "call_args": ", arg0.buf, arg0.len, static_cast<OrthancPluginCompressionType>(arg2), arg3",
-            "count_args": 3,
-            "has_args": true,
-            "return_bytes": true,
-            "return_sdk_type": "OrthancPluginMemoryBuffer *",
-            "short_name": "BufferCompression",
-            "tuple_format": "\"s*lb\", &arg0, &arg2, &arg3"
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = NULL",
-                    "name": "arg0",
-                    "orthanc_cast": "arg0",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "path",
-                    "sdk_type": "const char *"
-                }
-            ],
-            "c_function": "OrthancPluginReadFile",
-            "call_args": ", arg0",
-            "count_args": 1,
-            "has_args": true,
-            "return_bytes": true,
-            "return_sdk_type": "OrthancPluginMemoryBuffer *",
-            "short_name": "ReadFile",
-            "tuple_format": "\"s\", &arg0"
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = NULL",
-                    "name": "arg0",
-                    "orthanc_cast": "arg0",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "path",
-                    "sdk_type": "const char *"
-                },
-                {
-                    "name": "arg1",
-                    "orthanc_cast": "arg1.buf, arg1.len",
-                    "python_format": "s*",
-                    "python_type": "Py_buffer",
-                    "release": "PyBuffer_Release(&arg1);",
-                    "sdk_name": "data",
-                    "sdk_type": "const_void_pointer_with_size"
-                }
-            ],
-            "c_function": "OrthancPluginWriteFile",
-            "call_args": ", arg0, arg1.buf, arg1.len",
-            "count_args": 2,
-            "has_args": true,
-            "return_error": true,
-            "return_sdk_enumeration": "OrthancPluginErrorCode",
-            "return_sdk_type": "enumeration",
-            "short_name": "WriteFile",
-            "tuple_format": "\"ss*\", &arg0, &arg1"
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = 0",
-                    "name": "arg0",
-                    "orthanc_cast": "static_cast<OrthancPluginErrorCode>(arg0)",
-                    "python_format": "l",
-                    "python_type": "long int",
-                    "sdk_enumeration": "OrthancPluginErrorCode",
-                    "sdk_name": "error",
-                    "sdk_type": "enumeration"
-                }
-            ],
-            "c_function": "OrthancPluginGetErrorDescription",
-            "call_args": ", static_cast<OrthancPluginErrorCode>(arg0)",
-            "count_args": 1,
-            "has_args": true,
-            "return_sdk_type": "const char *",
-            "return_static_string": true,
-            "short_name": "GetErrorDescription",
-            "tuple_format": "\"l\", &arg0"
-        },
-        {
-            "args": [
-                {
-                    "name": "arg0",
-                    "orthanc_cast": "arg0.buf, arg0.len",
-                    "python_format": "s*",
-                    "python_type": "Py_buffer",
-                    "release": "PyBuffer_Release(&arg0);",
-                    "sdk_name": "data",
-                    "sdk_type": "const_void_pointer_with_size"
-                },
-                {
-                    "initialization": " = 0",
-                    "name": "arg2",
-                    "orthanc_cast": "static_cast<OrthancPluginImageFormat>(arg2)",
-                    "python_format": "l",
-                    "python_type": "long int",
-                    "sdk_enumeration": "OrthancPluginImageFormat",
-                    "sdk_name": "format",
-                    "sdk_type": "enumeration"
-                }
-            ],
-            "c_function": "OrthancPluginUncompressImage",
-            "call_args": ", arg0.buf, arg0.len, static_cast<OrthancPluginImageFormat>(arg2)",
-            "count_args": 2,
-            "has_args": true,
-            "return_object": "OrthancPluginImage",
-            "return_sdk_class": "OrthancPluginImage",
-            "return_sdk_type": "object",
-            "short_name": "UncompressImage",
-            "tuple_format": "\"s*l\", &arg0, &arg2"
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = 0",
-                    "name": "arg0",
-                    "orthanc_cast": "static_cast<OrthancPluginPixelFormat>(arg0)",
-                    "python_format": "l",
-                    "python_type": "long int",
-                    "sdk_enumeration": "OrthancPluginPixelFormat",
-                    "sdk_name": "format",
-                    "sdk_type": "enumeration"
-                },
-                {
-                    "initialization": " = 0",
-                    "name": "arg1",
-                    "orthanc_cast": "arg1",
-                    "python_format": "k",
-                    "python_type": "unsigned long",
-                    "sdk_name": "width",
-                    "sdk_type": "uint32_t"
-                },
-                {
-                    "initialization": " = 0",
-                    "name": "arg2",
-                    "orthanc_cast": "arg2",
-                    "python_format": "k",
-                    "python_type": "unsigned long",
-                    "sdk_name": "height",
-                    "sdk_type": "uint32_t"
-                },
-                {
-                    "initialization": " = 0",
-                    "name": "arg3",
-                    "orthanc_cast": "arg3",
-                    "python_format": "k",
-                    "python_type": "unsigned long",
-                    "sdk_name": "pitch",
-                    "sdk_type": "uint32_t"
-                },
-                {
-                    "name": "arg4",
-                    "orthanc_cast": "arg4.buf",
-                    "python_format": "s*",
-                    "python_type": "Py_buffer",
-                    "release": "PyBuffer_Release(&arg4);",
-                    "sdk_name": "buffer",
-                    "sdk_type": "const void *"
-                }
-            ],
-            "c_function": "OrthancPluginCompressPngImage",
-            "call_args": ", static_cast<OrthancPluginPixelFormat>(arg0), arg1, arg2, arg3, arg4.buf",
-            "count_args": 5,
-            "has_args": true,
-            "return_bytes": true,
-            "return_sdk_type": "OrthancPluginMemoryBuffer *",
-            "short_name": "CompressPngImage",
-            "tuple_format": "\"lkkks*\", &arg0, &arg1, &arg2, &arg3, &arg4"
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = 0",
-                    "name": "arg0",
-                    "orthanc_cast": "static_cast<OrthancPluginPixelFormat>(arg0)",
-                    "python_format": "l",
-                    "python_type": "long int",
-                    "sdk_enumeration": "OrthancPluginPixelFormat",
-                    "sdk_name": "format",
-                    "sdk_type": "enumeration"
-                },
-                {
-                    "initialization": " = 0",
-                    "name": "arg1",
-                    "orthanc_cast": "arg1",
-                    "python_format": "k",
-                    "python_type": "unsigned long",
-                    "sdk_name": "width",
-                    "sdk_type": "uint32_t"
-                },
-                {
-                    "initialization": " = 0",
-                    "name": "arg2",
-                    "orthanc_cast": "arg2",
-                    "python_format": "k",
-                    "python_type": "unsigned long",
-                    "sdk_name": "height",
-                    "sdk_type": "uint32_t"
-                },
-                {
-                    "initialization": " = 0",
-                    "name": "arg3",
-                    "orthanc_cast": "arg3",
-                    "python_format": "k",
-                    "python_type": "unsigned long",
-                    "sdk_name": "pitch",
-                    "sdk_type": "uint32_t"
-                },
-                {
-                    "name": "arg4",
-                    "orthanc_cast": "arg4.buf",
-                    "python_format": "s*",
-                    "python_type": "Py_buffer",
-                    "release": "PyBuffer_Release(&arg4);",
-                    "sdk_name": "buffer",
-                    "sdk_type": "const void *"
-                },
-                {
-                    "initialization": " = 0",
-                    "name": "arg5",
-                    "orthanc_cast": "arg5",
-                    "python_format": "b",
-                    "python_type": "unsigned char",
-                    "sdk_name": "quality",
-                    "sdk_type": "uint8_t"
-                }
-            ],
-            "c_function": "OrthancPluginCompressJpegImage",
-            "call_args": ", static_cast<OrthancPluginPixelFormat>(arg0), arg1, arg2, arg3, arg4.buf, arg5",
-            "count_args": 6,
-            "has_args": true,
-            "return_bytes": true,
-            "return_sdk_type": "OrthancPluginMemoryBuffer *",
-            "short_name": "CompressJpegImage",
-            "tuple_format": "\"lkkks*b\", &arg0, &arg1, &arg2, &arg3, &arg4, &arg5"
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = NULL",
-                    "name": "arg0",
-                    "orthanc_cast": "arg0",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "url",
-                    "sdk_type": "const char *"
-                },
-                {
-                    "initialization": " = NULL",
-                    "name": "arg1",
-                    "orthanc_cast": "arg1",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "username",
-                    "sdk_type": "const char *"
-                },
-                {
-                    "initialization": " = NULL",
-                    "name": "arg2",
-                    "orthanc_cast": "arg2",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "password",
-                    "sdk_type": "const char *"
-                }
-            ],
-            "c_function": "OrthancPluginHttpGet",
-            "call_args": ", arg0, arg1, arg2",
-            "count_args": 3,
-            "has_args": true,
-            "return_bytes": true,
-            "return_sdk_type": "OrthancPluginMemoryBuffer *",
-            "short_name": "HttpGet",
-            "tuple_format": "\"sss\", &arg0, &arg1, &arg2"
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = NULL",
-                    "name": "arg0",
-                    "orthanc_cast": "arg0",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "url",
-                    "sdk_type": "const char *"
-                },
-                {
-                    "name": "arg1",
-                    "orthanc_cast": "arg1.buf, arg1.len",
-                    "python_format": "s*",
-                    "python_type": "Py_buffer",
-                    "release": "PyBuffer_Release(&arg1);",
-                    "sdk_name": "body",
-                    "sdk_type": "const_void_pointer_with_size"
-                },
-                {
-                    "initialization": " = NULL",
-                    "name": "arg3",
-                    "orthanc_cast": "arg3",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "username",
-                    "sdk_type": "const char *"
-                },
-                {
-                    "initialization": " = NULL",
-                    "name": "arg4",
-                    "orthanc_cast": "arg4",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "password",
-                    "sdk_type": "const char *"
-                }
-            ],
-            "c_function": "OrthancPluginHttpPost",
-            "call_args": ", arg0, arg1.buf, arg1.len, arg3, arg4",
-            "count_args": 4,
-            "has_args": true,
-            "return_bytes": true,
-            "return_sdk_type": "OrthancPluginMemoryBuffer *",
-            "short_name": "HttpPost",
-            "tuple_format": "\"ss*ss\", &arg0, &arg1, &arg3, &arg4"
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = NULL",
-                    "name": "arg0",
-                    "orthanc_cast": "arg0",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "url",
-                    "sdk_type": "const char *"
-                },
-                {
-                    "name": "arg1",
-                    "orthanc_cast": "arg1.buf, arg1.len",
-                    "python_format": "s*",
-                    "python_type": "Py_buffer",
-                    "release": "PyBuffer_Release(&arg1);",
-                    "sdk_name": "body",
-                    "sdk_type": "const_void_pointer_with_size"
-                },
-                {
-                    "initialization": " = NULL",
-                    "name": "arg3",
-                    "orthanc_cast": "arg3",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "username",
-                    "sdk_type": "const char *"
-                },
-                {
-                    "initialization": " = NULL",
-                    "name": "arg4",
-                    "orthanc_cast": "arg4",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "password",
-                    "sdk_type": "const char *"
-                }
-            ],
-            "c_function": "OrthancPluginHttpPut",
-            "call_args": ", arg0, arg1.buf, arg1.len, arg3, arg4",
-            "count_args": 4,
-            "has_args": true,
-            "return_bytes": true,
-            "return_sdk_type": "OrthancPluginMemoryBuffer *",
-            "short_name": "HttpPut",
-            "tuple_format": "\"ss*ss\", &arg0, &arg1, &arg3, &arg4"
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = NULL",
-                    "name": "arg0",
-                    "orthanc_cast": "arg0",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "url",
-                    "sdk_type": "const char *"
-                },
-                {
-                    "initialization": " = NULL",
-                    "name": "arg1",
-                    "orthanc_cast": "arg1",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "username",
-                    "sdk_type": "const char *"
-                },
-                {
-                    "initialization": " = NULL",
-                    "name": "arg2",
-                    "orthanc_cast": "arg2",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "password",
-                    "sdk_type": "const char *"
-                }
-            ],
-            "c_function": "OrthancPluginHttpDelete",
-            "call_args": ", arg0, arg1, arg2",
-            "count_args": 3,
-            "has_args": true,
-            "return_error": true,
-            "return_sdk_enumeration": "OrthancPluginErrorCode",
-            "return_sdk_type": "enumeration",
-            "short_name": "HttpDelete",
-            "tuple_format": "\"sss\", &arg0, &arg1, &arg2"
-        },
-        {
-            "args": [],
-            "c_function": "OrthancPluginGetFontsCount",
-            "return_long": true,
-            "return_sdk_type": "uint32_t",
-            "short_name": "GetFontsCount",
-            "tuple_format": "\"\", "
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = 0",
-                    "name": "arg0",
-                    "orthanc_cast": "arg0",
-                    "python_format": "k",
-                    "python_type": "unsigned long",
-                    "sdk_name": "fontIndex",
-                    "sdk_type": "uint32_t"
-                }
-            ],
-            "c_function": "OrthancPluginGetFontName",
-            "call_args": ", arg0",
-            "count_args": 1,
-            "has_args": true,
-            "return_sdk_type": "const char *",
-            "return_static_string": true,
-            "short_name": "GetFontName",
-            "tuple_format": "\"k\", &arg0"
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = 0",
-                    "name": "arg0",
-                    "orthanc_cast": "arg0",
-                    "python_format": "k",
-                    "python_type": "unsigned long",
-                    "sdk_name": "fontIndex",
-                    "sdk_type": "uint32_t"
-                }
-            ],
-            "c_function": "OrthancPluginGetFontSize",
-            "call_args": ", arg0",
-            "count_args": 1,
-            "has_args": true,
-            "return_long": true,
-            "return_sdk_type": "uint32_t",
-            "short_name": "GetFontSize",
-            "tuple_format": "\"k\", &arg0"
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = 0",
-                    "name": "arg0",
-                    "orthanc_cast": "arg0",
-                    "python_format": "l",
-                    "python_type": "long int",
-                    "sdk_name": "code",
-                    "sdk_type": "int32_t"
-                },
-                {
-                    "initialization": " = 0",
-                    "name": "arg1",
-                    "orthanc_cast": "arg1",
-                    "python_format": "H",
-                    "python_type": "unsigned short",
-                    "sdk_name": "httpStatus",
-                    "sdk_type": "uint16_t"
-                },
-                {
-                    "initialization": " = NULL",
-                    "name": "arg2",
-                    "orthanc_cast": "arg2",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "message",
-                    "sdk_type": "const char *"
-                }
-            ],
-            "c_function": "OrthancPluginRegisterErrorCode",
-            "call_args": ", arg0, arg1, arg2",
-            "count_args": 3,
-            "has_args": true,
-            "return_error": true,
-            "return_sdk_enumeration": "OrthancPluginErrorCode",
-            "return_sdk_type": "enumeration",
-            "short_name": "RegisterErrorCode",
-            "tuple_format": "\"lHs\", &arg0, &arg1, &arg2"
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = 0",
-                    "name": "arg0",
-                    "orthanc_cast": "arg0",
-                    "python_format": "H",
-                    "python_type": "unsigned short",
-                    "sdk_name": "group",
-                    "sdk_type": "uint16_t"
-                },
-                {
-                    "initialization": " = 0",
-                    "name": "arg1",
-                    "orthanc_cast": "arg1",
-                    "python_format": "H",
-                    "python_type": "unsigned short",
-                    "sdk_name": "element",
-                    "sdk_type": "uint16_t"
-                },
-                {
-                    "initialization": " = 0",
-                    "name": "arg2",
-                    "orthanc_cast": "static_cast<OrthancPluginValueRepresentation>(arg2)",
-                    "python_format": "l",
-                    "python_type": "long int",
-                    "sdk_enumeration": "OrthancPluginValueRepresentation",
-                    "sdk_name": "vr",
-                    "sdk_type": "enumeration"
-                },
-                {
-                    "initialization": " = NULL",
-                    "name": "arg3",
-                    "orthanc_cast": "arg3",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "name",
-                    "sdk_type": "const char *"
-                },
-                {
-                    "initialization": " = 0",
-                    "name": "arg4",
-                    "orthanc_cast": "arg4",
-                    "python_format": "k",
-                    "python_type": "unsigned long",
-                    "sdk_name": "minMultiplicity",
-                    "sdk_type": "uint32_t"
-                },
-                {
-                    "initialization": " = 0",
-                    "name": "arg5",
-                    "orthanc_cast": "arg5",
-                    "python_format": "k",
-                    "python_type": "unsigned long",
-                    "sdk_name": "maxMultiplicity",
-                    "sdk_type": "uint32_t"
-                }
-            ],
-            "c_function": "OrthancPluginRegisterDictionaryTag",
-            "call_args": ", arg0, arg1, static_cast<OrthancPluginValueRepresentation>(arg2), arg3, arg4, arg5",
-            "count_args": 6,
-            "has_args": true,
-            "return_error": true,
-            "return_sdk_enumeration": "OrthancPluginErrorCode",
-            "return_sdk_type": "enumeration",
-            "short_name": "RegisterDictionaryTag",
-            "tuple_format": "\"HHlskk\", &arg0, &arg1, &arg2, &arg3, &arg4, &arg5"
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = 0",
-                    "name": "arg0",
-                    "orthanc_cast": "arg0",
-                    "python_format": "H",
-                    "python_type": "unsigned short",
-                    "sdk_name": "group",
-                    "sdk_type": "uint16_t"
-                },
-                {
-                    "initialization": " = 0",
-                    "name": "arg1",
-                    "orthanc_cast": "arg1",
-                    "python_format": "H",
-                    "python_type": "unsigned short",
-                    "sdk_name": "element",
-                    "sdk_type": "uint16_t"
-                },
-                {
-                    "initialization": " = 0",
-                    "name": "arg2",
-                    "orthanc_cast": "static_cast<OrthancPluginValueRepresentation>(arg2)",
-                    "python_format": "l",
-                    "python_type": "long int",
-                    "sdk_enumeration": "OrthancPluginValueRepresentation",
-                    "sdk_name": "vr",
-                    "sdk_type": "enumeration"
-                },
-                {
-                    "initialization": " = NULL",
-                    "name": "arg3",
-                    "orthanc_cast": "arg3",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "name",
-                    "sdk_type": "const char *"
-                },
-                {
-                    "initialization": " = 0",
-                    "name": "arg4",
-                    "orthanc_cast": "arg4",
-                    "python_format": "k",
-                    "python_type": "unsigned long",
-                    "sdk_name": "minMultiplicity",
-                    "sdk_type": "uint32_t"
-                },
-                {
-                    "initialization": " = 0",
-                    "name": "arg5",
-                    "orthanc_cast": "arg5",
-                    "python_format": "k",
-                    "python_type": "unsigned long",
-                    "sdk_name": "maxMultiplicity",
-                    "sdk_type": "uint32_t"
-                },
-                {
-                    "initialization": " = NULL",
-                    "name": "arg6",
-                    "orthanc_cast": "arg6",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "privateCreator",
-                    "sdk_type": "const char *"
-                }
-            ],
-            "c_function": "OrthancPluginRegisterPrivateDictionaryTag",
-            "call_args": ", arg0, arg1, static_cast<OrthancPluginValueRepresentation>(arg2), arg3, arg4, arg5, arg6",
-            "count_args": 7,
-            "has_args": true,
-            "return_error": true,
-            "return_sdk_enumeration": "OrthancPluginErrorCode",
-            "return_sdk_type": "enumeration",
-            "short_name": "RegisterPrivateDictionaryTag",
-            "tuple_format": "\"HHlskks\", &arg0, &arg1, &arg2, &arg3, &arg4, &arg5, &arg6"
-        },
-        {
-            "args": [
-                {
-                    "name": "arg0",
-                    "orthanc_cast": "arg0.buf, arg0.len",
-                    "python_format": "s*",
-                    "python_type": "Py_buffer",
-                    "release": "PyBuffer_Release(&arg0);",
-                    "sdk_name": "buffer",
-                    "sdk_type": "const_void_pointer_with_size"
-                },
-                {
-                    "initialization": " = 0",
-                    "name": "arg2",
-                    "orthanc_cast": "static_cast<OrthancPluginDicomToJsonFormat>(arg2)",
-                    "python_format": "l",
-                    "python_type": "long int",
-                    "sdk_enumeration": "OrthancPluginDicomToJsonFormat",
-                    "sdk_name": "format",
-                    "sdk_type": "enumeration"
-                },
-                {
-                    "initialization": " = 0",
-                    "name": "arg3",
-                    "orthanc_cast": "static_cast<OrthancPluginDicomToJsonFlags>(arg3)",
-                    "python_format": "l",
-                    "python_type": "long int",
-                    "sdk_enumeration": "OrthancPluginDicomToJsonFlags",
-                    "sdk_name": "flags",
-                    "sdk_type": "enumeration"
-                },
-                {
-                    "initialization": " = 0",
-                    "name": "arg4",
-                    "orthanc_cast": "arg4",
-                    "python_format": "k",
-                    "python_type": "unsigned long",
-                    "sdk_name": "maxStringLength",
-                    "sdk_type": "uint32_t"
-                }
-            ],
-            "c_function": "OrthancPluginDicomBufferToJson",
-            "call_args": ", arg0.buf, arg0.len, static_cast<OrthancPluginDicomToJsonFormat>(arg2), static_cast<OrthancPluginDicomToJsonFlags>(arg3), arg4",
-            "count_args": 4,
-            "has_args": true,
-            "return_dynamic_string": true,
-            "return_sdk_type": "char *",
-            "short_name": "DicomBufferToJson",
-            "tuple_format": "\"s*llk\", &arg0, &arg2, &arg3, &arg4"
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = NULL",
-                    "name": "arg0",
-                    "orthanc_cast": "arg0",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "instanceId",
-                    "sdk_type": "const char *"
-                },
-                {
-                    "initialization": " = 0",
-                    "name": "arg1",
-                    "orthanc_cast": "static_cast<OrthancPluginDicomToJsonFormat>(arg1)",
-                    "python_format": "l",
-                    "python_type": "long int",
-                    "sdk_enumeration": "OrthancPluginDicomToJsonFormat",
-                    "sdk_name": "format",
-                    "sdk_type": "enumeration"
-                },
-                {
-                    "initialization": " = 0",
-                    "name": "arg2",
-                    "orthanc_cast": "static_cast<OrthancPluginDicomToJsonFlags>(arg2)",
-                    "python_format": "l",
-                    "python_type": "long int",
-                    "sdk_enumeration": "OrthancPluginDicomToJsonFlags",
-                    "sdk_name": "flags",
-                    "sdk_type": "enumeration"
-                },
-                {
-                    "initialization": " = 0",
-                    "name": "arg3",
-                    "orthanc_cast": "arg3",
-                    "python_format": "k",
-                    "python_type": "unsigned long",
-                    "sdk_name": "maxStringLength",
-                    "sdk_type": "uint32_t"
-                }
-            ],
-            "c_function": "OrthancPluginDicomInstanceToJson",
-            "call_args": ", arg0, static_cast<OrthancPluginDicomToJsonFormat>(arg1), static_cast<OrthancPluginDicomToJsonFlags>(arg2), arg3",
-            "count_args": 4,
-            "has_args": true,
-            "return_dynamic_string": true,
-            "return_sdk_type": "char *",
-            "short_name": "DicomInstanceToJson",
-            "tuple_format": "\"sllk\", &arg0, &arg1, &arg2, &arg3"
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = 0",
-                    "name": "arg0",
-                    "orthanc_cast": "static_cast<OrthancPluginPixelFormat>(arg0)",
-                    "python_format": "l",
-                    "python_type": "long int",
-                    "sdk_enumeration": "OrthancPluginPixelFormat",
-                    "sdk_name": "format",
-                    "sdk_type": "enumeration"
-                },
-                {
-                    "initialization": " = 0",
-                    "name": "arg1",
-                    "orthanc_cast": "arg1",
-                    "python_format": "k",
-                    "python_type": "unsigned long",
-                    "sdk_name": "width",
-                    "sdk_type": "uint32_t"
-                },
-                {
-                    "initialization": " = 0",
-                    "name": "arg2",
-                    "orthanc_cast": "arg2",
-                    "python_format": "k",
-                    "python_type": "unsigned long",
-                    "sdk_name": "height",
-                    "sdk_type": "uint32_t"
-                }
-            ],
-            "c_function": "OrthancPluginCreateImage",
-            "call_args": ", static_cast<OrthancPluginPixelFormat>(arg0), arg1, arg2",
-            "count_args": 3,
-            "has_args": true,
-            "return_object": "OrthancPluginImage",
-            "return_sdk_class": "OrthancPluginImage",
-            "return_sdk_type": "object",
-            "short_name": "CreateImage",
-            "tuple_format": "\"lkk\", &arg0, &arg1, &arg2"
-        },
-        {
-            "args": [
-                {
-                    "name": "arg0",
-                    "orthanc_cast": "arg0.buf, arg0.len",
-                    "python_format": "s*",
-                    "python_type": "Py_buffer",
-                    "release": "PyBuffer_Release(&arg0);",
-                    "sdk_name": "buffer",
-                    "sdk_type": "const_void_pointer_with_size"
-                },
-                {
-                    "initialization": " = 0",
-                    "name": "arg2",
-                    "orthanc_cast": "arg2",
-                    "python_format": "k",
-                    "python_type": "unsigned long",
-                    "sdk_name": "frameIndex",
-                    "sdk_type": "uint32_t"
-                }
-            ],
-            "c_function": "OrthancPluginDecodeDicomImage",
-            "call_args": ", arg0.buf, arg0.len, arg2",
-            "count_args": 2,
-            "has_args": true,
-            "return_object": "OrthancPluginImage",
-            "return_sdk_class": "OrthancPluginImage",
-            "return_sdk_type": "object",
-            "short_name": "DecodeDicomImage",
-            "tuple_format": "\"s*k\", &arg0, &arg2"
-        },
-        {
-            "args": [
-                {
-                    "name": "arg0",
-                    "orthanc_cast": "arg0.buf, arg0.len",
-                    "python_format": "s*",
-                    "python_type": "Py_buffer",
-                    "release": "PyBuffer_Release(&arg0);",
-                    "sdk_name": "buffer",
-                    "sdk_type": "const_void_pointer_with_size"
-                }
-            ],
-            "c_function": "OrthancPluginComputeMd5",
-            "call_args": ", arg0.buf, arg0.len",
-            "count_args": 1,
-            "has_args": true,
-            "return_dynamic_string": true,
-            "return_sdk_type": "char *",
-            "short_name": "ComputeMd5",
-            "tuple_format": "\"s*\", &arg0"
-        },
-        {
-            "args": [
-                {
-                    "name": "arg0",
-                    "orthanc_cast": "arg0.buf, arg0.len",
-                    "python_format": "s*",
-                    "python_type": "Py_buffer",
-                    "release": "PyBuffer_Release(&arg0);",
-                    "sdk_name": "buffer",
-                    "sdk_type": "const_void_pointer_with_size"
-                }
-            ],
-            "c_function": "OrthancPluginComputeSha1",
-            "call_args": ", arg0.buf, arg0.len",
-            "count_args": 1,
-            "has_args": true,
-            "return_dynamic_string": true,
-            "return_sdk_type": "char *",
-            "short_name": "ComputeSha1",
-            "tuple_format": "\"s*\", &arg0"
-        },
-        {
-            "args": [],
-            "c_function": "OrthancPluginGenerateUuid",
-            "return_dynamic_string": true,
-            "return_sdk_type": "char *",
-            "short_name": "GenerateUuid",
-            "tuple_format": "\"\", "
-        },
-        {
-            "args": [
-                {
-                    "name": "arg0",
-                    "orthanc_cast": "arg0.buf, arg0.len",
-                    "python_format": "s*",
-                    "python_type": "Py_buffer",
-                    "release": "PyBuffer_Release(&arg0);",
-                    "sdk_name": "query",
-                    "sdk_type": "const_void_pointer_with_size"
-                }
-            ],
-            "c_function": "OrthancPluginCreateFindMatcher",
-            "call_args": ", arg0.buf, arg0.len",
-            "count_args": 1,
-            "has_args": true,
-            "return_object": "OrthancPluginFindMatcher",
-            "return_sdk_class": "OrthancPluginFindMatcher",
-            "return_sdk_type": "object",
-            "short_name": "CreateFindMatcher",
-            "tuple_format": "\"s*\", &arg0"
-        },
-        {
-            "args": [],
-            "c_function": "OrthancPluginGetPeers",
-            "return_object": "OrthancPluginPeers",
-            "return_sdk_class": "OrthancPluginPeers",
-            "return_sdk_type": "object",
-            "short_name": "GetPeers",
-            "tuple_format": "\"\", "
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = NULL",
-                    "name": "arg0",
-                    "orthanc_cast": "arg0",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "path",
-                    "sdk_type": "const char *"
-                }
-            ],
-            "c_function": "OrthancPluginAutodetectMimeType",
-            "call_args": ", arg0",
-            "count_args": 1,
-            "has_args": true,
-            "return_sdk_type": "const char *",
-            "return_static_string": true,
-            "short_name": "AutodetectMimeType",
-            "tuple_format": "\"s\", &arg0"
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = NULL",
-                    "name": "arg0",
-                    "orthanc_cast": "arg0",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "name",
-                    "sdk_type": "const char *"
-                },
-                {
-                    "initialization": " = 0",
-                    "name": "arg1",
-                    "orthanc_cast": "arg1",
-                    "python_format": "f",
-                    "python_type": "float",
-                    "sdk_name": "value",
-                    "sdk_type": "float"
-                },
-                {
-                    "initialization": " = 0",
-                    "name": "arg2",
-                    "orthanc_cast": "static_cast<OrthancPluginMetricsType>(arg2)",
-                    "python_format": "l",
-                    "python_type": "long int",
-                    "sdk_enumeration": "OrthancPluginMetricsType",
-                    "sdk_name": "type",
-                    "sdk_type": "enumeration"
-                }
-            ],
-            "c_function": "OrthancPluginSetMetricsValue",
-            "call_args": ", arg0, arg1, static_cast<OrthancPluginMetricsType>(arg2)",
-            "count_args": 3,
-            "has_args": true,
-            "return_sdk_type": "void",
-            "return_void": true,
-            "short_name": "SetMetricsValue",
-            "tuple_format": "\"sfl\", &arg0, &arg1, &arg2"
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = 0",
-                    "name": "arg0",
-                    "orthanc_cast": "arg0",
-                    "python_format": "H",
-                    "python_type": "unsigned short",
-                    "sdk_name": "group",
-                    "sdk_type": "uint16_t"
-                },
-                {
-                    "initialization": " = 0",
-                    "name": "arg1",
-                    "orthanc_cast": "arg1",
-                    "python_format": "H",
-                    "python_type": "unsigned short",
-                    "sdk_name": "element",
-                    "sdk_type": "uint16_t"
-                },
-                {
-                    "initialization": " = NULL",
-                    "name": "arg2",
-                    "orthanc_cast": "arg2",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "privateCreator",
-                    "sdk_type": "const char *"
-                }
-            ],
-            "c_function": "OrthancPluginGetTagName",
-            "call_args": ", arg0, arg1, arg2",
-            "count_args": 3,
-            "has_args": true,
-            "return_dynamic_string": true,
-            "return_sdk_type": "char *",
-            "short_name": "GetTagName",
-            "tuple_format": "\"HHs\", &arg0, &arg1, &arg2"
-        },
-        {
-            "args": [
-                {
-                    "name": "arg0",
-                    "orthanc_cast": "arg0.buf, arg0.len",
-                    "python_format": "s*",
-                    "python_type": "Py_buffer",
-                    "release": "PyBuffer_Release(&arg0);",
-                    "sdk_name": "buffer",
-                    "sdk_type": "const_void_pointer_with_size"
-                }
-            ],
-            "c_function": "OrthancPluginCreateDicomInstance",
-            "call_args": ", arg0.buf, arg0.len",
-            "count_args": 1,
-            "has_args": true,
-            "return_object": "OrthancPluginDicomInstance",
-            "return_sdk_class": "OrthancPluginDicomInstance",
-            "return_sdk_type": "object",
-            "short_name": "CreateDicomInstance",
-            "tuple_format": "\"s*\", &arg0"
-        },
-        {
-            "args": [
-                {
-                    "name": "arg0",
-                    "orthanc_cast": "arg0.buf, arg0.len",
-                    "python_format": "s*",
-                    "python_type": "Py_buffer",
-                    "release": "PyBuffer_Release(&arg0);",
-                    "sdk_name": "buffer",
-                    "sdk_type": "const_void_pointer_with_size"
-                },
-                {
-                    "initialization": " = NULL",
-                    "name": "arg2",
-                    "orthanc_cast": "arg2",
-                    "python_format": "s",
-                    "python_type": "const char*",
-                    "sdk_name": "transferSyntax",
-                    "sdk_type": "const char *"
-                }
-            ],
-            "c_function": "OrthancPluginTranscodeDicomInstance",
-            "call_args": ", arg0.buf, arg0.len, arg2",
-            "count_args": 2,
-            "has_args": true,
-            "return_object": "OrthancPluginDicomInstance",
-            "return_sdk_class": "OrthancPluginDicomInstance",
-            "return_sdk_type": "object",
-            "short_name": "TranscodeDicomInstance",
-            "tuple_format": "\"s*s\", &arg0, &arg2"
-        },
-        {
-            "args": [
-                {
-                    "initialization": " = 0",
-                    "name": "arg0",
-                    "orthanc_cast": "arg0",
-                    "python_format": "k",
-                    "python_type": "unsigned long",
-                    "sdk_name": "size",
-                    "sdk_type": "uint32_t"
-                }
-            ],
-            "c_function": "OrthancPluginCreateMemoryBuffer",
-            "call_args": ", arg0",
-            "count_args": 1,
-            "has_args": true,
-            "return_bytes": true,
-            "return_sdk_type": "OrthancPluginMemoryBuffer *",
-            "short_name": "CreateMemoryBuffer",
-            "tuple_format": "\"k\", &arg0"
-        },
-        {
-            "args": [],
-            "c_function": "OrthancPluginGenerateRestApiAuthorizationToken",
-            "return_dynamic_string": true,
-            "return_sdk_type": "char *",
-            "short_name": "GenerateRestApiAuthorizationToken",
-            "tuple_format": "\"\", "
-        }
-    ]
-}
\ No newline at end of file
--- a/Sources/Autogenerated/sdk_GlobalFunctions.impl.h	Thu Jun 27 14:14:53 2024 +0200
+++ b/Sources/Autogenerated/sdk_GlobalFunctions.impl.h	Thu Jun 27 14:26:59 2024 +0200
@@ -19,6 +19,67 @@
  **/
 
 
+static PyObject* sdk_OrthancPluginAutodetectMimeType(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginAutodetectMimeType()");
+
+  const char* arg0 = NULL;
+
+  if (!PyArg_ParseTuple(args, "s", &arg0))
+  {
+    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)");
+    return NULL;
+  }
+  const char* s = OrthancPluginAutodetectMimeType(OrthancPlugins::GetGlobalContext(), arg0);
+  
+  if (s == NULL)
+  {
+    Py_INCREF(Py_None);
+    return Py_None;
+  }
+  else
+  {
+    return PyUnicode_FromString(s);
+  }
+}
+
+static PyObject* sdk_OrthancPluginBufferCompression(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginBufferCompression()");
+
+  Py_buffer arg0;
+  long int arg2 = 0;
+  unsigned char arg3 = 0;
+
+  if (!PyArg_ParseTuple(args, "s*lb", &arg0, &arg2, &arg3))
+  {
+    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (3 arguments expected)");
+    return NULL;
+  }
+  OrthancPlugins::MemoryBuffer buffer;
+  OrthancPluginErrorCode code = OrthancPluginBufferCompression(OrthancPlugins::GetGlobalContext(), *buffer, arg0.buf, arg0.len, static_cast<OrthancPluginCompressionType>(arg2), arg3);
+  PyBuffer_Release(&arg0);
+  if (code == OrthancPluginErrorCode_Success)
+  {
+    return PyBytes_FromStringAndSize(buffer.GetData(), buffer.GetSize());
+  }
+  else
+  {
+    PythonLock::RaiseException(code);
+    return NULL;  
+  }
+}
+
+static PyObject* sdk_OrthancPluginCheckVersion(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginCheckVersion()");
+
+
+  long value = OrthancPluginCheckVersion(OrthancPlugins::GetGlobalContext());
+  
+  return PyLong_FromLong(value);
+}
+
 static PyObject* sdk_OrthancPluginCheckVersionAdvanced(PyObject* module, PyObject* args)
 {
   PythonLock::LogCall("Calling Python global function: OrthancPluginCheckVersionAdvanced()");
@@ -37,16 +98,773 @@
   return PyLong_FromLong(value);
 }
 
-static PyObject* sdk_OrthancPluginCheckVersion(PyObject* module, PyObject* args)
+static PyObject* sdk_OrthancPluginCompressJpegImage(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginCompressJpegImage()");
+
+  long int arg0 = 0;
+  unsigned long arg1 = 0;
+  unsigned long arg2 = 0;
+  unsigned long arg3 = 0;
+  Py_buffer arg4;
+  unsigned char arg5 = 0;
+
+  if (!PyArg_ParseTuple(args, "lkkks*b", &arg0, &arg1, &arg2, &arg3, &arg4, &arg5))
+  {
+    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (6 arguments expected)");
+    return NULL;
+  }
+  OrthancPlugins::MemoryBuffer buffer;
+  OrthancPluginErrorCode code = OrthancPluginCompressJpegImage(OrthancPlugins::GetGlobalContext(), *buffer, static_cast<OrthancPluginPixelFormat>(arg0), arg1, arg2, arg3, arg4.buf, arg5);
+  PyBuffer_Release(&arg4);
+  if (code == OrthancPluginErrorCode_Success)
+  {
+    return PyBytes_FromStringAndSize(buffer.GetData(), buffer.GetSize());
+  }
+  else
+  {
+    PythonLock::RaiseException(code);
+    return NULL;  
+  }
+}
+
+static PyObject* sdk_OrthancPluginCompressPngImage(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginCompressPngImage()");
+
+  long int arg0 = 0;
+  unsigned long arg1 = 0;
+  unsigned long arg2 = 0;
+  unsigned long arg3 = 0;
+  Py_buffer arg4;
+
+  if (!PyArg_ParseTuple(args, "lkkks*", &arg0, &arg1, &arg2, &arg3, &arg4))
+  {
+    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (5 arguments expected)");
+    return NULL;
+  }
+  OrthancPlugins::MemoryBuffer buffer;
+  OrthancPluginErrorCode code = OrthancPluginCompressPngImage(OrthancPlugins::GetGlobalContext(), *buffer, static_cast<OrthancPluginPixelFormat>(arg0), arg1, arg2, arg3, arg4.buf);
+  PyBuffer_Release(&arg4);
+  if (code == OrthancPluginErrorCode_Success)
+  {
+    return PyBytes_FromStringAndSize(buffer.GetData(), buffer.GetSize());
+  }
+  else
+  {
+    PythonLock::RaiseException(code);
+    return NULL;  
+  }
+}
+
+static PyObject* sdk_OrthancPluginComputeMd5(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginComputeMd5()");
+
+  Py_buffer arg0;
+
+  if (!PyArg_ParseTuple(args, "s*", &arg0))
+  {
+    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)");
+    return NULL;
+  }
+  OrthancPlugins::OrthancString s;
+  s.Assign(OrthancPluginComputeMd5(OrthancPlugins::GetGlobalContext(), arg0.buf, arg0.len));
+  PyBuffer_Release(&arg0);
+  if (s.GetContent() == NULL)
+  {
+    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
+    return NULL;
+  }
+  else
+  {
+    return PyUnicode_FromString(s.GetContent());
+  }
+}
+
+static PyObject* sdk_OrthancPluginComputeSha1(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginComputeSha1()");
+
+  Py_buffer arg0;
+
+  if (!PyArg_ParseTuple(args, "s*", &arg0))
+  {
+    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)");
+    return NULL;
+  }
+  OrthancPlugins::OrthancString s;
+  s.Assign(OrthancPluginComputeSha1(OrthancPlugins::GetGlobalContext(), arg0.buf, arg0.len));
+  PyBuffer_Release(&arg0);
+  if (s.GetContent() == NULL)
+  {
+    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
+    return NULL;
+  }
+  else
+  {
+    return PyUnicode_FromString(s.GetContent());
+  }
+}
+
+static PyObject* sdk_OrthancPluginCreateDicomInstance(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginCreateDicomInstance()");
+
+  Py_buffer arg0;
+
+  if (!PyArg_ParseTuple(args, "s*", &arg0))
+  {
+    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)");
+    return NULL;
+  }
+  // This is the case of a constructor
+  OrthancPluginDicomInstance* obj = OrthancPluginCreateDicomInstance(OrthancPlugins::GetGlobalContext(), arg0.buf, arg0.len);
+  PyBuffer_Release(&arg0);
+  if (obj == NULL)
+  {
+    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
+    return NULL;  
+  }
+  else
+  {
+    PyObject *argList = Py_BuildValue("Lb", obj, false /* not borrowed */);
+    PyObject *python = PyObject_CallObject((PyObject *) &sdk_OrthancPluginDicomInstance_Type, argList);
+    Py_DECREF(argList);
+    return python;
+  }
+}
+
+static PyObject* sdk_OrthancPluginCreateFindMatcher(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginCreateFindMatcher()");
+
+  Py_buffer arg0;
+
+  if (!PyArg_ParseTuple(args, "s*", &arg0))
+  {
+    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)");
+    return NULL;
+  }
+  // This is the case of a constructor
+  OrthancPluginFindMatcher* obj = OrthancPluginCreateFindMatcher(OrthancPlugins::GetGlobalContext(), arg0.buf, arg0.len);
+  PyBuffer_Release(&arg0);
+  if (obj == NULL)
+  {
+    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
+    return NULL;  
+  }
+  else
+  {
+    PyObject *argList = Py_BuildValue("Lb", obj, false /* not borrowed */);
+    PyObject *python = PyObject_CallObject((PyObject *) &sdk_OrthancPluginFindMatcher_Type, argList);
+    Py_DECREF(argList);
+    return python;
+  }
+}
+
+static PyObject* sdk_OrthancPluginCreateImage(PyObject* module, PyObject* args)
 {
-  PythonLock::LogCall("Calling Python global function: OrthancPluginCheckVersion()");
+  PythonLock::LogCall("Calling Python global function: OrthancPluginCreateImage()");
+
+  long int arg0 = 0;
+  unsigned long arg1 = 0;
+  unsigned long arg2 = 0;
+
+  if (!PyArg_ParseTuple(args, "lkk", &arg0, &arg1, &arg2))
+  {
+    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (3 arguments expected)");
+    return NULL;
+  }
+  // This is the case of a constructor
+  OrthancPluginImage* obj = OrthancPluginCreateImage(OrthancPlugins::GetGlobalContext(), static_cast<OrthancPluginPixelFormat>(arg0), arg1, arg2);
+  
+  if (obj == NULL)
+  {
+    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
+    return NULL;  
+  }
+  else
+  {
+    PyObject *argList = Py_BuildValue("Lb", obj, false /* not borrowed */);
+    PyObject *python = PyObject_CallObject((PyObject *) &sdk_OrthancPluginImage_Type, argList);
+    Py_DECREF(argList);
+    return python;
+  }
+}
+
+static PyObject* sdk_OrthancPluginCreateMemoryBuffer(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginCreateMemoryBuffer()");
+
+  unsigned long arg0 = 0;
+
+  if (!PyArg_ParseTuple(args, "k", &arg0))
+  {
+    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)");
+    return NULL;
+  }
+  OrthancPlugins::MemoryBuffer buffer;
+  OrthancPluginErrorCode code = OrthancPluginCreateMemoryBuffer(OrthancPlugins::GetGlobalContext(), *buffer, arg0);
+  
+  if (code == OrthancPluginErrorCode_Success)
+  {
+    return PyBytes_FromStringAndSize(buffer.GetData(), buffer.GetSize());
+  }
+  else
+  {
+    PythonLock::RaiseException(code);
+    return NULL;  
+  }
+}
+
+static PyObject* sdk_OrthancPluginDecodeDicomImage(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginDecodeDicomImage()");
+
+  Py_buffer arg0;
+  unsigned long arg2 = 0;
+
+  if (!PyArg_ParseTuple(args, "s*k", &arg0, &arg2))
+  {
+    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (2 arguments expected)");
+    return NULL;
+  }
+  // This is the case of a constructor
+  OrthancPluginImage* obj = OrthancPluginDecodeDicomImage(OrthancPlugins::GetGlobalContext(), arg0.buf, arg0.len, arg2);
+  PyBuffer_Release(&arg0);
+  if (obj == NULL)
+  {
+    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
+    return NULL;  
+  }
+  else
+  {
+    PyObject *argList = Py_BuildValue("Lb", obj, false /* not borrowed */);
+    PyObject *python = PyObject_CallObject((PyObject *) &sdk_OrthancPluginImage_Type, argList);
+    Py_DECREF(argList);
+    return python;
+  }
+}
+
+static PyObject* sdk_OrthancPluginDicomBufferToJson(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginDicomBufferToJson()");
+
+  Py_buffer arg0;
+  long int arg2 = 0;
+  long int arg3 = 0;
+  unsigned long arg4 = 0;
+
+  if (!PyArg_ParseTuple(args, "s*llk", &arg0, &arg2, &arg3, &arg4))
+  {
+    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (4 arguments expected)");
+    return NULL;
+  }
+  OrthancPlugins::OrthancString s;
+  s.Assign(OrthancPluginDicomBufferToJson(OrthancPlugins::GetGlobalContext(), arg0.buf, arg0.len, static_cast<OrthancPluginDicomToJsonFormat>(arg2), static_cast<OrthancPluginDicomToJsonFlags>(arg3), arg4));
+  PyBuffer_Release(&arg0);
+  if (s.GetContent() == NULL)
+  {
+    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
+    return NULL;
+  }
+  else
+  {
+    return PyUnicode_FromString(s.GetContent());
+  }
+}
+
+static PyObject* sdk_OrthancPluginDicomInstanceToJson(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginDicomInstanceToJson()");
+
+  const char* arg0 = NULL;
+  long int arg1 = 0;
+  long int arg2 = 0;
+  unsigned long arg3 = 0;
+
+  if (!PyArg_ParseTuple(args, "sllk", &arg0, &arg1, &arg2, &arg3))
+  {
+    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (4 arguments expected)");
+    return NULL;
+  }
+  OrthancPlugins::OrthancString s;
+  s.Assign(OrthancPluginDicomInstanceToJson(OrthancPlugins::GetGlobalContext(), arg0, static_cast<OrthancPluginDicomToJsonFormat>(arg1), static_cast<OrthancPluginDicomToJsonFlags>(arg2), arg3));
+  
+  if (s.GetContent() == NULL)
+  {
+    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
+    return NULL;
+  }
+  else
+  {
+    return PyUnicode_FromString(s.GetContent());
+  }
+}
+
+static PyObject* sdk_OrthancPluginExtendOrthancExplorer(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginExtendOrthancExplorer()");
+
+  const char* arg0 = NULL;
+
+  if (!PyArg_ParseTuple(args, "s", &arg0))
+  {
+    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)");
+    return NULL;
+  }
+  OrthancPluginExtendOrthancExplorer(OrthancPlugins::GetGlobalContext(), arg0);
+  
+
+  Py_INCREF(Py_None);
+  return Py_None;
+}
+
+static PyObject* sdk_OrthancPluginGenerateRestApiAuthorizationToken(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginGenerateRestApiAuthorizationToken()");
+
+
+  OrthancPlugins::OrthancString s;
+  s.Assign(OrthancPluginGenerateRestApiAuthorizationToken(OrthancPlugins::GetGlobalContext()));
+  
+  if (s.GetContent() == NULL)
+  {
+    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
+    return NULL;
+  }
+  else
+  {
+    return PyUnicode_FromString(s.GetContent());
+  }
+}
+
+static PyObject* sdk_OrthancPluginGenerateUuid(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginGenerateUuid()");
 
 
-  long value = OrthancPluginCheckVersion(OrthancPlugins::GetGlobalContext());
+  OrthancPlugins::OrthancString s;
+  s.Assign(OrthancPluginGenerateUuid(OrthancPlugins::GetGlobalContext()));
+  
+  if (s.GetContent() == NULL)
+  {
+    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
+    return NULL;
+  }
+  else
+  {
+    return PyUnicode_FromString(s.GetContent());
+  }
+}
+
+static PyObject* sdk_OrthancPluginGetCommandLineArgument(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginGetCommandLineArgument()");
+
+  unsigned long arg0 = 0;
+
+  if (!PyArg_ParseTuple(args, "k", &arg0))
+  {
+    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)");
+    return NULL;
+  }
+  OrthancPlugins::OrthancString s;
+  s.Assign(OrthancPluginGetCommandLineArgument(OrthancPlugins::GetGlobalContext(), arg0));
+  
+  if (s.GetContent() == NULL)
+  {
+    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
+    return NULL;
+  }
+  else
+  {
+    return PyUnicode_FromString(s.GetContent());
+  }
+}
+
+static PyObject* sdk_OrthancPluginGetCommandLineArgumentsCount(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginGetCommandLineArgumentsCount()");
+
+
+  long value = OrthancPluginGetCommandLineArgumentsCount(OrthancPlugins::GetGlobalContext());
+  
+  return PyLong_FromLong(value);
+}
+
+static PyObject* sdk_OrthancPluginGetConfiguration(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginGetConfiguration()");
+
+
+  OrthancPlugins::OrthancString s;
+  s.Assign(OrthancPluginGetConfiguration(OrthancPlugins::GetGlobalContext()));
+  
+  if (s.GetContent() == NULL)
+  {
+    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
+    return NULL;
+  }
+  else
+  {
+    return PyUnicode_FromString(s.GetContent());
+  }
+}
+
+static PyObject* sdk_OrthancPluginGetConfigurationPath(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginGetConfigurationPath()");
+
+
+  OrthancPlugins::OrthancString s;
+  s.Assign(OrthancPluginGetConfigurationPath(OrthancPlugins::GetGlobalContext()));
+  
+  if (s.GetContent() == NULL)
+  {
+    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
+    return NULL;
+  }
+  else
+  {
+    return PyUnicode_FromString(s.GetContent());
+  }
+}
+
+static PyObject* sdk_OrthancPluginGetDicomForInstance(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginGetDicomForInstance()");
+
+  const char* arg0 = NULL;
+
+  if (!PyArg_ParseTuple(args, "s", &arg0))
+  {
+    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)");
+    return NULL;
+  }
+  OrthancPlugins::MemoryBuffer buffer;
+  OrthancPluginErrorCode code = OrthancPluginGetDicomForInstance(OrthancPlugins::GetGlobalContext(), *buffer, arg0);
+  
+  if (code == OrthancPluginErrorCode_Success)
+  {
+    return PyBytes_FromStringAndSize(buffer.GetData(), buffer.GetSize());
+  }
+  else
+  {
+    PythonLock::RaiseException(code);
+    return NULL;  
+  }
+}
+
+static PyObject* sdk_OrthancPluginGetErrorDescription(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginGetErrorDescription()");
+
+  long int arg0 = 0;
+
+  if (!PyArg_ParseTuple(args, "l", &arg0))
+  {
+    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)");
+    return NULL;
+  }
+  const char* s = OrthancPluginGetErrorDescription(OrthancPlugins::GetGlobalContext(), static_cast<OrthancPluginErrorCode>(arg0));
+  
+  if (s == NULL)
+  {
+    Py_INCREF(Py_None);
+    return Py_None;
+  }
+  else
+  {
+    return PyUnicode_FromString(s);
+  }
+}
+
+static PyObject* sdk_OrthancPluginGetExpectedDatabaseVersion(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginGetExpectedDatabaseVersion()");
+
+
+  long value = OrthancPluginGetExpectedDatabaseVersion(OrthancPlugins::GetGlobalContext());
+  
+  return PyLong_FromLong(value);
+}
+
+static PyObject* sdk_OrthancPluginGetFontName(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginGetFontName()");
+
+  unsigned long arg0 = 0;
+
+  if (!PyArg_ParseTuple(args, "k", &arg0))
+  {
+    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)");
+    return NULL;
+  }
+  const char* s = OrthancPluginGetFontName(OrthancPlugins::GetGlobalContext(), arg0);
+  
+  if (s == NULL)
+  {
+    Py_INCREF(Py_None);
+    return Py_None;
+  }
+  else
+  {
+    return PyUnicode_FromString(s);
+  }
+}
+
+static PyObject* sdk_OrthancPluginGetFontSize(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginGetFontSize()");
+
+  unsigned long arg0 = 0;
+
+  if (!PyArg_ParseTuple(args, "k", &arg0))
+  {
+    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)");
+    return NULL;
+  }
+  long value = OrthancPluginGetFontSize(OrthancPlugins::GetGlobalContext(), arg0);
+  
+  return PyLong_FromLong(value);
+}
+
+static PyObject* sdk_OrthancPluginGetFontsCount(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginGetFontsCount()");
+
+
+  long value = OrthancPluginGetFontsCount(OrthancPlugins::GetGlobalContext());
   
   return PyLong_FromLong(value);
 }
 
+static PyObject* sdk_OrthancPluginGetGlobalProperty(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginGetGlobalProperty()");
+
+  long int arg0 = 0;
+  const char* arg1 = NULL;
+
+  if (!PyArg_ParseTuple(args, "ls", &arg0, &arg1))
+  {
+    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (2 arguments expected)");
+    return NULL;
+  }
+  OrthancPlugins::OrthancString s;
+  s.Assign(OrthancPluginGetGlobalProperty(OrthancPlugins::GetGlobalContext(), arg0, arg1));
+  
+  if (s.GetContent() == NULL)
+  {
+    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
+    return NULL;
+  }
+  else
+  {
+    return PyUnicode_FromString(s.GetContent());
+  }
+}
+
+static PyObject* sdk_OrthancPluginGetOrthancDirectory(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginGetOrthancDirectory()");
+
+
+  OrthancPlugins::OrthancString s;
+  s.Assign(OrthancPluginGetOrthancDirectory(OrthancPlugins::GetGlobalContext()));
+  
+  if (s.GetContent() == NULL)
+  {
+    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
+    return NULL;
+  }
+  else
+  {
+    return PyUnicode_FromString(s.GetContent());
+  }
+}
+
+static PyObject* sdk_OrthancPluginGetOrthancPath(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginGetOrthancPath()");
+
+
+  OrthancPlugins::OrthancString s;
+  s.Assign(OrthancPluginGetOrthancPath(OrthancPlugins::GetGlobalContext()));
+  
+  if (s.GetContent() == NULL)
+  {
+    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
+    return NULL;
+  }
+  else
+  {
+    return PyUnicode_FromString(s.GetContent());
+  }
+}
+
+static PyObject* sdk_OrthancPluginGetPeers(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginGetPeers()");
+
+
+  // This is the case of a constructor
+  OrthancPluginPeers* obj = OrthancPluginGetPeers(OrthancPlugins::GetGlobalContext());
+  
+  if (obj == NULL)
+  {
+    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
+    return NULL;  
+  }
+  else
+  {
+    PyObject *argList = Py_BuildValue("Lb", obj, false /* not borrowed */);
+    PyObject *python = PyObject_CallObject((PyObject *) &sdk_OrthancPluginPeers_Type, argList);
+    Py_DECREF(argList);
+    return python;
+  }
+}
+
+static PyObject* sdk_OrthancPluginGetTagName(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginGetTagName()");
+
+  unsigned short arg0 = 0;
+  unsigned short arg1 = 0;
+  const char* arg2 = NULL;
+
+  if (!PyArg_ParseTuple(args, "HHs", &arg0, &arg1, &arg2))
+  {
+    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (3 arguments expected)");
+    return NULL;
+  }
+  OrthancPlugins::OrthancString s;
+  s.Assign(OrthancPluginGetTagName(OrthancPlugins::GetGlobalContext(), arg0, arg1, arg2));
+  
+  if (s.GetContent() == NULL)
+  {
+    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
+    return NULL;
+  }
+  else
+  {
+    return PyUnicode_FromString(s.GetContent());
+  }
+}
+
+static PyObject* sdk_OrthancPluginHttpDelete(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginHttpDelete()");
+
+  const char* arg0 = NULL;
+  const char* arg1 = NULL;
+  const char* arg2 = NULL;
+
+  if (!PyArg_ParseTuple(args, "sss", &arg0, &arg1, &arg2))
+  {
+    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (3 arguments expected)");
+    return NULL;
+  }
+  OrthancPluginErrorCode code = OrthancPluginHttpDelete(OrthancPlugins::GetGlobalContext(), arg0, arg1, arg2);
+  
+
+  if (code == OrthancPluginErrorCode_Success)
+  {
+    Py_INCREF(Py_None);
+    return Py_None;
+  }
+  else
+  {
+    PythonLock::RaiseException(code);
+    return NULL;
+  }
+}
+
+static PyObject* sdk_OrthancPluginHttpGet(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginHttpGet()");
+
+  const char* arg0 = NULL;
+  const char* arg1 = NULL;
+  const char* arg2 = NULL;
+
+  if (!PyArg_ParseTuple(args, "sss", &arg0, &arg1, &arg2))
+  {
+    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (3 arguments expected)");
+    return NULL;
+  }
+  OrthancPlugins::MemoryBuffer buffer;
+  OrthancPluginErrorCode code = OrthancPluginHttpGet(OrthancPlugins::GetGlobalContext(), *buffer, arg0, arg1, arg2);
+  
+  if (code == OrthancPluginErrorCode_Success)
+  {
+    return PyBytes_FromStringAndSize(buffer.GetData(), buffer.GetSize());
+  }
+  else
+  {
+    PythonLock::RaiseException(code);
+    return NULL;  
+  }
+}
+
+static PyObject* sdk_OrthancPluginHttpPost(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginHttpPost()");
+
+  const char* arg0 = NULL;
+  Py_buffer arg1;
+  const char* arg3 = NULL;
+  const char* arg4 = NULL;
+
+  if (!PyArg_ParseTuple(args, "ss*ss", &arg0, &arg1, &arg3, &arg4))
+  {
+    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (4 arguments expected)");
+    return NULL;
+  }
+  OrthancPlugins::MemoryBuffer buffer;
+  OrthancPluginErrorCode code = OrthancPluginHttpPost(OrthancPlugins::GetGlobalContext(), *buffer, arg0, arg1.buf, arg1.len, arg3, arg4);
+  PyBuffer_Release(&arg1);
+  if (code == OrthancPluginErrorCode_Success)
+  {
+    return PyBytes_FromStringAndSize(buffer.GetData(), buffer.GetSize());
+  }
+  else
+  {
+    PythonLock::RaiseException(code);
+    return NULL;  
+  }
+}
+
+static PyObject* sdk_OrthancPluginHttpPut(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginHttpPut()");
+
+  const char* arg0 = NULL;
+  Py_buffer arg1;
+  const char* arg3 = NULL;
+  const char* arg4 = NULL;
+
+  if (!PyArg_ParseTuple(args, "ss*ss", &arg0, &arg1, &arg3, &arg4))
+  {
+    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (4 arguments expected)");
+    return NULL;
+  }
+  OrthancPlugins::MemoryBuffer buffer;
+  OrthancPluginErrorCode code = OrthancPluginHttpPut(OrthancPlugins::GetGlobalContext(), *buffer, arg0, arg1.buf, arg1.len, arg3, arg4);
+  PyBuffer_Release(&arg1);
+  if (code == OrthancPluginErrorCode_Success)
+  {
+    return PyBytes_FromStringAndSize(buffer.GetData(), buffer.GetSize());
+  }
+  else
+  {
+    PythonLock::RaiseException(code);
+    return NULL;  
+  }
+}
+
 static PyObject* sdk_OrthancPluginLogError(PyObject* module, PyObject* args)
 {
   PythonLock::LogCall("Calling Python global function: OrthancPluginLogError()");
@@ -65,6 +883,24 @@
   return Py_None;
 }
 
+static PyObject* sdk_OrthancPluginLogInfo(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginLogInfo()");
+
+  const char* arg0 = NULL;
+
+  if (!PyArg_ParseTuple(args, "s", &arg0))
+  {
+    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)");
+    return NULL;
+  }
+  OrthancPluginLogInfo(OrthancPlugins::GetGlobalContext(), arg0);
+  
+
+  Py_INCREF(Py_None);
+  return Py_None;
+}
+
 static PyObject* sdk_OrthancPluginLogWarning(PyObject* module, PyObject* args)
 {
   PythonLock::LogCall("Calling Python global function: OrthancPluginLogWarning()");
@@ -83,9 +919,59 @@
   return Py_None;
 }
 
-static PyObject* sdk_OrthancPluginLogInfo(PyObject* module, PyObject* args)
+static PyObject* sdk_OrthancPluginLookupInstance(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginLookupInstance()");
+
+  const char* arg0 = NULL;
+
+  if (!PyArg_ParseTuple(args, "s", &arg0))
+  {
+    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)");
+    return NULL;
+  }
+  OrthancPlugins::OrthancString s;
+  s.Assign(OrthancPluginLookupInstance(OrthancPlugins::GetGlobalContext(), arg0));
+  
+  if (s.GetContent() == NULL)
+  {
+    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
+    return NULL;
+  }
+  else
+  {
+    return PyUnicode_FromString(s.GetContent());
+  }
+}
+
+static PyObject* sdk_OrthancPluginLookupPatient(PyObject* module, PyObject* args)
 {
-  PythonLock::LogCall("Calling Python global function: OrthancPluginLogInfo()");
+  PythonLock::LogCall("Calling Python global function: OrthancPluginLookupPatient()");
+
+  const char* arg0 = NULL;
+
+  if (!PyArg_ParseTuple(args, "s", &arg0))
+  {
+    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)");
+    return NULL;
+  }
+  OrthancPlugins::OrthancString s;
+  s.Assign(OrthancPluginLookupPatient(OrthancPlugins::GetGlobalContext(), arg0));
+  
+  if (s.GetContent() == NULL)
+  {
+    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
+    return NULL;
+  }
+  else
+  {
+    return PyUnicode_FromString(s.GetContent());
+  }
+}
+
+static PyObject* sdk_OrthancPluginLookupSeries(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginLookupSeries()");
 
   const char* arg0 = NULL;
 
@@ -94,16 +980,73 @@
     PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)");
     return NULL;
   }
-  OrthancPluginLogInfo(OrthancPlugins::GetGlobalContext(), arg0);
+  OrthancPlugins::OrthancString s;
+  s.Assign(OrthancPluginLookupSeries(OrthancPlugins::GetGlobalContext(), arg0));
   
-
-  Py_INCREF(Py_None);
-  return Py_None;
+  if (s.GetContent() == NULL)
+  {
+    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
+    return NULL;
+  }
+  else
+  {
+    return PyUnicode_FromString(s.GetContent());
+  }
 }
 
-static PyObject* sdk_OrthancPluginGetDicomForInstance(PyObject* module, PyObject* args)
+static PyObject* sdk_OrthancPluginLookupStudy(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginLookupStudy()");
+
+  const char* arg0 = NULL;
+
+  if (!PyArg_ParseTuple(args, "s", &arg0))
+  {
+    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)");
+    return NULL;
+  }
+  OrthancPlugins::OrthancString s;
+  s.Assign(OrthancPluginLookupStudy(OrthancPlugins::GetGlobalContext(), arg0));
+  
+  if (s.GetContent() == NULL)
+  {
+    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
+    return NULL;
+  }
+  else
+  {
+    return PyUnicode_FromString(s.GetContent());
+  }
+}
+
+static PyObject* sdk_OrthancPluginLookupStudyWithAccessionNumber(PyObject* module, PyObject* args)
 {
-  PythonLock::LogCall("Calling Python global function: OrthancPluginGetDicomForInstance()");
+  PythonLock::LogCall("Calling Python global function: OrthancPluginLookupStudyWithAccessionNumber()");
+
+  const char* arg0 = NULL;
+
+  if (!PyArg_ParseTuple(args, "s", &arg0))
+  {
+    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)");
+    return NULL;
+  }
+  OrthancPlugins::OrthancString s;
+  s.Assign(OrthancPluginLookupStudyWithAccessionNumber(OrthancPlugins::GetGlobalContext(), arg0));
+  
+  if (s.GetContent() == NULL)
+  {
+    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
+    return NULL;
+  }
+  else
+  {
+    return PyUnicode_FromString(s.GetContent());
+  }
+}
+
+static PyObject* sdk_OrthancPluginReadFile(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginReadFile()");
 
   const char* arg0 = NULL;
 
@@ -113,7 +1056,7 @@
     return NULL;
   }
   OrthancPlugins::MemoryBuffer buffer;
-  OrthancPluginErrorCode code = OrthancPluginGetDicomForInstance(OrthancPlugins::GetGlobalContext(), *buffer, arg0);
+  OrthancPluginErrorCode code = OrthancPluginReadFile(OrthancPlugins::GetGlobalContext(), *buffer, arg0);
   
   if (code == OrthancPluginErrorCode_Success)
   {
@@ -126,6 +1069,149 @@
   }
 }
 
+static PyObject* sdk_OrthancPluginRegisterDictionaryTag(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginRegisterDictionaryTag()");
+
+  unsigned short arg0 = 0;
+  unsigned short arg1 = 0;
+  long int arg2 = 0;
+  const char* arg3 = NULL;
+  unsigned long arg4 = 0;
+  unsigned long arg5 = 0;
+
+  if (!PyArg_ParseTuple(args, "HHlskk", &arg0, &arg1, &arg2, &arg3, &arg4, &arg5))
+  {
+    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (6 arguments expected)");
+    return NULL;
+  }
+  OrthancPluginErrorCode code = OrthancPluginRegisterDictionaryTag(OrthancPlugins::GetGlobalContext(), arg0, arg1, static_cast<OrthancPluginValueRepresentation>(arg2), arg3, arg4, arg5);
+  
+
+  if (code == OrthancPluginErrorCode_Success)
+  {
+    Py_INCREF(Py_None);
+    return Py_None;
+  }
+  else
+  {
+    PythonLock::RaiseException(code);
+    return NULL;
+  }
+}
+
+static PyObject* sdk_OrthancPluginRegisterErrorCode(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginRegisterErrorCode()");
+
+  long int arg0 = 0;
+  unsigned short arg1 = 0;
+  const char* arg2 = NULL;
+
+  if (!PyArg_ParseTuple(args, "lHs", &arg0, &arg1, &arg2))
+  {
+    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (3 arguments expected)");
+    return NULL;
+  }
+  OrthancPluginErrorCode code = OrthancPluginRegisterErrorCode(OrthancPlugins::GetGlobalContext(), arg0, arg1, arg2);
+  
+
+  if (code == OrthancPluginErrorCode_Success)
+  {
+    Py_INCREF(Py_None);
+    return Py_None;
+  }
+  else
+  {
+    PythonLock::RaiseException(code);
+    return NULL;
+  }
+}
+
+static PyObject* sdk_OrthancPluginRegisterPrivateDictionaryTag(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginRegisterPrivateDictionaryTag()");
+
+  unsigned short arg0 = 0;
+  unsigned short arg1 = 0;
+  long int arg2 = 0;
+  const char* arg3 = NULL;
+  unsigned long arg4 = 0;
+  unsigned long arg5 = 0;
+  const char* arg6 = NULL;
+
+  if (!PyArg_ParseTuple(args, "HHlskks", &arg0, &arg1, &arg2, &arg3, &arg4, &arg5, &arg6))
+  {
+    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (7 arguments expected)");
+    return NULL;
+  }
+  OrthancPluginErrorCode code = OrthancPluginRegisterPrivateDictionaryTag(OrthancPlugins::GetGlobalContext(), arg0, arg1, static_cast<OrthancPluginValueRepresentation>(arg2), arg3, arg4, arg5, arg6);
+  
+
+  if (code == OrthancPluginErrorCode_Success)
+  {
+    Py_INCREF(Py_None);
+    return Py_None;
+  }
+  else
+  {
+    PythonLock::RaiseException(code);
+    return NULL;
+  }
+}
+
+static PyObject* sdk_OrthancPluginRestApiDelete(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginRestApiDelete()");
+
+  const char* arg0 = NULL;
+
+  if (!PyArg_ParseTuple(args, "s", &arg0))
+  {
+    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)");
+    return NULL;
+  }
+  OrthancPluginErrorCode code = OrthancPluginRestApiDelete(OrthancPlugins::GetGlobalContext(), arg0);
+  
+
+  if (code == OrthancPluginErrorCode_Success)
+  {
+    Py_INCREF(Py_None);
+    return Py_None;
+  }
+  else
+  {
+    PythonLock::RaiseException(code);
+    return NULL;
+  }
+}
+
+static PyObject* sdk_OrthancPluginRestApiDeleteAfterPlugins(PyObject* module, PyObject* args)
+{
+  PythonLock::LogCall("Calling Python global function: OrthancPluginRestApiDeleteAfterPlugins()");
+
+  const char* arg0 = NULL;
+
+  if (!PyArg_ParseTuple(args, "s", &arg0))
+  {
+    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)");
+    return NULL;
+  }
+  OrthancPluginErrorCode code = OrthancPluginRestApiDeleteAfterPlugins(OrthancPlugins::GetGlobalContext(), arg0);
+  
+
+  if (code == OrthancPluginErrorCode_Success)
+  {
+    Py_INCREF(Py_None);
+    return Py_None;
+  }
+  else
+  {
+    PythonLock::RaiseException(code);
+    return NULL;
+  }
+}
+
 static PyObject* sdk_OrthancPluginRestApiGet(PyObject* module, PyObject* args)
 {
   PythonLock::LogCall("Calling Python global function: OrthancPluginRestApiGet()");
@@ -228,58 +1314,6 @@
   }
 }
 
-static PyObject* sdk_OrthancPluginRestApiDelete(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginRestApiDelete()");
-
-  const char* arg0 = NULL;
-
-  if (!PyArg_ParseTuple(args, "s", &arg0))
-  {
-    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)");
-    return NULL;
-  }
-  OrthancPluginErrorCode code = OrthancPluginRestApiDelete(OrthancPlugins::GetGlobalContext(), arg0);
-  
-
-  if (code == OrthancPluginErrorCode_Success)
-  {
-    Py_INCREF(Py_None);
-    return Py_None;
-  }
-  else
-  {
-    PythonLock::RaiseException(code);
-    return NULL;
-  }
-}
-
-static PyObject* sdk_OrthancPluginRestApiDeleteAfterPlugins(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginRestApiDeleteAfterPlugins()");
-
-  const char* arg0 = NULL;
-
-  if (!PyArg_ParseTuple(args, "s", &arg0))
-  {
-    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)");
-    return NULL;
-  }
-  OrthancPluginErrorCode code = OrthancPluginRestApiDeleteAfterPlugins(OrthancPlugins::GetGlobalContext(), arg0);
-  
-
-  if (code == OrthancPluginErrorCode_Success)
-  {
-    Py_INCREF(Py_None);
-    return Py_None;
-  }
-  else
-  {
-    PythonLock::RaiseException(code);
-    return NULL;
-  }
-}
-
 static PyObject* sdk_OrthancPluginRestApiPut(PyObject* module, PyObject* args)
 {
   PythonLock::LogCall("Calling Python global function: OrthancPluginRestApiPut()");
@@ -332,206 +1366,6 @@
   }
 }
 
-static PyObject* sdk_OrthancPluginLookupPatient(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginLookupPatient()");
-
-  const char* arg0 = NULL;
-
-  if (!PyArg_ParseTuple(args, "s", &arg0))
-  {
-    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)");
-    return NULL;
-  }
-  OrthancPlugins::OrthancString s;
-  s.Assign(OrthancPluginLookupPatient(OrthancPlugins::GetGlobalContext(), arg0));
-  
-  if (s.GetContent() == NULL)
-  {
-    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
-    return NULL;
-  }
-  else
-  {
-    return PyUnicode_FromString(s.GetContent());
-  }
-}
-
-static PyObject* sdk_OrthancPluginLookupStudy(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginLookupStudy()");
-
-  const char* arg0 = NULL;
-
-  if (!PyArg_ParseTuple(args, "s", &arg0))
-  {
-    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)");
-    return NULL;
-  }
-  OrthancPlugins::OrthancString s;
-  s.Assign(OrthancPluginLookupStudy(OrthancPlugins::GetGlobalContext(), arg0));
-  
-  if (s.GetContent() == NULL)
-  {
-    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
-    return NULL;
-  }
-  else
-  {
-    return PyUnicode_FromString(s.GetContent());
-  }
-}
-
-static PyObject* sdk_OrthancPluginLookupStudyWithAccessionNumber(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginLookupStudyWithAccessionNumber()");
-
-  const char* arg0 = NULL;
-
-  if (!PyArg_ParseTuple(args, "s", &arg0))
-  {
-    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)");
-    return NULL;
-  }
-  OrthancPlugins::OrthancString s;
-  s.Assign(OrthancPluginLookupStudyWithAccessionNumber(OrthancPlugins::GetGlobalContext(), arg0));
-  
-  if (s.GetContent() == NULL)
-  {
-    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
-    return NULL;
-  }
-  else
-  {
-    return PyUnicode_FromString(s.GetContent());
-  }
-}
-
-static PyObject* sdk_OrthancPluginLookupSeries(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginLookupSeries()");
-
-  const char* arg0 = NULL;
-
-  if (!PyArg_ParseTuple(args, "s", &arg0))
-  {
-    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)");
-    return NULL;
-  }
-  OrthancPlugins::OrthancString s;
-  s.Assign(OrthancPluginLookupSeries(OrthancPlugins::GetGlobalContext(), arg0));
-  
-  if (s.GetContent() == NULL)
-  {
-    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
-    return NULL;
-  }
-  else
-  {
-    return PyUnicode_FromString(s.GetContent());
-  }
-}
-
-static PyObject* sdk_OrthancPluginLookupInstance(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginLookupInstance()");
-
-  const char* arg0 = NULL;
-
-  if (!PyArg_ParseTuple(args, "s", &arg0))
-  {
-    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)");
-    return NULL;
-  }
-  OrthancPlugins::OrthancString s;
-  s.Assign(OrthancPluginLookupInstance(OrthancPlugins::GetGlobalContext(), arg0));
-  
-  if (s.GetContent() == NULL)
-  {
-    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
-    return NULL;
-  }
-  else
-  {
-    return PyUnicode_FromString(s.GetContent());
-  }
-}
-
-static PyObject* sdk_OrthancPluginGetOrthancPath(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginGetOrthancPath()");
-
-
-  OrthancPlugins::OrthancString s;
-  s.Assign(OrthancPluginGetOrthancPath(OrthancPlugins::GetGlobalContext()));
-  
-  if (s.GetContent() == NULL)
-  {
-    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
-    return NULL;
-  }
-  else
-  {
-    return PyUnicode_FromString(s.GetContent());
-  }
-}
-
-static PyObject* sdk_OrthancPluginGetOrthancDirectory(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginGetOrthancDirectory()");
-
-
-  OrthancPlugins::OrthancString s;
-  s.Assign(OrthancPluginGetOrthancDirectory(OrthancPlugins::GetGlobalContext()));
-  
-  if (s.GetContent() == NULL)
-  {
-    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
-    return NULL;
-  }
-  else
-  {
-    return PyUnicode_FromString(s.GetContent());
-  }
-}
-
-static PyObject* sdk_OrthancPluginGetConfigurationPath(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginGetConfigurationPath()");
-
-
-  OrthancPlugins::OrthancString s;
-  s.Assign(OrthancPluginGetConfigurationPath(OrthancPlugins::GetGlobalContext()));
-  
-  if (s.GetContent() == NULL)
-  {
-    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
-    return NULL;
-  }
-  else
-  {
-    return PyUnicode_FromString(s.GetContent());
-  }
-}
-
-static PyObject* sdk_OrthancPluginSetRootUri(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginSetRootUri()");
-
-  const char* arg0 = NULL;
-
-  if (!PyArg_ParseTuple(args, "s", &arg0))
-  {
-    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)");
-    return NULL;
-  }
-  OrthancPluginSetRootUri(OrthancPlugins::GetGlobalContext(), arg0);
-  
-
-  Py_INCREF(Py_None);
-  return Py_None;
-}
-
 static PyObject* sdk_OrthancPluginSetDescription(PyObject* module, PyObject* args)
 {
   PythonLock::LogCall("Calling Python global function: OrthancPluginSetDescription()");
@@ -550,50 +1384,6 @@
   return Py_None;
 }
 
-static PyObject* sdk_OrthancPluginExtendOrthancExplorer(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginExtendOrthancExplorer()");
-
-  const char* arg0 = NULL;
-
-  if (!PyArg_ParseTuple(args, "s", &arg0))
-  {
-    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)");
-    return NULL;
-  }
-  OrthancPluginExtendOrthancExplorer(OrthancPlugins::GetGlobalContext(), arg0);
-  
-
-  Py_INCREF(Py_None);
-  return Py_None;
-}
-
-static PyObject* sdk_OrthancPluginGetGlobalProperty(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginGetGlobalProperty()");
-
-  long int arg0 = 0;
-  const char* arg1 = NULL;
-
-  if (!PyArg_ParseTuple(args, "ls", &arg0, &arg1))
-  {
-    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (2 arguments expected)");
-    return NULL;
-  }
-  OrthancPlugins::OrthancString s;
-  s.Assign(OrthancPluginGetGlobalProperty(OrthancPlugins::GetGlobalContext(), arg0, arg1));
-  
-  if (s.GetContent() == NULL)
-  {
-    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
-    return NULL;
-  }
-  else
-  {
-    return PyUnicode_FromString(s.GetContent());
-  }
-}
-
 static PyObject* sdk_OrthancPluginSetGlobalProperty(PyObject* module, PyObject* args)
 {
   PythonLock::LogCall("Calling Python global function: OrthancPluginSetGlobalProperty()");
@@ -621,100 +1411,29 @@
   }
 }
 
-static PyObject* sdk_OrthancPluginGetCommandLineArgumentsCount(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginGetCommandLineArgumentsCount()");
-
-
-  long value = OrthancPluginGetCommandLineArgumentsCount(OrthancPlugins::GetGlobalContext());
-  
-  return PyLong_FromLong(value);
-}
-
-static PyObject* sdk_OrthancPluginGetCommandLineArgument(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginGetCommandLineArgument()");
-
-  unsigned long arg0 = 0;
-
-  if (!PyArg_ParseTuple(args, "k", &arg0))
-  {
-    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)");
-    return NULL;
-  }
-  OrthancPlugins::OrthancString s;
-  s.Assign(OrthancPluginGetCommandLineArgument(OrthancPlugins::GetGlobalContext(), arg0));
-  
-  if (s.GetContent() == NULL)
-  {
-    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
-    return NULL;
-  }
-  else
-  {
-    return PyUnicode_FromString(s.GetContent());
-  }
-}
-
-static PyObject* sdk_OrthancPluginGetExpectedDatabaseVersion(PyObject* module, PyObject* args)
+static PyObject* sdk_OrthancPluginSetMetricsValue(PyObject* module, PyObject* args)
 {
-  PythonLock::LogCall("Calling Python global function: OrthancPluginGetExpectedDatabaseVersion()");
-
-
-  long value = OrthancPluginGetExpectedDatabaseVersion(OrthancPlugins::GetGlobalContext());
-  
-  return PyLong_FromLong(value);
-}
-
-static PyObject* sdk_OrthancPluginGetConfiguration(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginGetConfiguration()");
-
+  PythonLock::LogCall("Calling Python global function: OrthancPluginSetMetricsValue()");
 
-  OrthancPlugins::OrthancString s;
-  s.Assign(OrthancPluginGetConfiguration(OrthancPlugins::GetGlobalContext()));
-  
-  if (s.GetContent() == NULL)
-  {
-    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
-    return NULL;
-  }
-  else
-  {
-    return PyUnicode_FromString(s.GetContent());
-  }
-}
+  const char* arg0 = NULL;
+  float arg1 = 0;
+  long int arg2 = 0;
 
-static PyObject* sdk_OrthancPluginBufferCompression(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginBufferCompression()");
-
-  Py_buffer arg0;
-  long int arg2 = 0;
-  unsigned char arg3 = 0;
-
-  if (!PyArg_ParseTuple(args, "s*lb", &arg0, &arg2, &arg3))
+  if (!PyArg_ParseTuple(args, "sfl", &arg0, &arg1, &arg2))
   {
     PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (3 arguments expected)");
     return NULL;
   }
-  OrthancPlugins::MemoryBuffer buffer;
-  OrthancPluginErrorCode code = OrthancPluginBufferCompression(OrthancPlugins::GetGlobalContext(), *buffer, arg0.buf, arg0.len, static_cast<OrthancPluginCompressionType>(arg2), arg3);
-  PyBuffer_Release(&arg0);
-  if (code == OrthancPluginErrorCode_Success)
-  {
-    return PyBytes_FromStringAndSize(buffer.GetData(), buffer.GetSize());
-  }
-  else
-  {
-    PythonLock::RaiseException(code);
-    return NULL;  
-  }
+  OrthancPluginSetMetricsValue(OrthancPlugins::GetGlobalContext(), arg0, arg1, static_cast<OrthancPluginMetricsType>(arg2));
+  
+
+  Py_INCREF(Py_None);
+  return Py_None;
 }
 
-static PyObject* sdk_OrthancPluginReadFile(PyObject* module, PyObject* args)
+static PyObject* sdk_OrthancPluginSetRootUri(PyObject* module, PyObject* args)
 {
-  PythonLock::LogCall("Calling Python global function: OrthancPluginReadFile()");
+  PythonLock::LogCall("Calling Python global function: OrthancPluginSetRootUri()");
 
   const char* arg0 = NULL;
 
@@ -723,68 +1442,39 @@
     PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)");
     return NULL;
   }
-  OrthancPlugins::MemoryBuffer buffer;
-  OrthancPluginErrorCode code = OrthancPluginReadFile(OrthancPlugins::GetGlobalContext(), *buffer, arg0);
+  OrthancPluginSetRootUri(OrthancPlugins::GetGlobalContext(), arg0);
   
-  if (code == OrthancPluginErrorCode_Success)
-  {
-    return PyBytes_FromStringAndSize(buffer.GetData(), buffer.GetSize());
-  }
-  else
-  {
-    PythonLock::RaiseException(code);
-    return NULL;  
-  }
+
+  Py_INCREF(Py_None);
+  return Py_None;
 }
 
-static PyObject* sdk_OrthancPluginWriteFile(PyObject* module, PyObject* args)
+static PyObject* sdk_OrthancPluginTranscodeDicomInstance(PyObject* module, PyObject* args)
 {
-  PythonLock::LogCall("Calling Python global function: OrthancPluginWriteFile()");
+  PythonLock::LogCall("Calling Python global function: OrthancPluginTranscodeDicomInstance()");
 
-  const char* arg0 = NULL;
-  Py_buffer arg1;
+  Py_buffer arg0;
+  const char* arg2 = NULL;
 
-  if (!PyArg_ParseTuple(args, "ss*", &arg0, &arg1))
+  if (!PyArg_ParseTuple(args, "s*s", &arg0, &arg2))
   {
     PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (2 arguments expected)");
     return NULL;
   }
-  OrthancPluginErrorCode code = OrthancPluginWriteFile(OrthancPlugins::GetGlobalContext(), arg0, arg1.buf, arg1.len);
-  PyBuffer_Release(&arg1);
-
-  if (code == OrthancPluginErrorCode_Success)
+  // This is the case of a constructor
+  OrthancPluginDicomInstance* obj = OrthancPluginTranscodeDicomInstance(OrthancPlugins::GetGlobalContext(), arg0.buf, arg0.len, arg2);
+  PyBuffer_Release(&arg0);
+  if (obj == NULL)
   {
-    Py_INCREF(Py_None);
-    return Py_None;
+    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
+    return NULL;  
   }
   else
   {
-    PythonLock::RaiseException(code);
-    return NULL;
-  }
-}
-
-static PyObject* sdk_OrthancPluginGetErrorDescription(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginGetErrorDescription()");
-
-  long int arg0 = 0;
-
-  if (!PyArg_ParseTuple(args, "l", &arg0))
-  {
-    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)");
-    return NULL;
-  }
-  const char* s = OrthancPluginGetErrorDescription(OrthancPlugins::GetGlobalContext(), static_cast<OrthancPluginErrorCode>(arg0));
-  
-  if (s == NULL)
-  {
-    Py_INCREF(Py_None);
-    return Py_None;
-  }
-  else
-  {
-    return PyUnicode_FromString(s);
+    PyObject *argList = Py_BuildValue("Lb", obj, false /* not borrowed */);
+    PyObject *python = PyObject_CallObject((PyObject *) &sdk_OrthancPluginDicomInstance_Type, argList);
+    Py_DECREF(argList);
+    return python;
   }
 }
 
@@ -817,304 +1507,20 @@
   }
 }
 
-static PyObject* sdk_OrthancPluginCompressPngImage(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginCompressPngImage()");
-
-  long int arg0 = 0;
-  unsigned long arg1 = 0;
-  unsigned long arg2 = 0;
-  unsigned long arg3 = 0;
-  Py_buffer arg4;
-
-  if (!PyArg_ParseTuple(args, "lkkks*", &arg0, &arg1, &arg2, &arg3, &arg4))
-  {
-    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (5 arguments expected)");
-    return NULL;
-  }
-  OrthancPlugins::MemoryBuffer buffer;
-  OrthancPluginErrorCode code = OrthancPluginCompressPngImage(OrthancPlugins::GetGlobalContext(), *buffer, static_cast<OrthancPluginPixelFormat>(arg0), arg1, arg2, arg3, arg4.buf);
-  PyBuffer_Release(&arg4);
-  if (code == OrthancPluginErrorCode_Success)
-  {
-    return PyBytes_FromStringAndSize(buffer.GetData(), buffer.GetSize());
-  }
-  else
-  {
-    PythonLock::RaiseException(code);
-    return NULL;  
-  }
-}
-
-static PyObject* sdk_OrthancPluginCompressJpegImage(PyObject* module, PyObject* args)
+static PyObject* sdk_OrthancPluginWriteFile(PyObject* module, PyObject* args)
 {
-  PythonLock::LogCall("Calling Python global function: OrthancPluginCompressJpegImage()");
-
-  long int arg0 = 0;
-  unsigned long arg1 = 0;
-  unsigned long arg2 = 0;
-  unsigned long arg3 = 0;
-  Py_buffer arg4;
-  unsigned char arg5 = 0;
-
-  if (!PyArg_ParseTuple(args, "lkkks*b", &arg0, &arg1, &arg2, &arg3, &arg4, &arg5))
-  {
-    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (6 arguments expected)");
-    return NULL;
-  }
-  OrthancPlugins::MemoryBuffer buffer;
-  OrthancPluginErrorCode code = OrthancPluginCompressJpegImage(OrthancPlugins::GetGlobalContext(), *buffer, static_cast<OrthancPluginPixelFormat>(arg0), arg1, arg2, arg3, arg4.buf, arg5);
-  PyBuffer_Release(&arg4);
-  if (code == OrthancPluginErrorCode_Success)
-  {
-    return PyBytes_FromStringAndSize(buffer.GetData(), buffer.GetSize());
-  }
-  else
-  {
-    PythonLock::RaiseException(code);
-    return NULL;  
-  }
-}
-
-static PyObject* sdk_OrthancPluginHttpGet(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginHttpGet()");
-
-  const char* arg0 = NULL;
-  const char* arg1 = NULL;
-  const char* arg2 = NULL;
-
-  if (!PyArg_ParseTuple(args, "sss", &arg0, &arg1, &arg2))
-  {
-    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (3 arguments expected)");
-    return NULL;
-  }
-  OrthancPlugins::MemoryBuffer buffer;
-  OrthancPluginErrorCode code = OrthancPluginHttpGet(OrthancPlugins::GetGlobalContext(), *buffer, arg0, arg1, arg2);
-  
-  if (code == OrthancPluginErrorCode_Success)
-  {
-    return PyBytes_FromStringAndSize(buffer.GetData(), buffer.GetSize());
-  }
-  else
-  {
-    PythonLock::RaiseException(code);
-    return NULL;  
-  }
-}
-
-static PyObject* sdk_OrthancPluginHttpPost(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginHttpPost()");
-
-  const char* arg0 = NULL;
-  Py_buffer arg1;
-  const char* arg3 = NULL;
-  const char* arg4 = NULL;
-
-  if (!PyArg_ParseTuple(args, "ss*ss", &arg0, &arg1, &arg3, &arg4))
-  {
-    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (4 arguments expected)");
-    return NULL;
-  }
-  OrthancPlugins::MemoryBuffer buffer;
-  OrthancPluginErrorCode code = OrthancPluginHttpPost(OrthancPlugins::GetGlobalContext(), *buffer, arg0, arg1.buf, arg1.len, arg3, arg4);
-  PyBuffer_Release(&arg1);
-  if (code == OrthancPluginErrorCode_Success)
-  {
-    return PyBytes_FromStringAndSize(buffer.GetData(), buffer.GetSize());
-  }
-  else
-  {
-    PythonLock::RaiseException(code);
-    return NULL;  
-  }
-}
-
-static PyObject* sdk_OrthancPluginHttpPut(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginHttpPut()");
+  PythonLock::LogCall("Calling Python global function: OrthancPluginWriteFile()");
 
   const char* arg0 = NULL;
   Py_buffer arg1;
-  const char* arg3 = NULL;
-  const char* arg4 = NULL;
 
-  if (!PyArg_ParseTuple(args, "ss*ss", &arg0, &arg1, &arg3, &arg4))
-  {
-    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (4 arguments expected)");
-    return NULL;
-  }
-  OrthancPlugins::MemoryBuffer buffer;
-  OrthancPluginErrorCode code = OrthancPluginHttpPut(OrthancPlugins::GetGlobalContext(), *buffer, arg0, arg1.buf, arg1.len, arg3, arg4);
-  PyBuffer_Release(&arg1);
-  if (code == OrthancPluginErrorCode_Success)
-  {
-    return PyBytes_FromStringAndSize(buffer.GetData(), buffer.GetSize());
-  }
-  else
-  {
-    PythonLock::RaiseException(code);
-    return NULL;  
-  }
-}
-
-static PyObject* sdk_OrthancPluginHttpDelete(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginHttpDelete()");
-
-  const char* arg0 = NULL;
-  const char* arg1 = NULL;
-  const char* arg2 = NULL;
-
-  if (!PyArg_ParseTuple(args, "sss", &arg0, &arg1, &arg2))
+  if (!PyArg_ParseTuple(args, "ss*", &arg0, &arg1))
   {
-    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (3 arguments expected)");
-    return NULL;
-  }
-  OrthancPluginErrorCode code = OrthancPluginHttpDelete(OrthancPlugins::GetGlobalContext(), arg0, arg1, arg2);
-  
-
-  if (code == OrthancPluginErrorCode_Success)
-  {
-    Py_INCREF(Py_None);
-    return Py_None;
-  }
-  else
-  {
-    PythonLock::RaiseException(code);
-    return NULL;
-  }
-}
-
-static PyObject* sdk_OrthancPluginGetFontsCount(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginGetFontsCount()");
-
-
-  long value = OrthancPluginGetFontsCount(OrthancPlugins::GetGlobalContext());
-  
-  return PyLong_FromLong(value);
-}
-
-static PyObject* sdk_OrthancPluginGetFontName(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginGetFontName()");
-
-  unsigned long arg0 = 0;
-
-  if (!PyArg_ParseTuple(args, "k", &arg0))
-  {
-    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)");
+    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (2 arguments expected)");
     return NULL;
   }
-  const char* s = OrthancPluginGetFontName(OrthancPlugins::GetGlobalContext(), arg0);
-  
-  if (s == NULL)
-  {
-    Py_INCREF(Py_None);
-    return Py_None;
-  }
-  else
-  {
-    return PyUnicode_FromString(s);
-  }
-}
-
-static PyObject* sdk_OrthancPluginGetFontSize(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginGetFontSize()");
-
-  unsigned long arg0 = 0;
-
-  if (!PyArg_ParseTuple(args, "k", &arg0))
-  {
-    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)");
-    return NULL;
-  }
-  long value = OrthancPluginGetFontSize(OrthancPlugins::GetGlobalContext(), arg0);
-  
-  return PyLong_FromLong(value);
-}
-
-static PyObject* sdk_OrthancPluginRegisterErrorCode(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginRegisterErrorCode()");
-
-  long int arg0 = 0;
-  unsigned short arg1 = 0;
-  const char* arg2 = NULL;
-
-  if (!PyArg_ParseTuple(args, "lHs", &arg0, &arg1, &arg2))
-  {
-    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (3 arguments expected)");
-    return NULL;
-  }
-  OrthancPluginErrorCode code = OrthancPluginRegisterErrorCode(OrthancPlugins::GetGlobalContext(), arg0, arg1, arg2);
-  
-
-  if (code == OrthancPluginErrorCode_Success)
-  {
-    Py_INCREF(Py_None);
-    return Py_None;
-  }
-  else
-  {
-    PythonLock::RaiseException(code);
-    return NULL;
-  }
-}
-
-static PyObject* sdk_OrthancPluginRegisterDictionaryTag(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginRegisterDictionaryTag()");
-
-  unsigned short arg0 = 0;
-  unsigned short arg1 = 0;
-  long int arg2 = 0;
-  const char* arg3 = NULL;
-  unsigned long arg4 = 0;
-  unsigned long arg5 = 0;
-
-  if (!PyArg_ParseTuple(args, "HHlskk", &arg0, &arg1, &arg2, &arg3, &arg4, &arg5))
-  {
-    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (6 arguments expected)");
-    return NULL;
-  }
-  OrthancPluginErrorCode code = OrthancPluginRegisterDictionaryTag(OrthancPlugins::GetGlobalContext(), arg0, arg1, static_cast<OrthancPluginValueRepresentation>(arg2), arg3, arg4, arg5);
-  
-
-  if (code == OrthancPluginErrorCode_Success)
-  {
-    Py_INCREF(Py_None);
-    return Py_None;
-  }
-  else
-  {
-    PythonLock::RaiseException(code);
-    return NULL;
-  }
-}
-
-static PyObject* sdk_OrthancPluginRegisterPrivateDictionaryTag(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginRegisterPrivateDictionaryTag()");
-
-  unsigned short arg0 = 0;
-  unsigned short arg1 = 0;
-  long int arg2 = 0;
-  const char* arg3 = NULL;
-  unsigned long arg4 = 0;
-  unsigned long arg5 = 0;
-  const char* arg6 = NULL;
-
-  if (!PyArg_ParseTuple(args, "HHlskks", &arg0, &arg1, &arg2, &arg3, &arg4, &arg5, &arg6))
-  {
-    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (7 arguments expected)");
-    return NULL;
-  }
-  OrthancPluginErrorCode code = OrthancPluginRegisterPrivateDictionaryTag(OrthancPlugins::GetGlobalContext(), arg0, arg1, static_cast<OrthancPluginValueRepresentation>(arg2), arg3, arg4, arg5, arg6);
-  
+  OrthancPluginErrorCode code = OrthancPluginWriteFile(OrthancPlugins::GetGlobalContext(), arg0, arg1.buf, arg1.len);
+  PyBuffer_Release(&arg1);
 
   if (code == OrthancPluginErrorCode_Success)
   {
@@ -1128,427 +1534,111 @@
   }
 }
 
-static PyObject* sdk_OrthancPluginDicomBufferToJson(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginDicomBufferToJson()");
-
-  Py_buffer arg0;
-  long int arg2 = 0;
-  long int arg3 = 0;
-  unsigned long arg4 = 0;
-
-  if (!PyArg_ParseTuple(args, "s*llk", &arg0, &arg2, &arg3, &arg4))
-  {
-    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (4 arguments expected)");
-    return NULL;
-  }
-  OrthancPlugins::OrthancString s;
-  s.Assign(OrthancPluginDicomBufferToJson(OrthancPlugins::GetGlobalContext(), arg0.buf, arg0.len, static_cast<OrthancPluginDicomToJsonFormat>(arg2), static_cast<OrthancPluginDicomToJsonFlags>(arg3), arg4));
-  PyBuffer_Release(&arg0);
-  if (s.GetContent() == NULL)
-  {
-    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
-    return NULL;
-  }
-  else
-  {
-    return PyUnicode_FromString(s.GetContent());
-  }
-}
-
-static PyObject* sdk_OrthancPluginDicomInstanceToJson(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginDicomInstanceToJson()");
-
-  const char* arg0 = NULL;
-  long int arg1 = 0;
-  long int arg2 = 0;
-  unsigned long arg3 = 0;
-
-  if (!PyArg_ParseTuple(args, "sllk", &arg0, &arg1, &arg2, &arg3))
-  {
-    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (4 arguments expected)");
-    return NULL;
-  }
-  OrthancPlugins::OrthancString s;
-  s.Assign(OrthancPluginDicomInstanceToJson(OrthancPlugins::GetGlobalContext(), arg0, static_cast<OrthancPluginDicomToJsonFormat>(arg1), static_cast<OrthancPluginDicomToJsonFlags>(arg2), arg3));
-  
-  if (s.GetContent() == NULL)
-  {
-    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
-    return NULL;
-  }
-  else
-  {
-    return PyUnicode_FromString(s.GetContent());
-  }
-}
-
-static PyObject* sdk_OrthancPluginCreateImage(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginCreateImage()");
-
-  long int arg0 = 0;
-  unsigned long arg1 = 0;
-  unsigned long arg2 = 0;
-
-  if (!PyArg_ParseTuple(args, "lkk", &arg0, &arg1, &arg2))
-  {
-    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (3 arguments expected)");
-    return NULL;
-  }
-  // This is the case of a constructor
-  OrthancPluginImage* obj = OrthancPluginCreateImage(OrthancPlugins::GetGlobalContext(), static_cast<OrthancPluginPixelFormat>(arg0), arg1, arg2);
-  
-  if (obj == NULL)
-  {
-    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
-    return NULL;  
-  }
-  else
-  {
-    PyObject *argList = Py_BuildValue("Lb", obj, false /* not borrowed */);
-    PyObject *python = PyObject_CallObject((PyObject *) &sdk_OrthancPluginImage_Type, argList);
-    Py_DECREF(argList);
-    return python;
-  }
-}
-
-static PyObject* sdk_OrthancPluginDecodeDicomImage(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginDecodeDicomImage()");
-
-  Py_buffer arg0;
-  unsigned long arg2 = 0;
-
-  if (!PyArg_ParseTuple(args, "s*k", &arg0, &arg2))
-  {
-    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (2 arguments expected)");
-    return NULL;
-  }
-  // This is the case of a constructor
-  OrthancPluginImage* obj = OrthancPluginDecodeDicomImage(OrthancPlugins::GetGlobalContext(), arg0.buf, arg0.len, arg2);
-  PyBuffer_Release(&arg0);
-  if (obj == NULL)
-  {
-    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
-    return NULL;  
-  }
-  else
-  {
-    PyObject *argList = Py_BuildValue("Lb", obj, false /* not borrowed */);
-    PyObject *python = PyObject_CallObject((PyObject *) &sdk_OrthancPluginImage_Type, argList);
-    Py_DECREF(argList);
-    return python;
-  }
-}
-
-static PyObject* sdk_OrthancPluginComputeMd5(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginComputeMd5()");
-
-  Py_buffer arg0;
-
-  if (!PyArg_ParseTuple(args, "s*", &arg0))
-  {
-    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)");
-    return NULL;
-  }
-  OrthancPlugins::OrthancString s;
-  s.Assign(OrthancPluginComputeMd5(OrthancPlugins::GetGlobalContext(), arg0.buf, arg0.len));
-  PyBuffer_Release(&arg0);
-  if (s.GetContent() == NULL)
-  {
-    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
-    return NULL;
-  }
-  else
-  {
-    return PyUnicode_FromString(s.GetContent());
-  }
-}
-
-static PyObject* sdk_OrthancPluginComputeSha1(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginComputeSha1()");
-
-  Py_buffer arg0;
-
-  if (!PyArg_ParseTuple(args, "s*", &arg0))
-  {
-    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)");
-    return NULL;
-  }
-  OrthancPlugins::OrthancString s;
-  s.Assign(OrthancPluginComputeSha1(OrthancPlugins::GetGlobalContext(), arg0.buf, arg0.len));
-  PyBuffer_Release(&arg0);
-  if (s.GetContent() == NULL)
-  {
-    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
-    return NULL;
-  }
-  else
-  {
-    return PyUnicode_FromString(s.GetContent());
-  }
-}
-
-static PyObject* sdk_OrthancPluginGenerateUuid(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginGenerateUuid()");
-
-
-  OrthancPlugins::OrthancString s;
-  s.Assign(OrthancPluginGenerateUuid(OrthancPlugins::GetGlobalContext()));
-  
-  if (s.GetContent() == NULL)
-  {
-    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
-    return NULL;
-  }
-  else
-  {
-    return PyUnicode_FromString(s.GetContent());
-  }
-}
-
-static PyObject* sdk_OrthancPluginCreateFindMatcher(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginCreateFindMatcher()");
-
-  Py_buffer arg0;
-
-  if (!PyArg_ParseTuple(args, "s*", &arg0))
-  {
-    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)");
-    return NULL;
-  }
-  // This is the case of a constructor
-  OrthancPluginFindMatcher* obj = OrthancPluginCreateFindMatcher(OrthancPlugins::GetGlobalContext(), arg0.buf, arg0.len);
-  PyBuffer_Release(&arg0);
-  if (obj == NULL)
-  {
-    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
-    return NULL;  
-  }
-  else
-  {
-    PyObject *argList = Py_BuildValue("Lb", obj, false /* not borrowed */);
-    PyObject *python = PyObject_CallObject((PyObject *) &sdk_OrthancPluginFindMatcher_Type, argList);
-    Py_DECREF(argList);
-    return python;
-  }
-}
-
-static PyObject* sdk_OrthancPluginGetPeers(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginGetPeers()");
-
-
-  // This is the case of a constructor
-  OrthancPluginPeers* obj = OrthancPluginGetPeers(OrthancPlugins::GetGlobalContext());
-  
-  if (obj == NULL)
-  {
-    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
-    return NULL;  
-  }
-  else
-  {
-    PyObject *argList = Py_BuildValue("Lb", obj, false /* not borrowed */);
-    PyObject *python = PyObject_CallObject((PyObject *) &sdk_OrthancPluginPeers_Type, argList);
-    Py_DECREF(argList);
-    return python;
-  }
-}
-
-static PyObject* sdk_OrthancPluginAutodetectMimeType(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginAutodetectMimeType()");
-
-  const char* arg0 = NULL;
-
-  if (!PyArg_ParseTuple(args, "s", &arg0))
-  {
-    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)");
-    return NULL;
-  }
-  const char* s = OrthancPluginAutodetectMimeType(OrthancPlugins::GetGlobalContext(), arg0);
-  
-  if (s == NULL)
-  {
-    Py_INCREF(Py_None);
-    return Py_None;
-  }
-  else
-  {
-    return PyUnicode_FromString(s);
-  }
-}
-
-static PyObject* sdk_OrthancPluginSetMetricsValue(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginSetMetricsValue()");
-
-  const char* arg0 = NULL;
-  float arg1 = 0;
-  long int arg2 = 0;
-
-  if (!PyArg_ParseTuple(args, "sfl", &arg0, &arg1, &arg2))
-  {
-    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (3 arguments expected)");
-    return NULL;
-  }
-  OrthancPluginSetMetricsValue(OrthancPlugins::GetGlobalContext(), arg0, arg1, static_cast<OrthancPluginMetricsType>(arg2));
-  
-
-  Py_INCREF(Py_None);
-  return Py_None;
-}
-
-static PyObject* sdk_OrthancPluginGetTagName(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginGetTagName()");
-
-  unsigned short arg0 = 0;
-  unsigned short arg1 = 0;
-  const char* arg2 = NULL;
-
-  if (!PyArg_ParseTuple(args, "HHs", &arg0, &arg1, &arg2))
-  {
-    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (3 arguments expected)");
-    return NULL;
-  }
-  OrthancPlugins::OrthancString s;
-  s.Assign(OrthancPluginGetTagName(OrthancPlugins::GetGlobalContext(), arg0, arg1, arg2));
-  
-  if (s.GetContent() == NULL)
-  {
-    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
-    return NULL;
-  }
-  else
-  {
-    return PyUnicode_FromString(s.GetContent());
-  }
-}
-
-static PyObject* sdk_OrthancPluginCreateDicomInstance(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginCreateDicomInstance()");
-
-  Py_buffer arg0;
-
-  if (!PyArg_ParseTuple(args, "s*", &arg0))
-  {
-    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)");
-    return NULL;
-  }
-  // This is the case of a constructor
-  OrthancPluginDicomInstance* obj = OrthancPluginCreateDicomInstance(OrthancPlugins::GetGlobalContext(), arg0.buf, arg0.len);
-  PyBuffer_Release(&arg0);
-  if (obj == NULL)
-  {
-    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
-    return NULL;  
-  }
-  else
-  {
-    PyObject *argList = Py_BuildValue("Lb", obj, false /* not borrowed */);
-    PyObject *python = PyObject_CallObject((PyObject *) &sdk_OrthancPluginDicomInstance_Type, argList);
-    Py_DECREF(argList);
-    return python;
-  }
-}
-
-static PyObject* sdk_OrthancPluginTranscodeDicomInstance(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginTranscodeDicomInstance()");
-
-  Py_buffer arg0;
-  const char* arg2 = NULL;
-
-  if (!PyArg_ParseTuple(args, "s*s", &arg0, &arg2))
-  {
-    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (2 arguments expected)");
-    return NULL;
-  }
-  // This is the case of a constructor
-  OrthancPluginDicomInstance* obj = OrthancPluginTranscodeDicomInstance(OrthancPlugins::GetGlobalContext(), arg0.buf, arg0.len, arg2);
-  PyBuffer_Release(&arg0);
-  if (obj == NULL)
-  {
-    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
-    return NULL;  
-  }
-  else
-  {
-    PyObject *argList = Py_BuildValue("Lb", obj, false /* not borrowed */);
-    PyObject *python = PyObject_CallObject((PyObject *) &sdk_OrthancPluginDicomInstance_Type, argList);
-    Py_DECREF(argList);
-    return python;
-  }
-}
-
-static PyObject* sdk_OrthancPluginCreateMemoryBuffer(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginCreateMemoryBuffer()");
-
-  unsigned long arg0 = 0;
-
-  if (!PyArg_ParseTuple(args, "k", &arg0))
-  {
-    PyErr_SetString(PyExc_TypeError, "Bad types for the arguments (1 arguments expected)");
-    return NULL;
-  }
-  OrthancPlugins::MemoryBuffer buffer;
-  OrthancPluginErrorCode code = OrthancPluginCreateMemoryBuffer(OrthancPlugins::GetGlobalContext(), *buffer, arg0);
-  
-  if (code == OrthancPluginErrorCode_Success)
-  {
-    return PyBytes_FromStringAndSize(buffer.GetData(), buffer.GetSize());
-  }
-  else
-  {
-    PythonLock::RaiseException(code);
-    return NULL;  
-  }
-}
-
-static PyObject* sdk_OrthancPluginGenerateRestApiAuthorizationToken(PyObject* module, PyObject* args)
-{
-  PythonLock::LogCall("Calling Python global function: OrthancPluginGenerateRestApiAuthorizationToken()");
-
-
-  OrthancPlugins::OrthancString s;
-  s.Assign(OrthancPluginGenerateRestApiAuthorizationToken(OrthancPlugins::GetGlobalContext()));
-  
-  if (s.GetContent() == NULL)
-  {
-    PythonLock::RaiseException(OrthancPluginErrorCode_InternalError);
-    return NULL;
-  }
-  else
-  {
-    return PyUnicode_FromString(s.GetContent());
-  }
-}
-
 
 static PyMethodDef ORTHANC_SDK_FUNCTIONS[] = 
 {
+  { "AutodetectMimeType", sdk_OrthancPluginAutodetectMimeType, METH_VARARGS,
+    "Generated from C function OrthancPluginAutodetectMimeType()" },
+  { "BufferCompression", sdk_OrthancPluginBufferCompression, METH_VARARGS,
+    "Generated from C function OrthancPluginBufferCompression()" },
+  { "CheckVersion", sdk_OrthancPluginCheckVersion, METH_VARARGS,
+    "Generated from C function OrthancPluginCheckVersion()" },
   { "CheckVersionAdvanced", sdk_OrthancPluginCheckVersionAdvanced, METH_VARARGS,
     "Generated from C function OrthancPluginCheckVersionAdvanced()" },
-  { "CheckVersion", sdk_OrthancPluginCheckVersion, METH_VARARGS,
-    "Generated from C function OrthancPluginCheckVersion()" },
+  { "CompressJpegImage", sdk_OrthancPluginCompressJpegImage, METH_VARARGS,
+    "Generated from C function OrthancPluginCompressJpegImage()" },
+  { "CompressPngImage", sdk_OrthancPluginCompressPngImage, METH_VARARGS,
+    "Generated from C function OrthancPluginCompressPngImage()" },
+  { "ComputeMd5", sdk_OrthancPluginComputeMd5, METH_VARARGS,
+    "Generated from C function OrthancPluginComputeMd5()" },
+  { "ComputeSha1", sdk_OrthancPluginComputeSha1, METH_VARARGS,
+    "Generated from C function OrthancPluginComputeSha1()" },
+  { "CreateDicomInstance", sdk_OrthancPluginCreateDicomInstance, METH_VARARGS,
+    "Generated from C function OrthancPluginCreateDicomInstance()" },
+  { "CreateFindMatcher", sdk_OrthancPluginCreateFindMatcher, METH_VARARGS,
+    "Generated from C function OrthancPluginCreateFindMatcher()" },
+  { "CreateImage", sdk_OrthancPluginCreateImage, METH_VARARGS,
+    "Generated from C function OrthancPluginCreateImage()" },
+  { "CreateMemoryBuffer", sdk_OrthancPluginCreateMemoryBuffer, METH_VARARGS,
+    "Generated from C function OrthancPluginCreateMemoryBuffer()" },
+  { "DecodeDicomImage", sdk_OrthancPluginDecodeDicomImage, METH_VARARGS,
+    "Generated from C function OrthancPluginDecodeDicomImage()" },
+  { "DicomBufferToJson", sdk_OrthancPluginDicomBufferToJson, METH_VARARGS,
+    "Generated from C function OrthancPluginDicomBufferToJson()" },
+  { "DicomInstanceToJson", sdk_OrthancPluginDicomInstanceToJson, METH_VARARGS,
+    "Generated from C function OrthancPluginDicomInstanceToJson()" },
+  { "ExtendOrthancExplorer", sdk_OrthancPluginExtendOrthancExplorer, METH_VARARGS,
+    "Generated from C function OrthancPluginExtendOrthancExplorer()" },
+  { "GenerateRestApiAuthorizationToken", sdk_OrthancPluginGenerateRestApiAuthorizationToken, METH_VARARGS,
+    "Generated from C function OrthancPluginGenerateRestApiAuthorizationToken()" },
+  { "GenerateUuid", sdk_OrthancPluginGenerateUuid, METH_VARARGS,
+    "Generated from C function OrthancPluginGenerateUuid()" },
+  { "GetCommandLineArgument", sdk_OrthancPluginGetCommandLineArgument, METH_VARARGS,
+    "Generated from C function OrthancPluginGetCommandLineArgument()" },
+  { "GetCommandLineArgumentsCount", sdk_OrthancPluginGetCommandLineArgumentsCount, METH_VARARGS,
+    "Generated from C function OrthancPluginGetCommandLineArgumentsCount()" },
+  { "GetConfiguration", sdk_OrthancPluginGetConfiguration, METH_VARARGS,
+    "Generated from C function OrthancPluginGetConfiguration()" },
+  { "GetConfigurationPath", sdk_OrthancPluginGetConfigurationPath, METH_VARARGS,
+    "Generated from C function OrthancPluginGetConfigurationPath()" },
+  { "GetDicomForInstance", sdk_OrthancPluginGetDicomForInstance, METH_VARARGS,
+    "Generated from C function OrthancPluginGetDicomForInstance()" },
+  { "GetErrorDescription", sdk_OrthancPluginGetErrorDescription, METH_VARARGS,
+    "Generated from C function OrthancPluginGetErrorDescription()" },
+  { "GetExpectedDatabaseVersion", sdk_OrthancPluginGetExpectedDatabaseVersion, METH_VARARGS,
+    "Generated from C function OrthancPluginGetExpectedDatabaseVersion()" },
+  { "GetFontName", sdk_OrthancPluginGetFontName, METH_VARARGS,
+    "Generated from C function OrthancPluginGetFontName()" },
+  { "GetFontSize", sdk_OrthancPluginGetFontSize, METH_VARARGS,
+    "Generated from C function OrthancPluginGetFontSize()" },
+  { "GetFontsCount", sdk_OrthancPluginGetFontsCount, METH_VARARGS,
+    "Generated from C function OrthancPluginGetFontsCount()" },
+  { "GetGlobalProperty", sdk_OrthancPluginGetGlobalProperty, METH_VARARGS,
+    "Generated from C function OrthancPluginGetGlobalProperty()" },
+  { "GetOrthancDirectory", sdk_OrthancPluginGetOrthancDirectory, METH_VARARGS,
+    "Generated from C function OrthancPluginGetOrthancDirectory()" },
+  { "GetOrthancPath", sdk_OrthancPluginGetOrthancPath, METH_VARARGS,
+    "Generated from C function OrthancPluginGetOrthancPath()" },
+  { "GetPeers", sdk_OrthancPluginGetPeers, METH_VARARGS,
+    "Generated from C function OrthancPluginGetPeers()" },
+  { "GetTagName", sdk_OrthancPluginGetTagName, METH_VARARGS,
+    "Generated from C function OrthancPluginGetTagName()" },
+  { "HttpDelete", sdk_OrthancPluginHttpDelete, METH_VARARGS,
+    "Generated from C function OrthancPluginHttpDelete()" },
+  { "HttpGet", sdk_OrthancPluginHttpGet, METH_VARARGS,
+    "Generated from C function OrthancPluginHttpGet()" },
+  { "HttpPost", sdk_OrthancPluginHttpPost, METH_VARARGS,
+    "Generated from C function OrthancPluginHttpPost()" },
+  { "HttpPut", sdk_OrthancPluginHttpPut, METH_VARARGS,
+    "Generated from C function OrthancPluginHttpPut()" },
   { "LogError", sdk_OrthancPluginLogError, METH_VARARGS,
     "Generated from C function OrthancPluginLogError()" },
+  { "LogInfo", sdk_OrthancPluginLogInfo, METH_VARARGS,
+    "Generated from C function OrthancPluginLogInfo()" },
   { "LogWarning", sdk_OrthancPluginLogWarning, METH_VARARGS,
     "Generated from C function OrthancPluginLogWarning()" },
-  { "LogInfo", sdk_OrthancPluginLogInfo, METH_VARARGS,
-    "Generated from C function OrthancPluginLogInfo()" },
-  { "GetDicomForInstance", sdk_OrthancPluginGetDicomForInstance, METH_VARARGS,
-    "Generated from C function OrthancPluginGetDicomForInstance()" },
+  { "LookupInstance", sdk_OrthancPluginLookupInstance, METH_VARARGS,
+    "Generated from C function OrthancPluginLookupInstance()" },
+  { "LookupPatient", sdk_OrthancPluginLookupPatient, METH_VARARGS,
+    "Generated from C function OrthancPluginLookupPatient()" },
+  { "LookupSeries", sdk_OrthancPluginLookupSeries, METH_VARARGS,
+    "Generated from C function OrthancPluginLookupSeries()" },
+  { "LookupStudy", sdk_OrthancPluginLookupStudy, METH_VARARGS,
+    "Generated from C function OrthancPluginLookupStudy()" },
+  { "LookupStudyWithAccessionNumber", sdk_OrthancPluginLookupStudyWithAccessionNumber, METH_VARARGS,
+    "Generated from C function OrthancPluginLookupStudyWithAccessionNumber()" },
+  { "ReadFile", sdk_OrthancPluginReadFile, METH_VARARGS,
+    "Generated from C function OrthancPluginReadFile()" },
+  { "RegisterDictionaryTag", sdk_OrthancPluginRegisterDictionaryTag, METH_VARARGS,
+    "Generated from C function OrthancPluginRegisterDictionaryTag()" },
+  { "RegisterErrorCode", sdk_OrthancPluginRegisterErrorCode, METH_VARARGS,
+    "Generated from C function OrthancPluginRegisterErrorCode()" },
+  { "RegisterPrivateDictionaryTag", sdk_OrthancPluginRegisterPrivateDictionaryTag, METH_VARARGS,
+    "Generated from C function OrthancPluginRegisterPrivateDictionaryTag()" },
+  { "RestApiDelete", sdk_OrthancPluginRestApiDelete, METH_VARARGS,
+    "Generated from C function OrthancPluginRestApiDelete()" },
+  { "RestApiDeleteAfterPlugins", sdk_OrthancPluginRestApiDeleteAfterPlugins, METH_VARARGS,
+    "Generated from C function OrthancPluginRestApiDeleteAfterPlugins()" },
   { "RestApiGet", sdk_OrthancPluginRestApiGet, METH_VARARGS,
     "Generated from C function OrthancPluginRestApiGet()" },
   { "RestApiGetAfterPlugins", sdk_OrthancPluginRestApiGetAfterPlugins, METH_VARARGS,
@@ -1557,114 +1647,24 @@
     "Generated from C function OrthancPluginRestApiPost()" },
   { "RestApiPostAfterPlugins", sdk_OrthancPluginRestApiPostAfterPlugins, METH_VARARGS,
     "Generated from C function OrthancPluginRestApiPostAfterPlugins()" },
-  { "RestApiDelete", sdk_OrthancPluginRestApiDelete, METH_VARARGS,
-    "Generated from C function OrthancPluginRestApiDelete()" },
-  { "RestApiDeleteAfterPlugins", sdk_OrthancPluginRestApiDeleteAfterPlugins, METH_VARARGS,
-    "Generated from C function OrthancPluginRestApiDeleteAfterPlugins()" },
   { "RestApiPut", sdk_OrthancPluginRestApiPut, METH_VARARGS,
     "Generated from C function OrthancPluginRestApiPut()" },
   { "RestApiPutAfterPlugins", sdk_OrthancPluginRestApiPutAfterPlugins, METH_VARARGS,
     "Generated from C function OrthancPluginRestApiPutAfterPlugins()" },
-  { "LookupPatient", sdk_OrthancPluginLookupPatient, METH_VARARGS,
-    "Generated from C function OrthancPluginLookupPatient()" },
-  { "LookupStudy", sdk_OrthancPluginLookupStudy, METH_VARARGS,
-    "Generated from C function OrthancPluginLookupStudy()" },
-  { "LookupStudyWithAccessionNumber", sdk_OrthancPluginLookupStudyWithAccessionNumber, METH_VARARGS,
-    "Generated from C function OrthancPluginLookupStudyWithAccessionNumber()" },
-  { "LookupSeries", sdk_OrthancPluginLookupSeries, METH_VARARGS,
-    "Generated from C function OrthancPluginLookupSeries()" },
-  { "LookupInstance", sdk_OrthancPluginLookupInstance, METH_VARARGS,
-    "Generated from C function OrthancPluginLookupInstance()" },
-  { "GetOrthancPath", sdk_OrthancPluginGetOrthancPath, METH_VARARGS,
-    "Generated from C function OrthancPluginGetOrthancPath()" },
-  { "GetOrthancDirectory", sdk_OrthancPluginGetOrthancDirectory, METH_VARARGS,
-    "Generated from C function OrthancPluginGetOrthancDirectory()" },
-  { "GetConfigurationPath", sdk_OrthancPluginGetConfigurationPath, METH_VARARGS,
-    "Generated from C function OrthancPluginGetConfigurationPath()" },
-  { "SetRootUri", sdk_OrthancPluginSetRootUri, METH_VARARGS,
-    "Generated from C function OrthancPluginSetRootUri()" },
   { "SetDescription", sdk_OrthancPluginSetDescription, METH_VARARGS,
     "Generated from C function OrthancPluginSetDescription()" },
-  { "ExtendOrthancExplorer", sdk_OrthancPluginExtendOrthancExplorer, METH_VARARGS,
-    "Generated from C function OrthancPluginExtendOrthancExplorer()" },
-  { "GetGlobalProperty", sdk_OrthancPluginGetGlobalProperty, METH_VARARGS,
-    "Generated from C function OrthancPluginGetGlobalProperty()" },
   { "SetGlobalProperty", sdk_OrthancPluginSetGlobalProperty, METH_VARARGS,
     "Generated from C function OrthancPluginSetGlobalProperty()" },
-  { "GetCommandLineArgumentsCount", sdk_OrthancPluginGetCommandLineArgumentsCount, METH_VARARGS,
-    "Generated from C function OrthancPluginGetCommandLineArgumentsCount()" },
-  { "GetCommandLineArgument", sdk_OrthancPluginGetCommandLineArgument, METH_VARARGS,
-    "Generated from C function OrthancPluginGetCommandLineArgument()" },
-  { "GetExpectedDatabaseVersion", sdk_OrthancPluginGetExpectedDatabaseVersion, METH_VARARGS,
-    "Generated from C function OrthancPluginGetExpectedDatabaseVersion()" },
-  { "GetConfiguration", sdk_OrthancPluginGetConfiguration, METH_VARARGS,
-    "Generated from C function OrthancPluginGetConfiguration()" },
-  { "BufferCompression", sdk_OrthancPluginBufferCompression, METH_VARARGS,
-    "Generated from C function OrthancPluginBufferCompression()" },
-  { "ReadFile", sdk_OrthancPluginReadFile, METH_VARARGS,
-    "Generated from C function OrthancPluginReadFile()" },
-  { "WriteFile", sdk_OrthancPluginWriteFile, METH_VARARGS,
-    "Generated from C function OrthancPluginWriteFile()" },
-  { "GetErrorDescription", sdk_OrthancPluginGetErrorDescription, METH_VARARGS,
-    "Generated from C function OrthancPluginGetErrorDescription()" },
+  { "SetMetricsValue", sdk_OrthancPluginSetMetricsValue, METH_VARARGS,
+    "Generated from C function OrthancPluginSetMetricsValue()" },
+  { "SetRootUri", sdk_OrthancPluginSetRootUri, METH_VARARGS,
+    "Generated from C function OrthancPluginSetRootUri()" },
+  { "TranscodeDicomInstance", sdk_OrthancPluginTranscodeDicomInstance, METH_VARARGS,
+    "Generated from C function OrthancPluginTranscodeDicomInstance()" },
   { "UncompressImage", sdk_OrthancPluginUncompressImage, METH_VARARGS,
     "Generated from C function OrthancPluginUncompressImage()" },
-  { "CompressPngImage", sdk_OrthancPluginCompressPngImage, METH_VARARGS,
-    "Generated from C function OrthancPluginCompressPngImage()" },
-  { "CompressJpegImage", sdk_OrthancPluginCompressJpegImage, METH_VARARGS,
-    "Generated from C function OrthancPluginCompressJpegImage()" },
-  { "HttpGet", sdk_OrthancPluginHttpGet, METH_VARARGS,
-    "Generated from C function OrthancPluginHttpGet()" },
-  { "HttpPost", sdk_OrthancPluginHttpPost, METH_VARARGS,
-    "Generated from C function OrthancPluginHttpPost()" },
-  { "HttpPut", sdk_OrthancPluginHttpPut, METH_VARARGS,
-    "Generated from C function OrthancPluginHttpPut()" },
-  { "HttpDelete", sdk_OrthancPluginHttpDelete, METH_VARARGS,
-    "Generated from C function OrthancPluginHttpDelete()" },
-  { "GetFontsCount", sdk_OrthancPluginGetFontsCount, METH_VARARGS,
-    "Generated from C function OrthancPluginGetFontsCount()" },
-  { "GetFontName", sdk_OrthancPluginGetFontName, METH_VARARGS,
-    "Generated from C function OrthancPluginGetFontName()" },
-  { "GetFontSize", sdk_OrthancPluginGetFontSize, METH_VARARGS,
-    "Generated from C function OrthancPluginGetFontSize()" },
-  { "RegisterErrorCode", sdk_OrthancPluginRegisterErrorCode, METH_VARARGS,
-    "Generated from C function OrthancPluginRegisterErrorCode()" },
-  { "RegisterDictionaryTag", sdk_OrthancPluginRegisterDictionaryTag, METH_VARARGS,
-    "Generated from C function OrthancPluginRegisterDictionaryTag()" },
-  { "RegisterPrivateDictionaryTag", sdk_OrthancPluginRegisterPrivateDictionaryTag, METH_VARARGS,
-    "Generated from C function OrthancPluginRegisterPrivateDictionaryTag()" },
-  { "DicomBufferToJson", sdk_OrthancPluginDicomBufferToJson, METH_VARARGS,
-    "Generated from C function OrthancPluginDicomBufferToJson()" },
-  { "DicomInstanceToJson", sdk_OrthancPluginDicomInstanceToJson, METH_VARARGS,
-    "Generated from C function OrthancPluginDicomInstanceToJson()" },
-  { "CreateImage", sdk_OrthancPluginCreateImage, METH_VARARGS,
-    "Generated from C function OrthancPluginCreateImage()" },
-  { "DecodeDicomImage", sdk_OrthancPluginDecodeDicomImage, METH_VARARGS,
-    "Generated from C function OrthancPluginDecodeDicomImage()" },
-  { "ComputeMd5", sdk_OrthancPluginComputeMd5, METH_VARARGS,
-    "Generated from C function OrthancPluginComputeMd5()" },
-  { "ComputeSha1", sdk_OrthancPluginComputeSha1, METH_VARARGS,
-    "Generated from C function OrthancPluginComputeSha1()" },
-  { "GenerateUuid", sdk_OrthancPluginGenerateUuid, METH_VARARGS,
-    "Generated from C function OrthancPluginGenerateUuid()" },
-  { "CreateFindMatcher", sdk_OrthancPluginCreateFindMatcher, METH_VARARGS,
-    "Generated from C function OrthancPluginCreateFindMatcher()" },
-  { "GetPeers", sdk_OrthancPluginGetPeers, METH_VARARGS,
-    "Generated from C function OrthancPluginGetPeers()" },
-  { "AutodetectMimeType", sdk_OrthancPluginAutodetectMimeType, METH_VARARGS,
-    "Generated from C function OrthancPluginAutodetectMimeType()" },
-  { "SetMetricsValue", sdk_OrthancPluginSetMetricsValue, METH_VARARGS,
-    "Generated from C function OrthancPluginSetMetricsValue()" },
-  { "GetTagName", sdk_OrthancPluginGetTagName, METH_VARARGS,
-    "Generated from C function OrthancPluginGetTagName()" },
-  { "CreateDicomInstance", sdk_OrthancPluginCreateDicomInstance, METH_VARARGS,
-    "Generated from C function OrthancPluginCreateDicomInstance()" },
-  { "TranscodeDicomInstance", sdk_OrthancPluginTranscodeDicomInstance, METH_VARARGS,
-    "Generated from C function OrthancPluginTranscodeDicomInstance()" },
-  { "CreateMemoryBuffer", sdk_OrthancPluginCreateMemoryBuffer, METH_VARARGS,
-    "Generated from C function OrthancPluginCreateMemoryBuffer()" },
-  { "GenerateRestApiAuthorizationToken", sdk_OrthancPluginGenerateRestApiAuthorizationToken, METH_VARARGS,
-    "Generated from C function OrthancPluginGenerateRestApiAuthorizationToken()" },
+  { "WriteFile", sdk_OrthancPluginWriteFile, METH_VARARGS,
+    "Generated from C function OrthancPluginWriteFile()" },
   { NULL, NULL }
 };