Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / net / cookies / cookie_store_test_callbacks.h
index c8308e1..eccdf1b 100644 (file)
@@ -48,20 +48,24 @@ class CookieCallback {
 
 // Callback implementations for the asynchronous CookieStore methods.
 
-class BoolResultCookieCallback : public CookieCallback {
+template <typename T>
+class ResultSavingCookieCallback : public CookieCallback {
  public:
-  BoolResultCookieCallback();
-  explicit BoolResultCookieCallback(base::Thread* run_in_thread);
+  ResultSavingCookieCallback() {
+  }
+  explicit ResultSavingCookieCallback(base::Thread* run_in_thread)
+      : CookieCallback(run_in_thread) {
+  }
 
-  void Run(bool result) {
+  void Run(T result) {
     result_ = result;
     CallbackEpilogue();
   }
 
-  bool result() { return result_; }
+  const T& result() { return result_; }
 
  private:
-  bool result_;
+  T result_;
 };
 
 class StringResultCookieCallback : public CookieCallback {
@@ -80,22 +84,6 @@ class StringResultCookieCallback : public CookieCallback {
   std::string result_;
 };
 
-class IntResultCookieCallback : public CookieCallback {
- public:
-  IntResultCookieCallback();
-  explicit IntResultCookieCallback(base::Thread* run_in_thread);
-
-  void Run(int result) {
-    result_ = result;
-    CallbackEpilogue();
-  }
-
-  int result() { return result_; }
-
- private:
-  int result_;
-};
-
 class NoResultCookieCallback : public CookieCallback {
  public:
   NoResultCookieCallback();