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

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

Issue 7572040: Enable media.dll / libmedia.so. (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"
27 28
28 namespace media { 29 namespace media {
29 30
30 class AutoCallbackRunner { 31 class MEDIA_EXPORT AutoCallbackRunner {
31 public: 32 public:
32 // Takes ownership of the callback. 33 // Takes ownership of the callback.
33 explicit AutoCallbackRunner(Callback0::Type* callback) 34 explicit AutoCallbackRunner(Callback0::Type* callback)
34 : callback_(callback) { 35 : callback_(callback) {
35 } 36 }
36 37
37 ~AutoCallbackRunner(); 38 ~AutoCallbackRunner();
38 39
39 Callback0::Type* release() { return callback_.release(); } 40 Callback0::Type* release() { return callback_.release(); }
40 41
(...skipping 15 matching lines...) Expand all
56 TaskToCallbackAdapter(Task* task); 57 TaskToCallbackAdapter(Task* task);
57 58
58 scoped_ptr<Task> task_; 59 scoped_ptr<Task> task_;
59 60
60 DISALLOW_COPY_AND_ASSIGN(TaskToCallbackAdapter); 61 DISALLOW_COPY_AND_ASSIGN(TaskToCallbackAdapter);
61 }; 62 };
62 63
63 } // namespace media 64 } // namespace media
64 65
65 #endif // MEDIA_BASE_CALLBACK_ 66 #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