diff options
Diffstat (limited to 'chromium/net/ftp/ftp_directory_listing_parser.h')
-rw-r--r-- | chromium/net/ftp/ftp_directory_listing_parser.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/chromium/net/ftp/ftp_directory_listing_parser.h b/chromium/net/ftp/ftp_directory_listing_parser.h new file mode 100644 index 00000000000..d2dd677bb09 --- /dev/null +++ b/chromium/net/ftp/ftp_directory_listing_parser.h @@ -0,0 +1,46 @@ +// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef NET_FTP_FTP_DIRECTORY_LISTING_PARSER_H_ +#define NET_FTP_FTP_DIRECTORY_LISTING_PARSER_H_ + +#include <string> +#include <vector> + +#include "base/basictypes.h" +#include "base/strings/string16.h" +#include "base/time/time.h" +#include "net/base/net_export.h" + +namespace net { + +struct FtpDirectoryListingEntry { + enum Type { + UNKNOWN, + FILE, + DIRECTORY, + SYMLINK, + }; + + FtpDirectoryListingEntry(); + + Type type; + base::string16 name; // Name (UTF-16-encoded). + std::string raw_name; // Name in original character encoding. + int64 size; // File size, in bytes. -1 if not applicable. + + // Last modified time, in local time zone. + base::Time last_modified; +}; + +// Parses an FTP directory listing |text|. On success fills in |entries|. +// Returns network error code. +NET_EXPORT int ParseFtpDirectoryListing( + const std::string& text, + const base::Time& current_time, + std::vector<FtpDirectoryListingEntry>* entries); + +} // namespace net + +#endif // NET_FTP_FTP_DIRECTORY_LISTING_PARSER_H_ |