Merge pull request #2216 from jwillemsen/jwi-cxxversionchecks
[ACE_TAO.git] / ACE / protocols / ace / INet / FTP_URL.h
blob4823a16aab56b4244507bb3a819c8813be8a34e2
1 /**
2 * @file FTP_URL.h
4 * @author Martin Corino <mcorino@remedy.nl>
5 */
7 #ifndef ACE_FTP_URL_H
8 #define ACE_FTP_URL_H
10 #include /**/ "ace/pre.h"
12 #include /**/ "ace/config-all.h"
14 #if !defined (ACE_LACKS_PRAGMA_ONCE)
15 # pragma once
16 #endif /* ACE_LACKS_PRAGMA_ONCE */
18 #include "ace/INet/INet_Export.h"
19 #include "ace/INet/URLBase.h"
21 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
23 namespace ACE
25 namespace FTP
27 /**
28 * @class ACE_FTP_URL
30 * @brief
33 class ACE_INET_Export URL
34 : public ACE::INet::URL_INetAuthBase
36 public:
37 URL ();
38 URL (const ACE_CString& url_string);
39 URL (const URL& url);
40 virtual ~URL ();
42 URL& operator =(const URL& url);
44 virtual const ACE_CString& get_scheme () const;
46 virtual ACE_CString to_string () const;
48 virtual u_short default_port () const;
50 static const char* PROTOCOL;
52 static const ACE_CString& protocol ();
54 enum
56 FTP_PORT = 21
59 protected:
60 virtual ACE::INet::ClientRequestHandler* create_default_request_handler () const;
62 private:
63 class Factory
64 : public ACE::INet::URL_Base::Factory
66 public:
67 Factory ();
68 virtual ~Factory ();
69 virtual const ACE_CString& protocol ();
70 virtual ACE::INet::URL_Base* create_from_string (const ACE_CString& url_string);
73 typedef ACE_Singleton<Factory,
74 ACE_Null_Mutex> TURLFactorySingleton;
75 static const Factory& factory_;
80 ACE_END_VERSIONED_NAMESPACE_DECL
82 #if defined (__ACE_INLINE__)
83 #include "ace/INet/FTP_URL.inl"
84 #endif
86 #include /**/ "ace/post.h"
87 #endif /* ACE_FTP_URL_H */