Index: base/synchronization/waitable_event_watcher_unittest.cc |
=================================================================== |
--- base/synchronization/waitable_event_watcher_unittest.cc (revision 179992) |
+++ base/synchronization/waitable_event_watcher_unittest.cc (working copy) |
@@ -2,8 +2,6 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "base/bind.h" |
-#include "base/callback.h" |
#include "base/message_loop.h" |
#include "base/synchronization/waitable_event.h" |
#include "base/synchronization/waitable_event_watcher.h" |
@@ -25,15 +23,18 @@ |
const int kNumTestingMessageLoops = arraysize(testing_message_loops); |
-void QuitWhenSignaled(WaitableEvent* event) { |
- MessageLoop::current()->QuitWhenIdle(); |
-} |
+class QuitDelegate : public WaitableEventWatcher::Delegate { |
+ public: |
+ virtual void OnWaitableEventSignaled(WaitableEvent* event) OVERRIDE { |
+ MessageLoop::current()->QuitWhenIdle(); |
+ } |
+}; |
-class DecrementCountContainer { |
+class DecrementCountDelegate : public WaitableEventWatcher::Delegate { |
public: |
- explicit DecrementCountContainer(int* counter) : counter_(counter) { |
+ explicit DecrementCountDelegate(int* counter) : counter_(counter) { |
} |
- void OnWaitableEventSignaled(WaitableEvent* object) { |
+ virtual void OnWaitableEventSignaled(WaitableEvent* object) OVERRIDE { |
--(*counter_); |
} |
private: |
@@ -49,7 +50,8 @@ |
WaitableEventWatcher watcher; |
EXPECT_TRUE(watcher.GetWatchedEvent() == NULL); |
- watcher.StartWatching(&event, Bind(&QuitWhenSignaled)); |
+ QuitDelegate delegate; |
+ watcher.StartWatching(&event, &delegate); |
EXPECT_EQ(&event, watcher.GetWatchedEvent()); |
event.Signal(); |
@@ -67,7 +69,8 @@ |
WaitableEventWatcher watcher; |
- watcher.StartWatching(&event, Bind(&QuitWhenSignaled)); |
+ QuitDelegate delegate; |
+ watcher.StartWatching(&event, &delegate); |
watcher.StopWatching(); |
} |
@@ -81,12 +84,10 @@ |
WaitableEventWatcher watcher; |
int counter = 1; |
- DecrementCountContainer delegate(&counter); |
- WaitableEventWatcher::EventCallback callback = |
- Bind(&DecrementCountContainer::OnWaitableEventSignaled, |
- Unretained(&delegate)); |
- watcher.StartWatching(&event, callback); |
+ DecrementCountDelegate delegate(&counter); |
+ watcher.StartWatching(&event, &delegate); |
+ |
event.Signal(); |
// Let the background thread do its business |
@@ -110,7 +111,8 @@ |
{ |
MessageLoop message_loop(message_loop_type); |
- watcher.StartWatching(&event, Bind(&QuitWhenSignaled)); |
+ QuitDelegate delegate; |
+ watcher.StartWatching(&event, &delegate); |
} |
} |
} |
@@ -125,8 +127,8 @@ |
WaitableEventWatcher watcher; |
WaitableEvent* event = new WaitableEvent(false, false); |
- |
- watcher.StartWatching(event, Bind(&QuitWhenSignaled)); |
+ QuitDelegate delegate; |
+ watcher.StartWatching(event, &delegate); |
delete event; |
} |
} |