| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef NET_BASE_TEST_COMPLETION_CALLBACK_H_ | 5 #ifndef NET_BASE_TEST_COMPLETION_CALLBACK_H_ |
| 6 #define NET_BASE_TEST_COMPLETION_CALLBACK_H_ | 6 #define NET_BASE_TEST_COMPLETION_CALLBACK_H_ |
| 7 | 7 |
| 8 #include "base/callback.h" | 8 #include "base/callback.h" |
| 9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
| 10 #include "net/base/completion_callback.h" | 10 #include "net/base/completion_callback.h" |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 78 }; | 78 }; |
| 79 | 79 |
| 80 } // namespace internal | 80 } // namespace internal |
| 81 | 81 |
| 82 class TestClosure | 82 class TestClosure |
| 83 : public internal::TestCompletionCallbackBaseInternal { | 83 : public internal::TestCompletionCallbackBaseInternal { |
| 84 public: | 84 public: |
| 85 using internal::TestCompletionCallbackBaseInternal::WaitForResult; | 85 using internal::TestCompletionCallbackBaseInternal::WaitForResult; |
| 86 | 86 |
| 87 TestClosure(); | 87 TestClosure(); |
| 88 virtual ~TestClosure() override; | 88 ~TestClosure() override; |
| 89 | 89 |
| 90 const base::Closure& closure() const { return closure_; } | 90 const base::Closure& closure() const { return closure_; } |
| 91 | 91 |
| 92 private: | 92 private: |
| 93 const base::Closure closure_; | 93 const base::Closure closure_; |
| 94 | 94 |
| 95 DISALLOW_COPY_AND_ASSIGN(TestClosure); | 95 DISALLOW_COPY_AND_ASSIGN(TestClosure); |
| 96 }; | 96 }; |
| 97 | 97 |
| 98 // Base class overridden by custom implementations of TestCompletionCallback. | 98 // Base class overridden by custom implementations of TestCompletionCallback. |
| 99 typedef internal::TestCompletionCallbackTemplate<int> | 99 typedef internal::TestCompletionCallbackTemplate<int> |
| 100 TestCompletionCallbackBase; | 100 TestCompletionCallbackBase; |
| 101 | 101 |
| 102 typedef internal::TestCompletionCallbackTemplate<int64> | 102 typedef internal::TestCompletionCallbackTemplate<int64> |
| 103 TestInt64CompletionCallbackBase; | 103 TestInt64CompletionCallbackBase; |
| 104 | 104 |
| 105 class TestCompletionCallback : public TestCompletionCallbackBase { | 105 class TestCompletionCallback : public TestCompletionCallbackBase { |
| 106 public: | 106 public: |
| 107 TestCompletionCallback(); | 107 TestCompletionCallback(); |
| 108 virtual ~TestCompletionCallback() override; | 108 ~TestCompletionCallback() override; |
| 109 | 109 |
| 110 const CompletionCallback& callback() const { return callback_; } | 110 const CompletionCallback& callback() const { return callback_; } |
| 111 | 111 |
| 112 private: | 112 private: |
| 113 const CompletionCallback callback_; | 113 const CompletionCallback callback_; |
| 114 | 114 |
| 115 DISALLOW_COPY_AND_ASSIGN(TestCompletionCallback); | 115 DISALLOW_COPY_AND_ASSIGN(TestCompletionCallback); |
| 116 }; | 116 }; |
| 117 | 117 |
| 118 class TestInt64CompletionCallback : public TestInt64CompletionCallbackBase { | 118 class TestInt64CompletionCallback : public TestInt64CompletionCallbackBase { |
| 119 public: | 119 public: |
| 120 TestInt64CompletionCallback(); | 120 TestInt64CompletionCallback(); |
| 121 virtual ~TestInt64CompletionCallback() override; | 121 ~TestInt64CompletionCallback() override; |
| 122 | 122 |
| 123 const Int64CompletionCallback& callback() const { return callback_; } | 123 const Int64CompletionCallback& callback() const { return callback_; } |
| 124 | 124 |
| 125 private: | 125 private: |
| 126 const Int64CompletionCallback callback_; | 126 const Int64CompletionCallback callback_; |
| 127 | 127 |
| 128 DISALLOW_COPY_AND_ASSIGN(TestInt64CompletionCallback); | 128 DISALLOW_COPY_AND_ASSIGN(TestInt64CompletionCallback); |
| 129 }; | 129 }; |
| 130 | 130 |
| 131 // Makes sure that the buffer is not referenced when the callback runs. | 131 // Makes sure that the buffer is not referenced when the callback runs. |
| 132 class ReleaseBufferCompletionCallback: public TestCompletionCallback { | 132 class ReleaseBufferCompletionCallback: public TestCompletionCallback { |
| 133 public: | 133 public: |
| 134 explicit ReleaseBufferCompletionCallback(IOBuffer* buffer); | 134 explicit ReleaseBufferCompletionCallback(IOBuffer* buffer); |
| 135 virtual ~ReleaseBufferCompletionCallback() override; | 135 ~ReleaseBufferCompletionCallback() override; |
| 136 | 136 |
| 137 private: | 137 private: |
| 138 void SetResult(int result) override; | 138 void SetResult(int result) override; |
| 139 | 139 |
| 140 IOBuffer* buffer_; | 140 IOBuffer* buffer_; |
| 141 DISALLOW_COPY_AND_ASSIGN(ReleaseBufferCompletionCallback); | 141 DISALLOW_COPY_AND_ASSIGN(ReleaseBufferCompletionCallback); |
| 142 }; | 142 }; |
| 143 | 143 |
| 144 } // namespace net | 144 } // namespace net |
| 145 | 145 |
| 146 #endif // NET_BASE_TEST_COMPLETION_CALLBACK_H_ | 146 #endif // NET_BASE_TEST_COMPLETION_CALLBACK_H_ |
| OLD | NEW |