Mercurial > hg > orthanc-stone
comparison Framework/Toolbox/IWebService.h @ 300:b4abaeb783b1 am-callable-and-promise
messaging refactoring almost complete: works fine in native
author | am@osimis.io |
---|---|
date | Tue, 18 Sep 2018 15:23:21 +0200 |
parents | 3897f9f28cfa |
children | 547e1cf7aa7b |
comparison
equal
deleted
inserted
replaced
299:3897f9f28cfa | 300:b4abaeb783b1 |
---|---|
47 const std::string& Uri; | 47 const std::string& Uri; |
48 const void* Answer; | 48 const void* Answer; |
49 size_t AnswerSize; | 49 size_t AnswerSize; |
50 Orthanc::IDynamicObject* Payload; | 50 Orthanc::IDynamicObject* Payload; |
51 NewHttpRequestSuccessMessage(const std::string& uri, | 51 NewHttpRequestSuccessMessage(const std::string& uri, |
52 const void* answer, | 52 const void* answer, |
53 size_t answerSize, | 53 size_t answerSize, |
54 Orthanc::IDynamicObject* payload) | 54 Orthanc::IDynamicObject* payload) |
55 : BaseMessage(), | 55 : BaseMessage(), |
56 Uri(uri), | 56 Uri(uri), |
57 Answer(answer), | 57 Answer(answer), |
58 AnswerSize(answerSize), | 58 AnswerSize(answerSize), |
59 Payload(payload) | 59 Payload(payload) |
63 struct NewHttpRequestErrorMessage: public BaseMessage<MessageType_HttpRequestError> | 63 struct NewHttpRequestErrorMessage: public BaseMessage<MessageType_HttpRequestError> |
64 { | 64 { |
65 const std::string& Uri; | 65 const std::string& Uri; |
66 Orthanc::IDynamicObject* Payload; | 66 Orthanc::IDynamicObject* Payload; |
67 NewHttpRequestErrorMessage(const std::string& uri, | 67 NewHttpRequestErrorMessage(const std::string& uri, |
68 Orthanc::IDynamicObject* payload) | 68 Orthanc::IDynamicObject* payload) |
69 : BaseMessage(), | 69 : BaseMessage(), |
70 Uri(uri), | 70 Uri(uri), |
71 Payload(payload) | 71 Payload(payload) |
72 {} | 72 {} |
73 }; | 73 }; |
107 }; | 107 }; |
108 | 108 |
109 ICallback(MessageBroker& broker) | 109 ICallback(MessageBroker& broker) |
110 : IObserver(broker) | 110 : IObserver(broker) |
111 { | 111 { |
112 // DeclareHandledMessage(MessageType_HttpRequestError); | |
113 // DeclareHandledMessage(MessageType_HttpRequestSuccess); | |
114 } | 112 } |
115 virtual ~ICallback() | 113 virtual ~ICallback() |
116 { | 114 { |
117 } | 115 } |
118 | 116 |
155 | 153 |
156 virtual ~IWebService() | 154 virtual ~IWebService() |
157 { | 155 { |
158 } | 156 } |
159 | 157 |
160 virtual void ScheduleGetRequest(ICallback& callback, | |
161 const std::string& uri, | |
162 const Headers& headers, | |
163 Orthanc::IDynamicObject* payload) = 0; | |
164 | |
165 virtual void GetAsync(const std::string& uri, | 158 virtual void GetAsync(const std::string& uri, |
166 const Headers& headers, | 159 const Headers& headers, |
167 Orthanc::IDynamicObject* payload, | 160 Orthanc::IDynamicObject* payload, |
168 MessageHandler<IWebService::NewHttpRequestSuccessMessage>* successCallback, | 161 MessageHandler<IWebService::NewHttpRequestSuccessMessage>* successCallback, |
169 MessageHandler<IWebService::NewHttpRequestErrorMessage>* failureCallback) = 0; | 162 MessageHandler<IWebService::NewHttpRequestErrorMessage>* failureCallback) = 0; |
170 | 163 |
164 virtual void PostAsync(const std::string& uri, | |
165 const Headers& headers, | |
166 const std::string& body, | |
167 Orthanc::IDynamicObject* payload, | |
168 MessageHandler<IWebService::NewHttpRequestSuccessMessage>* successCallback, | |
169 MessageHandler<IWebService::NewHttpRequestErrorMessage>* failureCallback) = 0; | |
171 | 170 |
172 virtual void SchedulePostRequest(ICallback& callback, | |
173 const std::string& uri, | |
174 const Headers& headers, | |
175 const std::string& body, | |
176 Orthanc::IDynamicObject* payload) = 0; | |
177 }; | 171 }; |
178 } | 172 } |