comparison Framework/Toolbox/BaseWebService.h @ 726:4f2416d519b4

moving layers, widgets and loaders to Deprecated namespace
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 21 May 2019 11:43:25 +0200
parents 2a8ac2d426db
children
comparison
equal deleted inserted replaced
714:d2c0e347ddc2 726:4f2416d519b4
24 #include "IWebService.h" 24 #include "IWebService.h"
25 25
26 #include <string> 26 #include <string>
27 #include <map> 27 #include <map>
28 28
29 namespace OrthancStone 29 namespace Deprecated
30 { 30 {
31 // This is an intermediate of IWebService that implements some caching on 31 // This is an intermediate of IWebService that implements some caching on
32 // the HTTP GET requests 32 // the HTTP GET requests
33 class BaseWebService : public IWebService, public IObserver 33 class BaseWebService : public IWebService, public OrthancStone::IObserver
34 { 34 {
35 public: 35 public:
36 class CachedHttpRequestSuccessMessage 36 class CachedHttpRequestSuccessMessage
37 { 37 {
38 protected: 38 protected:
83 bool cacheEnabled_; 83 bool cacheEnabled_;
84 std::map<std::string, boost::shared_ptr<CachedHttpRequestSuccessMessage> > cache_; // TODO: this is currently an infinite cache ! 84 std::map<std::string, boost::shared_ptr<CachedHttpRequestSuccessMessage> > cache_; // TODO: this is currently an infinite cache !
85 85
86 public: 86 public:
87 87
88 BaseWebService(MessageBroker& broker) : 88 BaseWebService(OrthancStone::MessageBroker& broker) :
89 IWebService(broker), 89 IWebService(broker),
90 IObserver(broker), 90 IObserver(broker),
91 cacheEnabled_(true) 91 cacheEnabled_(true)
92 { 92 {
93 } 93 }
102 } 102 }
103 103
104 virtual void GetAsync(const std::string& uri, 104 virtual void GetAsync(const std::string& uri,
105 const HttpHeaders& headers, 105 const HttpHeaders& headers,
106 Orthanc::IDynamicObject* payload /* takes ownership */, 106 Orthanc::IDynamicObject* payload /* takes ownership */,
107 MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallback, 107 OrthancStone::MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallback,
108 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback = NULL, 108 OrthancStone::MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback = NULL,
109 unsigned int timeoutInSeconds = 60); 109 unsigned int timeoutInSeconds = 60);
110 110
111 protected: 111 protected:
112 virtual void GetAsyncInternal(const std::string& uri, 112 virtual void GetAsyncInternal(const std::string& uri,
113 const HttpHeaders& headers, 113 const HttpHeaders& headers,
114 Orthanc::IDynamicObject* payload /* takes ownership */, 114 Orthanc::IDynamicObject* payload /* takes ownership */,
115 MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallback, 115 OrthancStone::MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallback,
116 MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback = NULL, 116 OrthancStone::MessageHandler<IWebService::HttpRequestErrorMessage>* failureCallback = NULL,
117 unsigned int timeoutInSeconds = 60) = 0; 117 unsigned int timeoutInSeconds = 60) = 0;
118 118
119 virtual void NotifyHttpSuccessLater(boost::shared_ptr<BaseWebService::CachedHttpRequestSuccessMessage> cachedHttpMessage, 119 virtual void NotifyHttpSuccessLater(boost::shared_ptr<BaseWebService::CachedHttpRequestSuccessMessage> cachedHttpMessage,
120 Orthanc::IDynamicObject* payload, // takes ownership 120 Orthanc::IDynamicObject* payload, // takes ownership
121 MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallback) = 0; 121 OrthancStone::MessageHandler<IWebService::HttpRequestSuccessMessage>* successCallback) = 0;
122 122
123 private: 123 private:
124 void NotifyHttpSuccess(const IWebService::HttpRequestSuccessMessage& message); 124 void NotifyHttpSuccess(const IWebService::HttpRequestSuccessMessage& message);
125 125
126 void NotifyHttpError(const IWebService::HttpRequestErrorMessage& message); 126 void NotifyHttpError(const IWebService::HttpRequestErrorMessage& message);