comparison Core/RestApi/RestApiHierarchy.h @ 972:2047e6f033bd

refactoring
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 30 Jun 2014 14:08:15 +0200
parents 1a3817d84f39
children 83622b0f544c
comparison
equal deleted inserted replaced
970:1a3817d84f39 972:2047e6f033bd
32 32
33 #pragma once 33 #pragma once
34 34
35 #include "RestApi.h" 35 #include "RestApi.h"
36 36
37 #include "../OrthancException.h"
38
37 #include <list> 39 #include <list>
40 #include <set>
38 41
39 namespace Orthanc 42 namespace Orthanc
40 { 43 {
41 class RestApiHierarchy 44 class RestApiHierarchy
42 { 45 {
43 private: 46 private:
44 struct Handlers 47 class Handlers
45 { 48 {
46 typedef std::list<RestApi::GetHandler> GetHandlers; 49 private:
47 typedef std::list<RestApi::PostHandler> PostHandlers; 50 RestApi::GetHandler getHandler_;
48 typedef std::list<RestApi::PutHandler> PutHandlers; 51 RestApi::PostHandler postHandler_;
49 typedef std::list<RestApi::DeleteHandler> DeleteHandlers; 52 RestApi::PutHandler putHandler_;
53 RestApi::DeleteHandler deleteHandler_;
50 54
51 GetHandlers getHandlers_; 55 public:
52 PostHandlers postHandlers_; 56 Handlers();
53 PutHandlers putHandlers_;
54 DeleteHandlers deleteHandlers_;
55 57
56 bool HasGet() const 58 bool HasHandler(HttpMethod method) const;
57 { 59
58 return getHandlers_.size() > 0; 60 RestApi::GetHandler GetGetHandler() const;
59 } 61
62 RestApi::PutHandler GetPutHandler() const;
63
64 RestApi::PostHandler GetPostHandler() const;
65
66 RestApi::DeleteHandler GetDeleteHandler() const;
60 67
61 void Register(RestApi::GetHandler handler) 68 void Register(RestApi::GetHandler handler)
62 { 69 {
63 getHandlers_.push_back(handler); 70 getHandler_ = handler;
64 } 71 }
65 72
66 void Register(RestApi::PutHandler handler) 73 void Register(RestApi::PutHandler handler)
67 { 74 {
68 putHandlers_.push_back(handler); 75 putHandler_ = handler;
69 } 76 }
70 77
71 void Register(RestApi::PostHandler handler) 78 void Register(RestApi::PostHandler handler)
72 { 79 {
73 postHandlers_.push_back(handler); 80 postHandler_ = handler;
74 } 81 }
75 82
76 void Register(RestApi::DeleteHandler handler) 83 void Register(RestApi::DeleteHandler handler)
77 { 84 {
78 deleteHandlers_.push_back(handler); 85 deleteHandler_ = handler;
79 } 86 }
80 87
81 bool IsEmpty() const; 88 bool IsEmpty() const;
82 }; 89 };
83 90