Implement AdminCheck in service's logic layer 55/27555/5
authorLukasz Wojciechowski <l.wojciechow@partner.samsung.com>
Mon, 15 Sep 2014 19:59:31 +0000 (21:59 +0200)
committerLukasz Wojciechowski <l.wojciechow@partner.samsung.com>
Thu, 18 Sep 2014 16:15:17 +0000 (18:15 +0200)
Change-Id: Ia4adbbb8403af6341dc4451bd2440d86a72177d8

src/service/logic/Logic.cpp
src/service/logic/Logic.h

index 2701e86..4ed0106 100644 (file)
@@ -29,6 +29,7 @@
 #include <signal.h>
 
 #include <main/Cynara.h>
 #include <signal.h>
 
 #include <main/Cynara.h>
+#include <request/AdminCheckRequest.h>
 #include <request/CheckRequest.h>
 #include <request/InsertOrUpdateBucketRequest.h>
 #include <request/RemoveBucketRequest.h>
 #include <request/CheckRequest.h>
 #include <request/InsertOrUpdateBucketRequest.h>
 #include <request/RemoveBucketRequest.h>
@@ -61,6 +62,14 @@ void Logic::execute(RequestContextPtr context UNUSED, SignalRequestPtr request)
     }
 }
 
     }
 }
 
+void Logic::execute(RequestContextPtr context, AdminCheckRequestPtr request) {
+    PolicyResult result = m_storage->checkPolicy(request->key(), request->startBucket(),
+                                                 request->recursive());
+
+    context->returnResponse(context, std::make_shared<CheckResponse>(result,
+                            request->sequenceNumber()));
+}
+
 void Logic::execute(RequestContextPtr context, CheckRequestPtr request) {
     PolicyResult result(PredefinedPolicyType::DENY);
     if (check(context, request->key(), result)) {
 void Logic::execute(RequestContextPtr context, CheckRequestPtr request) {
     PolicyResult result(PredefinedPolicyType::DENY);
     if (check(context, request->key(), result)) {
index 4e8a476..5f3f36b 100644 (file)
@@ -50,6 +50,7 @@ public:
         m_socketManager.reset();
     }
 
         m_socketManager.reset();
     }
 
+    virtual void execute(RequestContextPtr context, AdminCheckRequestPtr request);
     virtual void execute(RequestContextPtr context, CheckRequestPtr request);
     virtual void execute(RequestContextPtr context, InsertOrUpdateBucketRequestPtr request);
     virtual void execute(RequestContextPtr context, RemoveBucketRequestPtr request);
     virtual void execute(RequestContextPtr context, CheckRequestPtr request);
     virtual void execute(RequestContextPtr context, InsertOrUpdateBucketRequestPtr request);
     virtual void execute(RequestContextPtr context, RemoveBucketRequestPtr request);