Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / sandbox / linux / seccomp-bpf / bpf_tester_compatibility_delegate.h
index 8890f79..93e5f3c 100644 (file)
@@ -5,15 +5,8 @@
 #ifndef SANDBOX_LINUX_SECCOMP_BPF_BPF_TESTER_COMPATIBILITY_DELEGATE_H_
 #define SANDBOX_LINUX_SECCOMP_BPF_BPF_TESTER_COMPATIBILITY_DELEGATE_H_
 
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-
 #include "base/memory/scoped_ptr.h"
-#include "sandbox/linux/seccomp-bpf/sandbox_bpf_compatibility_policy.h"
 #include "sandbox/linux/seccomp-bpf/sandbox_bpf_test_runner.h"
-#include "sandbox/linux/tests/sandbox_test_runner.h"
-#include "sandbox/linux/tests/unit_tests.h"
 
 namespace sandbox {
 
@@ -24,16 +17,13 @@ namespace sandbox {
 // This allows both the policy and the test function to take a pointer to an
 // object of type "Aux" as a parameter. This is used to implement the BPF_TEST
 // macro and should generally not be used directly.
-template <class Aux>
+template <class Policy, class Aux>
 class BPFTesterCompatibilityDelegate : public BPFTesterDelegate {
  public:
-  typedef Aux AuxType;
-  BPFTesterCompatibilityDelegate(
-      void (*test_function)(AuxType*),
-      typename CompatibilityPolicy<AuxType>::SyscallEvaluator policy_function)
-      : aux_(),
-        test_function_(test_function),
-        policy_function_(policy_function) {}
+  typedef void (*TestFunction)(Aux*);
+
+  explicit BPFTesterCompatibilityDelegate(TestFunction test_function)
+      : aux_(), test_function_(test_function) {}
 
   virtual ~BPFTesterCompatibilityDelegate() {}
 
@@ -42,8 +32,7 @@ class BPFTesterCompatibilityDelegate : public BPFTesterDelegate {
     // running the test. In this process, the current object is guaranteed
     // to live forever. So it's ok to pass aux_pointer_for_policy_ to
     // the policy, which could in turn pass it to the kernel via Trap().
-    return scoped_ptr<SandboxBPFPolicy>(
-        new CompatibilityPolicy<AuxType>(policy_function_, &aux_));
+    return scoped_ptr<SandboxBPFPolicy>(new Policy(&aux_));
   }
 
   virtual void RunTestFunction() OVERRIDE {
@@ -54,9 +43,9 @@ class BPFTesterCompatibilityDelegate : public BPFTesterDelegate {
   }
 
  private:
-  AuxType aux_;
-  void (*test_function_)(AuxType*);
-  typename CompatibilityPolicy<AuxType>::SyscallEvaluator policy_function_;
+  Aux aux_;
+  TestFunction test_function_;
+
   DISALLOW_COPY_AND_ASSIGN(BPFTesterCompatibilityDelegate);
 };