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

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

Issue 310383002: [SyncFS] Introduce CallbackTracker to handle callback abortion (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 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
OLDNEW
(Empty)
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.
7 // Use of this source code is governed by a BSD-style license that can be
8 // found in the LICENSE file.
9
10 #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_
12
13 #include "base/callback_internal.h"
14 #include "base/memory/scoped_ptr.h"
15 #include "base/memory/weak_ptr.h"
16 #include "chrome/browser/sync_file_system/drive_backend/callback_tracker.h"
17
18 namespace sync_file_system {
19 namespace drive_backend {
20 namespace internal {
21
22 class AbortHelper;
23
24 template <typename>
25 struct InvokeAndInvalidateHelper;
26
27 template <>
28 struct InvokeAndInvalidateHelper<void()> {
29 static void Run(const base::WeakPtr<AbortHelper>& abort_helper,
30 const base::Callback<void()>& callback) {
31 scoped_ptr<AbortHelper> deleter = AbortHelper::TakeOwnership(abort_helper);
32 if (deleter) {
33 callback.Run();
34 }
35 }
36 };
37
38 template <typename A1>
39 struct InvokeAndInvalidateHelper<void(A1)> {
40 static void Run(const base::WeakPtr<AbortHelper>& abort_helper,
41 const base::Callback<void(A1)>& callback, A1 a1) {
42 scoped_ptr<AbortHelper> deleter = AbortHelper::TakeOwnership(abort_helper);
43 if (deleter) {
44 callback.Run(base::internal::CallbackForward(a1));
45 }
46 }
47 };
48
49 template <typename A1, typename A2>
50 struct InvokeAndInvalidateHelper<void(A1, A2)> {
51 static void Run(const base::WeakPtr<AbortHelper>& abort_helper,
52 const base::Callback<void(A1, A2)>& callback, A1 a1, A2 a2) {
53 scoped_ptr<AbortHelper> deleter = AbortHelper::TakeOwnership(abort_helper);
54 if (deleter) {
55 callback.Run(base::internal::CallbackForward(a1),
56 base::internal::CallbackForward(a2));
57 }
58 }
59 };
60
61 template <typename A1, typename A2, typename A3>
62 struct InvokeAndInvalidateHelper<void(A1, A2, A3)> {
63 static void Run(const base::WeakPtr<AbortHelper>& abort_helper,
64 const base::Callback<void(A1, A2, A3)>& callback, A1 a1,
65 A2 a2, A3 a3) {
66 scoped_ptr<AbortHelper> deleter = AbortHelper::TakeOwnership(abort_helper);
67 if (deleter) {
68 callback.Run(base::internal::CallbackForward(a1),
69 base::internal::CallbackForward(a2),
70 base::internal::CallbackForward(a3));
71 }
72 }
73 };
74
75 template <typename A1, typename A2, typename A3, typename A4>
76 struct InvokeAndInvalidateHelper<void(A1, A2, A3, A4)> {
77 static void Run(const base::WeakPtr<AbortHelper>& abort_helper,
78 const base::Callback<void(A1, A2, A3, A4)>& callback, A1 a1,
79 A2 a2, A3 a3, A4 a4) {
80 scoped_ptr<AbortHelper> deleter = AbortHelper::TakeOwnership(abort_helper);
81 if (deleter) {
82 callback.Run(base::internal::CallbackForward(a1),
83 base::internal::CallbackForward(a2),
84 base::internal::CallbackForward(a3),
85 base::internal::CallbackForward(a4));
86 }
87 }
88 };
89
90 template <typename A1, typename A2, typename A3, typename A4, typename A5>
91 struct InvokeAndInvalidateHelper<void(A1, A2, A3, A4, A5)> {
92 static void Run(const base::WeakPtr<AbortHelper>& abort_helper,
93 const base::Callback<void(A1, A2, A3, A4, A5)>& callback,
94 A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) {
95 scoped_ptr<AbortHelper> deleter = AbortHelper::TakeOwnership(abort_helper);
96 if (deleter) {
97 callback.Run(base::internal::CallbackForward(a1),
98 base::internal::CallbackForward(a2),
99 base::internal::CallbackForward(a3),
100 base::internal::CallbackForward(a4),
101 base::internal::CallbackForward(a5));
102 }
103 }
104 };
105
106 template <typename A1, typename A2, typename A3, typename A4, typename A5,
107 typename A6>
108 struct InvokeAndInvalidateHelper<void(A1, A2, A3, A4, A5, A6)> {
109 static void Run(const base::WeakPtr<AbortHelper>& abort_helper,
110 const base::Callback<void(A1, A2, A3, A4, A5, A6)>& callback,
111 A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) {
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 base::internal::CallbackForward(a6));
120 }
121 }
122 };
123
124 template <typename A1, typename A2, typename A3, typename A4, typename A5,
125 typename A6, typename A7>
126 struct InvokeAndInvalidateHelper<void(A1, A2, A3, A4, A5, A6, A7)> {
127 static void Run(const base::WeakPtr<AbortHelper>& abort_helper,
128 const base::Callback<void(A1, A2, A3, A4, A5, A6,
129 A7)>& callback, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6,
130 A7 a7) {
131 scoped_ptr<AbortHelper> deleter = AbortHelper::TakeOwnership(abort_helper);
132 if (deleter) {
133 callback.Run(base::internal::CallbackForward(a1),
134 base::internal::CallbackForward(a2),
135 base::internal::CallbackForward(a3),
136 base::internal::CallbackForward(a4),
137 base::internal::CallbackForward(a5),
138 base::internal::CallbackForward(a6),
139 base::internal::CallbackForward(a7));
140 }
141 }
142 };
143
144 } // namespace internal
145 } // namespace drive_backend
146 } // namespace sync_file_system
147
148 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_CALLBACK_TRACKER_INTERN AL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698