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 }