Proxy.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2008 National Institute For Space Research (INPE) - Brazil.
3 
4  This file is part of the TerraLib - a Framework for building GIS enabled
5  applications.
6 
7  TerraLib is free software: you can redistribute it and/or modify
8  it under the terms of the GNU Lesser General Public License as published by
9  the Free Software Foundation, either version 3 of the License,
10  or (at your option) any later version.
11 
12  TerraLib is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  GNU Lesser General Public License for more details.
16 
17  You should have received a copy of the GNU Lesser General Public License
18  along with TerraLib. See COPYING. If not, write to
19  TerraLib Team at <terralib-team@terralib.org>.
20  */
21 
22 /*!
23  \file terralib/core/uri/Proxy.h
24 
25  \brief A singleton class to hold the ProxyInfo class.
26 
27  \author Mario Rocco Pettinati
28  */
29 
30 #ifndef __TERRALIB_CORE_URI_PROXY_H__
31 #define __TERRALIB_CORE_URI_PROXY_H__
32 
33 // TerraLib
34 #include "../Config.h"
35 
36 #include "ProxyInfo.h"
37 
38 // STL
39 #include <string>
40 
41 namespace te
42 {
43  namespace core
44  {
45  class ProxyAuthenticationHandler;
46 
47  /*!
48  \class URI
49 
50  \brief A class to store the proxy information that must be used to access
51  data located in URIs.
52  */
54  {
55  public:
56 
57  /*! \brief Sets the proxy info to be used. */
58  void setProxyInfo(const te::core::ProxyInfo& proxyInfo);
59 
60  /*! \brief Gets the current proxy info. */
62 
63  /*! \brief Gets the current proxy info. */
65 
66  /*! \brief Sets the authentication handler to be used by proxy. */
67  void setAuthenticationHandler(ProxyAuthenticationHandler* proxyAuthenticationHandler);
68 
69  /*! \brief Resets the authentication information (userName and password). */
71 
72  /*!
73  \brief It returns a reference to the singleton instance.
74 
75  \return A reference to the singleton instance.
76  */
77  static Proxy& instance();
78 
79  protected:
80 
81  /*! \brief Default constructor. */
82  Proxy();
83 
84  /*! Default destructor. */
85  ~Proxy();
86 
87  /*! \brief Copy constructor. */
88  Proxy(const Proxy& other) = delete;
89 
90  /*! \brief Move constructor. */
91  Proxy(const Proxy&& other) = delete;
92 
93  protected:
94 
97 
98  };
99 
100  } // end namespace core
101 } // end namespace te
102 
103 #endif // __TERRALIB_CORE_URI_PROXY_H__
A class to store the proxy information that must be used to access data located in URIs.
Proxy(const Proxy &&other)=delete
Move constructor.
void setAuthenticationHandler(ProxyAuthenticationHandler *proxyAuthenticationHandler)
Sets the authentication handler to be used by proxy.
const te::core::ProxyInfo & getProxyInfo() const
Gets the current proxy info.
void resetAuthentication()
Resets the authentication information (userName and password).
void setProxyInfo(const te::core::ProxyInfo &proxyInfo)
Sets the proxy info to be used.
Proxy(const Proxy &other)=delete
Copy constructor.
te::core::ProxyInfo m_proxyInfo
Definition: Proxy.h:96
Proxy()
Default constructor.
te::core::ProxyAuthenticationHandler * m_proxyAuthenticationHandler
Definition: Proxy.h:95
const te::core::ProxyInfo & getAuthenticatedProxyInfo() const
Gets the current proxy info.
static Proxy & instance()
It returns a reference to the singleton instance.
TerraLib.
#define TECOREEXPORT
Definition: Config.h:52