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