Mercurial > hg > orthanc
comparison Core/RestApi/RestApi.h @ 331:5a96dac27959
base class for rest calls made public
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 09 Jan 2013 11:48:51 +0100 |
parents | 78a8eaa5f30b |
children | c51c9ed603e6 |
comparison
equal
deleted
inserted
replaced
330:78a8eaa5f30b | 331:5a96dac27959 |
---|---|
40 | 40 |
41 namespace Orthanc | 41 namespace Orthanc |
42 { | 42 { |
43 class RestApi : public HttpHandler | 43 class RestApi : public HttpHandler |
44 { | 44 { |
45 private: | 45 public: |
46 class SharedCall | 46 class Call |
47 { | 47 { |
48 friend class RestApi; | 48 friend class RestApi; |
49 | 49 |
50 private: | 50 private: |
51 RestApiOutput* output_; | 51 RestApiOutput* output_; |
99 | 99 |
100 virtual bool ParseJsonRequest(Json::Value& result) const = 0; | 100 virtual bool ParseJsonRequest(Json::Value& result) const = 0; |
101 }; | 101 }; |
102 | 102 |
103 | 103 |
104 public: | 104 class GetCall : public Call |
105 class GetCall : public SharedCall | |
106 { | 105 { |
107 friend class RestApi; | 106 friend class RestApi; |
108 | 107 |
109 private: | 108 private: |
110 const HttpHandler::Arguments* getArguments_; | 109 const HttpHandler::Arguments* getArguments_; |
122 } | 121 } |
123 | 122 |
124 virtual bool ParseJsonRequest(Json::Value& result) const; | 123 virtual bool ParseJsonRequest(Json::Value& result) const; |
125 }; | 124 }; |
126 | 125 |
127 class PutCall : public SharedCall | 126 class PutCall : public Call |
128 { | 127 { |
129 friend class RestApi; | 128 friend class RestApi; |
130 | 129 |
131 private: | 130 private: |
132 const std::string* data_; | 131 const std::string* data_; |
141 { | 140 { |
142 return ParseJsonRequestInternal(result, GetPutBody().c_str()); | 141 return ParseJsonRequestInternal(result, GetPutBody().c_str()); |
143 } | 142 } |
144 }; | 143 }; |
145 | 144 |
146 class PostCall : public SharedCall | 145 class PostCall : public Call |
147 { | 146 { |
148 friend class RestApi; | 147 friend class RestApi; |
149 | 148 |
150 private: | 149 private: |
151 const std::string* data_; | 150 const std::string* data_; |
160 { | 159 { |
161 return ParseJsonRequestInternal(result, GetPostBody().c_str()); | 160 return ParseJsonRequestInternal(result, GetPostBody().c_str()); |
162 } | 161 } |
163 }; | 162 }; |
164 | 163 |
165 class DeleteCall : public SharedCall | 164 class DeleteCall : public Call |
166 { | 165 { |
167 public: | 166 public: |
168 virtual bool ParseJsonRequest(Json::Value& result) const | 167 virtual bool ParseJsonRequest(Json::Value& result) const |
169 { | 168 { |
170 result.clear(); | 169 result.clear(); |