Revert "Use a variable on the stack to not have a temporary in the call"
[ACE_TAO.git] / ACE / protocols / ace / INet / FTP_URL.cpp
blob6ad1468d7ddf2e2b90d78931c62f66cd01d29326
1 #include "ace/INet/FTP_URL.h"
3 #if !defined (__ACE_INLINE__)
4 #include "ace/INet/FTP_URL.inl"
5 #endif
7 #include "ace/INet/String_IOStream.h"
8 #include "ace/INet/FTP_ClientRequestHandler.h"
10 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
12 namespace ACE
14 namespace FTP
16 const char* URL::PROTOCOL = "ftp";
18 const ACE_CString& URL::protocol ()
20 static const ACE_CString protocol_ (PROTOCOL);
21 return protocol_;
24 URL::URL ()
25 : ACE::INet::URL_INetAuthBase (FTP_PORT)
29 URL::URL (const ACE_CString& url_string)
30 : ACE::INet::URL_INetAuthBase (FTP_PORT)
32 this->parse (url_string);
35 URL::URL (const URL& url)
36 : ACE::INet::URL_INetAuthBase (0)
38 *this = url;
41 URL::~URL ()
45 URL& URL::operator =(const URL& url)
47 this->set_user_info (url.get_user_info ());
48 this->set_host (url.get_host ());
49 this->set_port (url.get_port ());
50 this->set_path (url.get_path ());
51 return *this;
54 ACE_CString URL::to_string () const
56 ACE::IOS::CString_OStream sos;
57 sos << this->get_scheme () << "://"
58 << this->get_authority ().c_str ()
59 << this->get_path ().c_str ();
60 return sos.str ();
63 ACE::INet::ClientRequestHandler* URL::create_default_request_handler () const
65 ACE::INet::ClientRequestHandler* prh = 0;
66 ACE_NEW_NORETURN (prh, ClientRequestHandler ());
67 return prh;
70 const URL::Factory& URL::factory_ = *URL::TURLFactorySingleton::instance ();
72 URL::Factory::Factory ()
74 ACE::INet::URL_Base::register_factory (this);
77 URL::Factory::~Factory ()
80 const ACE_CString& URL::Factory::protocol ()
82 return URL::protocol ();
85 ACE::INet::URL_Base* URL::Factory::create_from_string (const ACE_CString& url_string)
87 URL* purl = 0;
88 ACE_NEW_NORETURN (purl, URL (url_string));
89 return purl;
94 ACE_END_VERSIONED_NAMESPACE_DECL