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

Side by Side Diff: chrome/browser/sync_file_system/drive_backend/callback_tracker_internal.h

Issue 612693002: [SyncFS] Use variadic template in callback_tracker_internal.h (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@callback_vararg
Patch Set: Created 6 years, 2 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
« no previous file with comments | « no previous file | chrome/browser/sync_file_system/drive_backend/callback_tracker_internal.h.pump » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // This file was GENERATED by command:
2 // pump.py callback_tracker_internal.h.pump
3 // DO NOT EDIT BY HAND!!!
4
5
6 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
7 // 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
8 // found in the LICENSE file. 3 // found in the LICENSE file.
9 4
10 #ifndef CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_CALLBACK_TRACKER_INTERNAL_ H_ 5 #ifndef CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_CALLBACK_TRACKER_INTERNAL_ H_
11 #define CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_CALLBACK_TRACKER_INTERNAL_ H_ 6 #define CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_CALLBACK_TRACKER_INTERNAL_ H_
12 7
13 #include "base/callback.h" 8 #include "base/callback.h"
14 #include "base/callback_internal.h" 9 #include "base/callback_internal.h"
15 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 18 matching lines...) Expand all
34 private: 29 private:
35 CallbackTracker* tracker_; // Not owned. 30 CallbackTracker* tracker_; // Not owned.
36 base::WeakPtrFactory<AbortHelper> weak_ptr_factory_; 31 base::WeakPtrFactory<AbortHelper> weak_ptr_factory_;
37 32
38 DISALLOW_COPY_AND_ASSIGN(AbortHelper); 33 DISALLOW_COPY_AND_ASSIGN(AbortHelper);
39 }; 34 };
40 35
41 template <typename> 36 template <typename>
42 struct InvokeAndInvalidateHelper; 37 struct InvokeAndInvalidateHelper;
43 38
44 template <> 39 template <typename... Args>
45 struct InvokeAndInvalidateHelper<void()> { 40 struct InvokeAndInvalidateHelper<void(Args...)> {
46 static void Run(const base::WeakPtr<AbortHelper>& abort_helper, 41 static void Run(const base::WeakPtr<AbortHelper>& abort_helper,
47 const base::Callback<void()>& callback) { 42 const base::Callback<void(Args...)>& callback,
43 Args... args) {
48 scoped_ptr<AbortHelper> deleter = AbortHelper::TakeOwnership(abort_helper); 44 scoped_ptr<AbortHelper> deleter = AbortHelper::TakeOwnership(abort_helper);
49 if (deleter) { 45 if (deleter) {
50 callback.Run(); 46 callback.Run(base::internal::CallbackForward(args)...);
51 } 47 }
52 } 48 }
53 }; 49 };
54
55 template <typename A1>
56 struct InvokeAndInvalidateHelper<void(A1)> {
57 static void Run(const base::WeakPtr<AbortHelper>& abort_helper,
58 const base::Callback<void(A1)>& callback, A1 a1) {
59 scoped_ptr<AbortHelper> deleter = AbortHelper::TakeOwnership(abort_helper);
60 if (deleter) {
61 callback.Run(base::internal::CallbackForward(a1));
62 }
63 }
64 };
65
66 template <typename A1, typename A2>
67 struct InvokeAndInvalidateHelper<void(A1, A2)> {
68 static void Run(const base::WeakPtr<AbortHelper>& abort_helper,
69 const base::Callback<void(A1, A2)>& callback, A1 a1, A2 a2) {
70 scoped_ptr<AbortHelper> deleter = AbortHelper::TakeOwnership(abort_helper);
71 if (deleter) {
72 callback.Run(base::internal::CallbackForward(a1),
73 base::internal::CallbackForward(a2));
74 }
75 }
76 };
77
78 template <typename A1, typename A2, typename A3>
79 struct InvokeAndInvalidateHelper<void(A1, A2, A3)> {
80 static void Run(const base::WeakPtr<AbortHelper>& abort_helper,
81 const base::Callback<void(A1, A2, A3)>& callback, A1 a1,
82 A2 a2, A3 a3) {
83 scoped_ptr<AbortHelper> deleter = AbortHelper::TakeOwnership(abort_helper);
84 if (deleter) {
85 callback.Run(base::internal::CallbackForward(a1),
86 base::internal::CallbackForward(a2),
87 base::internal::CallbackForward(a3));
88 }
89 }
90 };
91
92 template <typename A1, typename A2, typename A3, typename A4>
93 struct InvokeAndInvalidateHelper<void(A1, A2, A3, A4)> {
94 static void Run(const base::WeakPtr<AbortHelper>& abort_helper,
95 const base::Callback<void(A1, A2, A3, A4)>& callback, A1 a1,
96 A2 a2, A3 a3, A4 a4) {
97 scoped_ptr<AbortHelper> deleter = AbortHelper::TakeOwnership(abort_helper);
98 if (deleter) {
99 callback.Run(base::internal::CallbackForward(a1),
100 base::internal::CallbackForward(a2),
101 base::internal::CallbackForward(a3),
102 base::internal::CallbackForward(a4));
103 }
104 }
105 };
106
107 template <typename A1, typename A2, typename A3, typename A4, typename A5>
108 struct InvokeAndInvalidateHelper<void(A1, A2, A3, A4, A5)> {
109 static void Run(const base::WeakPtr<AbortHelper>& abort_helper,
110 const base::Callback<void(A1, A2, A3, A4, A5)>& callback,
111 A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) {
112 scoped_ptr<AbortHelper> deleter = AbortHelper::TakeOwnership(abort_helper);
113 if (deleter) {
114 callback.Run(base::internal::CallbackForward(a1),
115 base::internal::CallbackForward(a2),
116 base::internal::CallbackForward(a3),
117 base::internal::CallbackForward(a4),
118 base::internal::CallbackForward(a5));
119 }
120 }
121 };
122
123 template <typename A1, typename A2, typename A3, typename A4, typename A5,
124 typename A6>
125 struct InvokeAndInvalidateHelper<void(A1, A2, A3, A4, A5, A6)> {
126 static void Run(const base::WeakPtr<AbortHelper>& abort_helper,
127 const base::Callback<void(A1, A2, A3, A4, A5, A6)>& callback,
128 A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) {
129 scoped_ptr<AbortHelper> deleter = AbortHelper::TakeOwnership(abort_helper);
130 if (deleter) {
131 callback.Run(base::internal::CallbackForward(a1),
132 base::internal::CallbackForward(a2),
133 base::internal::CallbackForward(a3),
134 base::internal::CallbackForward(a4),
135 base::internal::CallbackForward(a5),
136 base::internal::CallbackForward(a6));
137 }
138 }
139 };
140
141 template <typename A1, typename A2, typename A3, typename A4, typename A5,
142 typename A6, typename A7>
143 struct InvokeAndInvalidateHelper<void(A1, A2, A3, A4, A5, A6, A7)> {
144 static void Run(const base::WeakPtr<AbortHelper>& abort_helper,
145 const base::Callback<void(A1, A2, A3, A4, A5, A6,
146 A7)>& callback, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6,
147 A7 a7) {
148 scoped_ptr<AbortHelper> deleter = AbortHelper::TakeOwnership(abort_helper);
149 if (deleter) {
150 callback.Run(base::internal::CallbackForward(a1),
151 base::internal::CallbackForward(a2),
152 base::internal::CallbackForward(a3),
153 base::internal::CallbackForward(a4),
154 base::internal::CallbackForward(a5),
155 base::internal::CallbackForward(a6),
156 base::internal::CallbackForward(a7));
157 }
158 }
159 };
160 50
161 } // namespace internal 51 } // namespace internal
162 } // namespace drive_backend 52 } // namespace drive_backend
163 } // namespace sync_file_system 53 } // namespace sync_file_system
164 54
165 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_CALLBACK_TRACKER_INTERN AL_H_ 55 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_CALLBACK_TRACKER_INTERN AL_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/sync_file_system/drive_backend/callback_tracker_internal.h.pump » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698