Mercurial > hg > orthanc
comparison Plugins/OrthancCPlugin/OrthancCPlugin.h @ 896:c4053ac5db04 plugins
better plugni api
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 17 Jun 2014 09:57:02 +0200 |
parents | 690aeb4cb899 |
children | bafc9d592632 |
comparison
equal
deleted
inserted
replaced
895:7e8cde5905fd | 896:c4053ac5db04 |
---|---|
53 #ifdef __cplusplus | 53 #ifdef __cplusplus |
54 extern "C" | 54 extern "C" |
55 { | 55 { |
56 #endif | 56 #endif |
57 | 57 |
58 typedef struct OrthancRestOutput_t OrthancRestOutput; | 58 typedef struct OrthancPluginRestOutput_t OrthancPluginRestOutput; |
59 | 59 |
60 typedef enum | 60 typedef enum |
61 { | 61 { |
62 OrthancHttpMethod_Get = 1, | 62 OrthancPluginHttpMethod_Get = 1, |
63 OrthancHttpMethod_Post = 2, | 63 OrthancPluginHttpMethod_Post = 2, |
64 OrthancHttpMethod_Put = 3, | 64 OrthancPluginHttpMethod_Put = 3, |
65 OrthancHttpMethod_Delete = 4 | 65 OrthancPluginHttpMethod_Delete = 4 |
66 } OrthancHttpMethod; | 66 } OrthancPluginHttpMethod; |
67 | |
68 typedef struct OrthancRestUrl_t | |
69 { | |
70 const char* path; | |
71 const char* const* components; | |
72 uint32_t componentsSize; | |
73 const char* const* parameters; | |
74 uint32_t parametersSize; | |
75 } OrthancRestUrl; | |
76 | |
77 | 67 |
78 typedef int32_t (*OrthancPluginService) (const char* serviceName, | 68 typedef int32_t (*OrthancPluginService) (const char* serviceName, |
79 const void* serviceParameters); | 69 const void* serviceParameters); |
80 | 70 |
81 typedef int32_t (*OrthancRestCallback) (OrthancRestOutput* output, | 71 typedef int32_t (*OrthancPluginRestCallback) (OrthancPluginRestOutput* output, |
82 OrthancHttpMethod method, | 72 OrthancPluginHttpMethod method, |
83 const OrthancRestUrl* url, | 73 const char* url, |
84 const char* body, | 74 const char* body, |
85 uint32_t bodySize); | 75 uint32_t bodySize); |
86 | 76 |
87 typedef struct OrthancPluginContext_t | 77 typedef struct OrthancPluginContext_t |
88 { | 78 { |
89 void* pimpl; | 79 void* pimpl; |
90 | 80 |
96 void (*LogWarning) (const char* str); | 86 void (*LogWarning) (const char* str); |
97 void (*LogInfo) (const char* str); | 87 void (*LogInfo) (const char* str); |
98 | 88 |
99 /* REST API */ | 89 /* REST API */ |
100 void (*RegisterRestCallback) (const struct OrthancPluginContext_t* context, | 90 void (*RegisterRestCallback) (const struct OrthancPluginContext_t* context, |
101 const char* path, | 91 const char* pathRegularExpression, |
102 OrthancRestCallback callback); | 92 OrthancPluginRestCallback callback); |
103 | 93 |
104 void (*AnswerBuffer) (OrthancRestOutput* output, | 94 void (*AnswerBuffer) (OrthancPluginRestOutput* output, |
105 const char* answer, | 95 const char* answer, |
106 uint32_t answerSize, | 96 uint32_t answerSize, |
107 const char* mimeType); | 97 const char* mimeType); |
108 } OrthancPluginContext; | 98 } OrthancPluginContext; |
109 | 99 |
114 - void OrthancPluginFinalize(); | 104 - void OrthancPluginFinalize(); |
115 - const char* OrthancPluginGetName(); | 105 - const char* OrthancPluginGetName(); |
116 - const char* OrthancPluginGetVersion(); | 106 - const char* OrthancPluginGetVersion(); |
117 | 107 |
118 nm -C -D --defined-only libPluginTest.so | 108 nm -C -D --defined-only libPluginTest.so |
119 **/ | 109 **/ |
120 | 110 |
121 #ifdef __cplusplus | 111 #ifdef __cplusplus |
122 } | 112 } |
123 #endif | 113 #endif |