1ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved. 23345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick// Use of this source code is governed by a BSD-style license that can be 33345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick// found in the LICENSE file. 4c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott 5c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott#ifndef NET_FTP_FTP_NETWORK_SESSION_H_ 6c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott#define NET_FTP_FTP_NETWORK_SESSION_H_ 73345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#pragma once 8c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott 9ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "base/memory/ref_counted.h" 10c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott#include "net/ftp/ftp_auth_cache.h" 11c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott 12c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scottnamespace net { 13c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott 14c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scottclass HostResolver; 15c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott 16c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott// This class holds session objects used by FtpNetworkTransaction objects. 17c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scottclass FtpNetworkSession : public base::RefCounted<FtpNetworkSession> { 18c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott public: 19731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick explicit FtpNetworkSession(HostResolver* host_resolver); 20c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott 21c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott HostResolver* host_resolver() { return host_resolver_; } 22c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott FtpAuthCache* auth_cache() { return &auth_cache_; } 23c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott 24c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott private: 25c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott friend class base::RefCounted<FtpNetworkSession>; 26c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott 27731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick virtual ~FtpNetworkSession(); 28c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott 29731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick HostResolver* const host_resolver_; 30c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott FtpAuthCache auth_cache_; 31c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott}; 32c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott 33c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott} // namespace net 34c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott 35c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott#endif // NET_FTP_FTP_NETWORK_SESSION_H_ 36