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

Side by Side Diff: net/url_request/url_request_inet_job.h

Issue 368001: Second patch in making destructors of refcounted objects private. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 1 month 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
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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 NET_URL_REQUEST_URL_REQUEST_INET_JOB_H__ 5 #ifndef NET_URL_REQUEST_URL_REQUEST_INET_JOB_H__
6 #define NET_URL_REQUEST_URL_REQUEST_INET_JOB_H__ 6 #define NET_URL_REQUEST_URL_REQUEST_INET_JOB_H__
7 7
8 #include <windows.h> 8 #include <windows.h>
9 #include <wininet.h> 9 #include <wininet.h>
10 10
11 #include "base/lock.h" 11 #include "base/lock.h"
12 #include "net/url_request/url_request.h" 12 #include "net/url_request/url_request.h"
13 #include "net/url_request/url_request_job.h" 13 #include "net/url_request/url_request_job.h"
14 14
15 namespace net { 15 namespace net {
16 class AuthData; 16 class AuthData;
17 } 17 }
18 18
19 class MessageLoop; 19 class MessageLoop;
20 20
21 // For all WinInet-based URL requests 21 // For all WinInet-based URL requests
22 class URLRequestInetJob : public URLRequestJob { 22 class URLRequestInetJob : public URLRequestJob {
23 public: 23 public:
24 URLRequestInetJob(URLRequest* request); 24 URLRequestInetJob(URLRequest* request);
25 virtual ~URLRequestInetJob();
26 25
27 virtual void SetExtraRequestHeaders(const std::string& headers) { 26 virtual void SetExtraRequestHeaders(const std::string& headers) {
28 extra_request_headers_ = headers; 27 extra_request_headers_ = headers;
29 } 28 }
30 29
31 virtual void Kill(); 30 virtual void Kill();
32 virtual bool ReadRawData(net::IOBuffer* buf, int buf_size, int *bytes_read); 31 virtual bool ReadRawData(net::IOBuffer* buf, int buf_size, int *bytes_read);
33 32
34 // URLRequestJob Authentication methods 33 // URLRequestJob Authentication methods
35 virtual void SetAuth(const std::wstring& username, 34 virtual void SetAuth(const std::wstring& username,
(...skipping 14 matching lines...) Expand all
50 // does not it must call the base class' OnIOComplete. 49 // does not it must call the base class' OnIOComplete.
51 virtual void OnIOComplete(const AsyncResult& result) = 0; 50 virtual void OnIOComplete(const AsyncResult& result) = 0;
52 51
53 // Used internally to setup the OnIOComplete call. Public because this 52 // Used internally to setup the OnIOComplete call. Public because this
54 // is called from the Windows procedure, and we don't want to make it a 53 // is called from the Windows procedure, and we don't want to make it a
55 // friend so we can avoid the Windows headers for this header file. 54 // friend so we can avoid the Windows headers for this header file.
56 void CallOnIOComplete(const AsyncResult& result); 55 void CallOnIOComplete(const AsyncResult& result);
57 56
58 HINTERNET request_handle() const { return request_handle_; } 57 HINTERNET request_handle() const { return request_handle_; }
59 58
60 protected: 59 protected:
60 virtual ~URLRequestInetJob();
61
61 // Called by this class and subclasses to send or resend this request. 62 // Called by this class and subclasses to send or resend this request.
62 virtual void SendRequest() = 0; 63 virtual void SendRequest() = 0;
63 64
64 // Calls InternetReadFile(Ex) depending on the derived class. 65 // Calls InternetReadFile(Ex) depending on the derived class.
65 // Returns ERROR_SUCCESS on success, or else a standard Windows error code 66 // Returns ERROR_SUCCESS on success, or else a standard Windows error code
66 // on failure (from GetLastError()). 67 // on failure (from GetLastError()).
67 virtual int CallInternetRead(char* dest, int dest_size, int *bytes_read) = 0; 68 virtual int CallInternetRead(char* dest, int dest_size, int *bytes_read) = 0;
68 69
69 // After the base class calls CallInternetRead and the result is available, 70 // After the base class calls CallInternetRead and the result is available,
70 // it will call this method to get the number of received bytes. 71 // it will call this method to get the number of received bytes.
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 // can reuse the async_result_ member for all its asynchronous IOs. 153 // can reuse the async_result_ member for all its asynchronous IOs.
153 AsyncResult async_result_; 154 AsyncResult async_result_;
154 155
155 Lock loop_lock_; 156 Lock loop_lock_;
156 MessageLoop* loop_; 157 MessageLoop* loop_;
157 158
158 DISALLOW_EVIL_CONSTRUCTORS(URLRequestInetJob); 159 DISALLOW_EVIL_CONSTRUCTORS(URLRequestInetJob);
159 }; 160 };
160 161
161 #endif // NET_URL_REQUEST_URL_REQUEST_INET_JOB_H__ 162 #endif // NET_URL_REQUEST_URL_REQUEST_INET_JOB_H__
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698