Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(16)

Side by Side Diff: media/base/callback.h

Issue 7601002: Revert r95841 due to failing media_unittests on linux_shared bot. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « media/base/buffers.h ('k') | media/base/channel_layout.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 // Some basic utilities for aiding in the management of Tasks and Callbacks. 5 // Some basic utilities for aiding in the management of Tasks and Callbacks.
6 // 6 //
7 // AutoCallbackRunner is akin to scoped_ptr for callbacks. It is useful for 7 // AutoCallbackRunner is akin to scoped_ptr for callbacks. It is useful for
8 // ensuring a callback is executed and delete in the face of multiple return 8 // ensuring a callback is executed and delete in the face of multiple return
9 // points in a function. 9 // points in a function.
10 // 10 //
11 // TaskToCallbackAdapter converts a Task to a Callback0::Type since the two type 11 // TaskToCallbackAdapter converts a Task to a Callback0::Type since the two type
12 // hierarchies are strangely separate. 12 // hierarchies are strangely separate.
13 // 13 //
14 // CleanupCallback wraps another Callback and provides the ability to register 14 // CleanupCallback wraps another Callback and provides the ability to register
15 // objects for deletion as well as cleanup tasks that will be run on the 15 // objects for deletion as well as cleanup tasks that will be run on the
16 // callback's destruction. The deletion and cleanup tasks will be run on 16 // callback's destruction. The deletion and cleanup tasks will be run on
17 // whatever thread the CleanupCallback is destroyed in. 17 // whatever thread the CleanupCallback is destroyed in.
18 18
19 #ifndef MEDIA_BASE_CALLBACK_ 19 #ifndef MEDIA_BASE_CALLBACK_
20 #define MEDIA_BASE_CALLBACK_ 20 #define MEDIA_BASE_CALLBACK_
21 21
22 #include <vector> 22 #include <vector>
23 23
24 #include "base/callback_old.h" 24 #include "base/callback_old.h"
25 #include "base/memory/scoped_ptr.h" 25 #include "base/memory/scoped_ptr.h"
26 #include "base/task.h" 26 #include "base/task.h"
27 #include "media/base/media_export.h"
28 27
29 namespace media { 28 namespace media {
30 29
31 class MEDIA_EXPORT AutoCallbackRunner { 30 class AutoCallbackRunner {
32 public: 31 public:
33 // Takes ownership of the callback. 32 // Takes ownership of the callback.
34 explicit AutoCallbackRunner(Callback0::Type* callback) 33 explicit AutoCallbackRunner(Callback0::Type* callback)
35 : callback_(callback) { 34 : callback_(callback) {
36 } 35 }
37 36
38 ~AutoCallbackRunner(); 37 ~AutoCallbackRunner();
39 38
40 Callback0::Type* release() { return callback_.release(); } 39 Callback0::Type* release() { return callback_.release(); }
41 40
(...skipping 15 matching lines...) Expand all
57 TaskToCallbackAdapter(Task* task); 56 TaskToCallbackAdapter(Task* task);
58 57
59 scoped_ptr<Task> task_; 58 scoped_ptr<Task> task_;
60 59
61 DISALLOW_COPY_AND_ASSIGN(TaskToCallbackAdapter); 60 DISALLOW_COPY_AND_ASSIGN(TaskToCallbackAdapter);
62 }; 61 };
63 62
64 } // namespace media 63 } // namespace media
65 64
66 #endif // MEDIA_BASE_CALLBACK_ 65 #endif // MEDIA_BASE_CALLBACK_
OLDNEW
« no previous file with comments | « media/base/buffers.h ('k') | media/base/channel_layout.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698