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

Side by Side Diff: net/ftp/ftp_network_transaction.h

Issue 6339012: More net/ method ordering. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: More done while waiting for previous patch to clear Created 9 years, 11 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
« no previous file with comments | « net/ftp/ftp_directory_listing_parser_vms.h ('k') | net/ftp/ftp_network_transaction.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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_FTP_FTP_NETWORK_TRANSACTION_H_ 5 #ifndef NET_FTP_FTP_NETWORK_TRANSACTION_H_
6 #define NET_FTP_FTP_NETWORK_TRANSACTION_H_ 6 #define NET_FTP_FTP_NETWORK_TRANSACTION_H_
7 #pragma once 7 #pragma once
8 8
9 #include <string> 9 #include <string>
10 #include <utility> 10 #include <utility>
(...skipping 13 matching lines...) Expand all
24 class ClientSocket; 24 class ClientSocket;
25 class ClientSocketFactory; 25 class ClientSocketFactory;
26 class FtpNetworkSession; 26 class FtpNetworkSession;
27 27
28 class FtpNetworkTransaction : public FtpTransaction { 28 class FtpNetworkTransaction : public FtpTransaction {
29 public: 29 public:
30 FtpNetworkTransaction(FtpNetworkSession* session, 30 FtpNetworkTransaction(FtpNetworkSession* session,
31 ClientSocketFactory* socket_factory); 31 ClientSocketFactory* socket_factory);
32 virtual ~FtpNetworkTransaction(); 32 virtual ~FtpNetworkTransaction();
33 33
34 virtual int Stop(int error);
35 virtual int RestartIgnoringLastError(CompletionCallback* callback);
36
34 // FtpTransaction methods: 37 // FtpTransaction methods:
35 virtual int Start(const FtpRequestInfo* request_info, 38 virtual int Start(const FtpRequestInfo* request_info,
36 CompletionCallback* callback, 39 CompletionCallback* callback,
37 const BoundNetLog& net_log); 40 const BoundNetLog& net_log);
38 virtual int Stop(int error);
39 virtual int RestartWithAuth(const string16& username, 41 virtual int RestartWithAuth(const string16& username,
40 const string16& password, 42 const string16& password,
41 CompletionCallback* callback); 43 CompletionCallback* callback);
42 virtual int RestartIgnoringLastError(CompletionCallback* callback);
43 virtual int Read(IOBuffer* buf, int buf_len, CompletionCallback* callback); 44 virtual int Read(IOBuffer* buf, int buf_len, CompletionCallback* callback);
44 virtual const FtpResponseInfo* GetResponseInfo() const; 45 virtual const FtpResponseInfo* GetResponseInfo() const;
45 virtual LoadState GetLoadState() const; 46 virtual LoadState GetLoadState() const;
46 virtual uint64 GetUploadProgress() const; 47 virtual uint64 GetUploadProgress() const;
47 48
48 private: 49 private:
49 enum Command { 50 enum Command {
50 COMMAND_NONE, 51 COMMAND_NONE,
51 COMMAND_USER, 52 COMMAND_USER,
52 COMMAND_PASS, 53 COMMAND_PASS,
(...skipping 27 matching lines...) Expand all
80 81
81 // In FTP we need to issue different commands depending on whether a resource 82 // In FTP we need to issue different commands depending on whether a resource
82 // is a file or directory. If we don't know that, we're going to autodetect 83 // is a file or directory. If we don't know that, we're going to autodetect
83 // it. 84 // it.
84 enum ResourceType { 85 enum ResourceType {
85 RESOURCE_TYPE_UNKNOWN, 86 RESOURCE_TYPE_UNKNOWN,
86 RESOURCE_TYPE_FILE, 87 RESOURCE_TYPE_FILE,
87 RESOURCE_TYPE_DIRECTORY, 88 RESOURCE_TYPE_DIRECTORY,
88 }; 89 };
89 90
91 enum State {
92 // Control connection states:
93 STATE_CTRL_RESOLVE_HOST,
94 STATE_CTRL_RESOLVE_HOST_COMPLETE,
95 STATE_CTRL_CONNECT,
96 STATE_CTRL_CONNECT_COMPLETE,
97 STATE_CTRL_READ,
98 STATE_CTRL_READ_COMPLETE,
99 STATE_CTRL_WRITE,
100 STATE_CTRL_WRITE_COMPLETE,
101 STATE_CTRL_WRITE_USER,
102 STATE_CTRL_WRITE_PASS,
103 STATE_CTRL_WRITE_SYST,
104 STATE_CTRL_WRITE_TYPE,
105 STATE_CTRL_WRITE_EPSV,
106 STATE_CTRL_WRITE_PASV,
107 STATE_CTRL_WRITE_PWD,
108 STATE_CTRL_WRITE_RETR,
109 STATE_CTRL_WRITE_SIZE,
110 STATE_CTRL_WRITE_CWD,
111 STATE_CTRL_WRITE_LIST,
112 STATE_CTRL_WRITE_QUIT,
113 // Data connection states:
114 STATE_DATA_CONNECT,
115 STATE_DATA_CONNECT_COMPLETE,
116 STATE_DATA_READ,
117 STATE_DATA_READ_COMPLETE,
118 STATE_NONE
119 };
120
90 // Resets the members of the transaction so it can be restarted. 121 // Resets the members of the transaction so it can be restarted.
91 void ResetStateForRestart(); 122 void ResetStateForRestart();
92 123
93 void DoCallback(int result); 124 void DoCallback(int result);
94 void OnIOComplete(int result); 125 void OnIOComplete(int result);
95 126
96 // Executes correct ProcessResponse + command_name function based on last 127 // Executes correct ProcessResponse + command_name function based on last
97 // issued command. Returns error code. 128 // issued command. Returns error code.
98 int ProcessCtrlResponse(); 129 int ProcessCtrlResponse();
99 130
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
204 // with any trailing slash removed. 235 // with any trailing slash removed.
205 std::string current_remote_directory_; 236 std::string current_remote_directory_;
206 237
207 int data_connection_port_; 238 int data_connection_port_;
208 239
209 ClientSocketFactory* socket_factory_; 240 ClientSocketFactory* socket_factory_;
210 241
211 scoped_ptr<ClientSocket> ctrl_socket_; 242 scoped_ptr<ClientSocket> ctrl_socket_;
212 scoped_ptr<ClientSocket> data_socket_; 243 scoped_ptr<ClientSocket> data_socket_;
213 244
214 enum State {
215 // Control connection states:
216 STATE_CTRL_RESOLVE_HOST,
217 STATE_CTRL_RESOLVE_HOST_COMPLETE,
218 STATE_CTRL_CONNECT,
219 STATE_CTRL_CONNECT_COMPLETE,
220 STATE_CTRL_READ,
221 STATE_CTRL_READ_COMPLETE,
222 STATE_CTRL_WRITE,
223 STATE_CTRL_WRITE_COMPLETE,
224 STATE_CTRL_WRITE_USER,
225 STATE_CTRL_WRITE_PASS,
226 STATE_CTRL_WRITE_SYST,
227 STATE_CTRL_WRITE_TYPE,
228 STATE_CTRL_WRITE_EPSV,
229 STATE_CTRL_WRITE_PASV,
230 STATE_CTRL_WRITE_PWD,
231 STATE_CTRL_WRITE_RETR,
232 STATE_CTRL_WRITE_SIZE,
233 STATE_CTRL_WRITE_CWD,
234 STATE_CTRL_WRITE_LIST,
235 STATE_CTRL_WRITE_QUIT,
236 // Data connection states:
237 STATE_DATA_CONNECT,
238 STATE_DATA_CONNECT_COMPLETE,
239 STATE_DATA_READ,
240 STATE_DATA_READ_COMPLETE,
241 STATE_NONE
242 };
243 State next_state_; 245 State next_state_;
244 }; 246 };
245 247
246 } // namespace net 248 } // namespace net
247 249
248 #endif // NET_FTP_FTP_NETWORK_TRANSACTION_H_ 250 #endif // NET_FTP_FTP_NETWORK_TRANSACTION_H_
OLDNEW
« no previous file with comments | « net/ftp/ftp_directory_listing_parser_vms.h ('k') | net/ftp/ftp_network_transaction.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698