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

Side by Side Diff: chrome/browser/chromeos/file_system_provider/request_manager.h

Issue 1870793002: Convert //chrome/browser/chromeos from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_REQUEST_MANAGER_H_ 5 #ifndef CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_REQUEST_MANAGER_H_
6 #define CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_REQUEST_MANAGER_H_ 6 #define CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_REQUEST_MANAGER_H_
7 7
8 #include <map> 8 #include <map>
9 #include <memory>
9 #include <string> 10 #include <string>
10 #include <vector> 11 #include <vector>
11 12
12 #include "base/callback.h" 13 #include "base/callback.h"
13 #include "base/files/file.h" 14 #include "base/files/file.h"
14 #include "base/macros.h" 15 #include "base/macros.h"
15 #include "base/memory/scoped_ptr.h"
16 #include "base/memory/weak_ptr.h" 16 #include "base/memory/weak_ptr.h"
17 #include "base/observer_list.h" 17 #include "base/observer_list.h"
18 #include "base/time/time.h" 18 #include "base/time/time.h"
19 #include "base/timer/timer.h" 19 #include "base/timer/timer.h"
20 #include "chrome/browser/chromeos/file_system_provider/notification_manager_inte rface.h" 20 #include "chrome/browser/chromeos/file_system_provider/notification_manager_inte rface.h"
21 #include "chrome/browser/chromeos/file_system_provider/request_value.h" 21 #include "chrome/browser/chromeos/file_system_provider/request_value.h"
22 22
23 class Profile; 23 class Profile;
24 24
25 namespace chromeos { 25 namespace chromeos {
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 virtual ~HandlerInterface() {} 60 virtual ~HandlerInterface() {}
61 61
62 // Called when the request is created. Executes the request implementation. 62 // Called when the request is created. Executes the request implementation.
63 // Returns false in case of a execution failure. 63 // Returns false in case of a execution failure.
64 virtual bool Execute(int request_id) = 0; 64 virtual bool Execute(int request_id) = 0;
65 65
66 // Success callback invoked by the providing extension in response to 66 // Success callback invoked by the providing extension in response to
67 // Execute(). It may be called more than once, until |has_more| is set to 67 // Execute(). It may be called more than once, until |has_more| is set to
68 // false. 68 // false.
69 virtual void OnSuccess(int request_id, 69 virtual void OnSuccess(int request_id,
70 scoped_ptr<RequestValue> result, 70 std::unique_ptr<RequestValue> result,
71 bool has_more) = 0; 71 bool has_more) = 0;
72 72
73 // Error callback invoked by the providing extension in response to 73 // Error callback invoked by the providing extension in response to
74 // Execute(). It can be called at most once. It can be also called if the 74 // Execute(). It can be called at most once. It can be also called if the
75 // request is aborted due to a timeout. 75 // request is aborted due to a timeout.
76 virtual void OnError(int request_id, 76 virtual void OnError(int request_id,
77 scoped_ptr<RequestValue> result, 77 std::unique_ptr<RequestValue> result,
78 base::File::Error error) = 0; 78 base::File::Error error) = 0;
79 }; 79 };
80 80
81 // Observes activities in the request manager. 81 // Observes activities in the request manager.
82 class Observer { 82 class Observer {
83 public: 83 public:
84 virtual ~Observer() {} 84 virtual ~Observer() {}
85 85
86 // Called when the request is created. 86 // Called when the request is created.
87 virtual void OnRequestCreated(int request_id, RequestType type) = 0; 87 virtual void OnRequestCreated(int request_id, RequestType type) = 0;
(...skipping 21 matching lines...) Expand all
109 // Creates a request manager for |profile| and |extension_id|. Note, that 109 // Creates a request manager for |profile| and |extension_id|. Note, that
110 // there may be multiple instances of request managers per extension. 110 // there may be multiple instances of request managers per extension.
111 RequestManager(Profile* profile, 111 RequestManager(Profile* profile,
112 const std::string& extension_id, 112 const std::string& extension_id,
113 NotificationManagerInterface* notification_manager); 113 NotificationManagerInterface* notification_manager);
114 virtual ~RequestManager(); 114 virtual ~RequestManager();
115 115
116 // Creates a request and returns its request id (greater than 0). Returns 0 in 116 // Creates a request and returns its request id (greater than 0). Returns 0 in
117 // case of an error (eg. too many requests). The |type| argument indicates 117 // case of an error (eg. too many requests). The |type| argument indicates
118 // what kind of request it is. 118 // what kind of request it is.
119 int CreateRequest(RequestType type, scoped_ptr<HandlerInterface> handler); 119 int CreateRequest(RequestType type,
120 std::unique_ptr<HandlerInterface> handler);
120 121
121 // Handles successful response for the |request_id|. If |has_more| is false, 122 // Handles successful response for the |request_id|. If |has_more| is false,
122 // then the request is disposed, after handling the |response|. On success, 123 // then the request is disposed, after handling the |response|. On success,
123 // returns base::File::FILE_OK. Otherwise returns an error code. |response| 124 // returns base::File::FILE_OK. Otherwise returns an error code. |response|
124 // must not be NULL. 125 // must not be NULL.
125 base::File::Error FulfillRequest(int request_id, 126 base::File::Error FulfillRequest(int request_id,
126 scoped_ptr<RequestValue> response, 127 std::unique_ptr<RequestValue> response,
127 bool has_more); 128 bool has_more);
128 129
129 // Handles error response for the |request_id|. If handling the error 130 // Handles error response for the |request_id|. If handling the error
130 // succeeds, theen returns base::File::FILE_OK. Otherwise returns an error 131 // succeeds, theen returns base::File::FILE_OK. Otherwise returns an error
131 // code. Always disposes the request. |response| must not be NULL. 132 // code. Always disposes the request. |response| must not be NULL.
132 base::File::Error RejectRequest(int request_id, 133 base::File::Error RejectRequest(int request_id,
133 scoped_ptr<RequestValue> response, 134 std::unique_ptr<RequestValue> response,
134 base::File::Error error); 135 base::File::Error error);
135 136
136 // Sets a custom timeout for tests. The new timeout value will be applied to 137 // Sets a custom timeout for tests. The new timeout value will be applied to
137 // new requests 138 // new requests
138 void SetTimeoutForTesting(const base::TimeDelta& timeout); 139 void SetTimeoutForTesting(const base::TimeDelta& timeout);
139 140
140 // Gets list of active request ids. 141 // Gets list of active request ids.
141 std::vector<int> GetActiveRequestIds() const; 142 std::vector<int> GetActiveRequestIds() const;
142 143
143 // Adds and removes observers. 144 // Adds and removes observers.
144 void AddObserver(Observer* observer); 145 void AddObserver(Observer* observer);
145 void RemoveObserver(Observer* observer); 146 void RemoveObserver(Observer* observer);
146 147
147 private: 148 private:
148 struct Request { 149 struct Request {
149 Request(); 150 Request();
150 ~Request(); 151 ~Request();
151 152
152 // Timer for discarding the request during a timeout. 153 // Timer for discarding the request during a timeout.
153 base::OneShotTimer timeout_timer; 154 base::OneShotTimer timeout_timer;
154 155
155 // Handler tied to this request. 156 // Handler tied to this request.
156 scoped_ptr<HandlerInterface> handler; 157 std::unique_ptr<HandlerInterface> handler;
157 158
158 private: 159 private:
159 DISALLOW_COPY_AND_ASSIGN(Request); 160 DISALLOW_COPY_AND_ASSIGN(Request);
160 }; 161 };
161 162
162 typedef std::map<int, Request*> RequestMap; 163 typedef std::map<int, Request*> RequestMap;
163 164
164 // Destroys the request with the passed |request_id|. 165 // Destroys the request with the passed |request_id|.
165 void DestroyRequest(int request_id); 166 void DestroyRequest(int request_id);
166 167
(...skipping 22 matching lines...) Expand all
189 base::ObserverList<Observer> observers_; 190 base::ObserverList<Observer> observers_;
190 base::WeakPtrFactory<RequestManager> weak_ptr_factory_; 191 base::WeakPtrFactory<RequestManager> weak_ptr_factory_;
191 192
192 DISALLOW_COPY_AND_ASSIGN(RequestManager); 193 DISALLOW_COPY_AND_ASSIGN(RequestManager);
193 }; 194 };
194 195
195 } // namespace file_system_provider 196 } // namespace file_system_provider
196 } // namespace chromeos 197 } // namespace chromeos
197 198
198 #endif // CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_REQUEST_MANAGER_H_ 199 #endif // CHROME_BROWSER_CHROMEOS_FILE_SYSTEM_PROVIDER_REQUEST_MANAGER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698