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

Side by Side Diff: google_apis/drive/task_util.h

Issue 1873663002: Convert //google_apis from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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
OLDNEW
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 GOOGLE_APIS_DRIVE_TASK_UTIL_H_ 5 #ifndef GOOGLE_APIS_DRIVE_TASK_UTIL_H_
6 #define GOOGLE_APIS_DRIVE_TASK_UTIL_H_ 6 #define GOOGLE_APIS_DRIVE_TASK_UTIL_H_
7 7
8 #include <memory>
9
8 #include "base/bind.h" 10 #include "base/bind.h"
9 #include "base/memory/scoped_ptr.h"
10 #include "base/thread_task_runner_handle.h" 11 #include "base/thread_task_runner_handle.h"
11 12
12 namespace google_apis { 13 namespace google_apis {
13 14
14 // Runs the task with the task runner. 15 // Runs the task with the task runner.
15 void RunTaskWithTaskRunner(scoped_refptr<base::TaskRunner> task_runner, 16 void RunTaskWithTaskRunner(scoped_refptr<base::TaskRunner> task_runner,
16 const base::Closure& task); 17 const base::Closure& task);
17 18
18 namespace internal { 19 namespace internal {
19 20
(...skipping 26 matching lines...) Expand all
46 struct ComposedCallback<void(T1, T2)> { 47 struct ComposedCallback<void(T1, T2)> {
47 static void Run( 48 static void Run(
48 const base::Callback<void(const base::Closure&)>& runner, 49 const base::Callback<void(const base::Closure&)>& runner,
49 const base::Callback<void(T1, T2)>& callback, 50 const base::Callback<void(T1, T2)>& callback,
50 T1 arg1, T2 arg2) { 51 T1 arg1, T2 arg2) {
51 runner.Run(base::Bind(callback, arg1, arg2)); 52 runner.Run(base::Bind(callback, arg1, arg2));
52 } 53 }
53 }; 54 };
54 55
55 // ComposedCallback with two arguments, and the last one is scoped_ptr. 56 // ComposedCallback with two arguments, and the last one is scoped_ptr.
56 template<typename T1, typename T2, typename D2> 57 template <typename T1, typename T2, typename D2>
57 struct ComposedCallback<void(T1, scoped_ptr<T2, D2>)> { 58 struct ComposedCallback<void(T1, std::unique_ptr<T2, D2>)> {
58 static void Run( 59 static void Run(
59 const base::Callback<void(const base::Closure&)>& runner, 60 const base::Callback<void(const base::Closure&)>& runner,
60 const base::Callback<void(T1, scoped_ptr<T2, D2>)>& callback, 61 const base::Callback<void(T1, std::unique_ptr<T2, D2>)>& callback,
61 T1 arg1, scoped_ptr<T2, D2> arg2) { 62 T1 arg1,
63 std::unique_ptr<T2, D2> arg2) {
62 runner.Run(base::Bind(callback, arg1, base::Passed(&arg2))); 64 runner.Run(base::Bind(callback, arg1, base::Passed(&arg2)));
63 } 65 }
64 }; 66 };
65 67
66 // ComposedCallback with three arguments. 68 // ComposedCallback with three arguments.
67 template<typename T1, typename T2, typename T3> 69 template<typename T1, typename T2, typename T3>
68 struct ComposedCallback<void(T1, T2, T3)> { 70 struct ComposedCallback<void(T1, T2, T3)> {
69 static void Run( 71 static void Run(
70 const base::Callback<void(const base::Closure&)>& runner, 72 const base::Callback<void(const base::Closure&)>& runner,
71 const base::Callback<void(T1, T2, T3)>& callback, 73 const base::Callback<void(T1, T2, T3)>& callback,
72 T1 arg1, T2 arg2, T3 arg3) { 74 T1 arg1, T2 arg2, T3 arg3) {
73 runner.Run(base::Bind(callback, arg1, arg2, arg3)); 75 runner.Run(base::Bind(callback, arg1, arg2, arg3));
74 } 76 }
75 }; 77 };
76 78
77 // ComposedCallback with three arguments, and the last one is scoped_ptr. 79 // ComposedCallback with three arguments, and the last one is scoped_ptr.
78 template<typename T1, typename T2, typename T3, typename D3> 80 template <typename T1, typename T2, typename T3, typename D3>
79 struct ComposedCallback<void(T1, T2, scoped_ptr<T3, D3>)> { 81 struct ComposedCallback<void(T1, T2, std::unique_ptr<T3, D3>)> {
80 static void Run( 82 static void Run(
81 const base::Callback<void(const base::Closure&)>& runner, 83 const base::Callback<void(const base::Closure&)>& runner,
82 const base::Callback<void(T1, T2, scoped_ptr<T3, D3>)>& callback, 84 const base::Callback<void(T1, T2, std::unique_ptr<T3, D3>)>& callback,
83 T1 arg1, T2 arg2, scoped_ptr<T3, D3> arg3) { 85 T1 arg1,
86 T2 arg2,
87 std::unique_ptr<T3, D3> arg3) {
84 runner.Run(base::Bind(callback, arg1, arg2, base::Passed(&arg3))); 88 runner.Run(base::Bind(callback, arg1, arg2, base::Passed(&arg3)));
85 } 89 }
86 }; 90 };
87 91
88 // ComposedCallback with four arguments. 92 // ComposedCallback with four arguments.
89 template<typename T1, typename T2, typename T3, typename T4> 93 template<typename T1, typename T2, typename T3, typename T4>
90 struct ComposedCallback<void(T1, T2, T3, T4)> { 94 struct ComposedCallback<void(T1, T2, T3, T4)> {
91 static void Run( 95 static void Run(
92 const base::Callback<void(const base::Closure&)>& runner, 96 const base::Callback<void(const base::Closure&)>& runner,
93 const base::Callback<void(T1, T2, T3, T4)>& callback, 97 const base::Callback<void(T1, T2, T3, T4)>& callback,
(...skipping 23 matching lines...) Expand all
117 template<typename CallbackType> 121 template<typename CallbackType>
118 CallbackType CreateRelayCallback(const CallbackType& callback) { 122 CallbackType CreateRelayCallback(const CallbackType& callback) {
119 return CreateComposedCallback( 123 return CreateComposedCallback(
120 base::Bind(&RunTaskWithTaskRunner, base::ThreadTaskRunnerHandle::Get()), 124 base::Bind(&RunTaskWithTaskRunner, base::ThreadTaskRunnerHandle::Get()),
121 callback); 125 callback);
122 } 126 }
123 127
124 } // namespace google_apis 128 } // namespace google_apis
125 129
126 #endif // GOOGLE_APIS_DRIVE_TASK_UTIL_H_ 130 #endif // GOOGLE_APIS_DRIVE_TASK_UTIL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698