JBoss Data Grid HotRod C++ Client  7.1.0
SslConfigurationBuilder.h
Go to the documentation of this file.
1 #ifndef SSLCONFIGURATIONBUILDER_H_
2 #define SSLCONFIGURATIONBUILDER_H_
3 
6 
7 
8 namespace infinispan {
9 namespace hotrod {
10 
11 
14 {
15  public:
17  m_enabled(false), m_serverCAPath(), m_serverCAFile(), m_clientCertificateFile(), m_sniHostName() {}
18 
20  return SslConfiguration(m_enabled, m_serverCAPath, m_serverCAFile, m_clientCertificateFile, m_sniHostName);
21  }
22  virtual SslConfigurationBuilder& read(SslConfiguration& configuration) {
23  m_enabled = configuration.enabled();
24  m_serverCAPath = configuration.serverCAPath();
25  m_serverCAFile = configuration.serverCAFile();
26  m_clientCertificateFile = configuration.clientCertificateFile();
27  m_sniHostName = configuration.sniHostName();
28  return *this;
29  }
30  virtual void validate() {};
31 
32  /***
33  * Enables SSL support
34  *
35  * \return ServerConfigurationBuilder for further configuration
36  */
38  {
39  m_enabled = true;
40  return *this;
41  }
42 
43  /***
44  * Disables SSL support
45  *
46  * \return ServerConfigurationBuilder for further configuration
47  */
49  {
50  m_enabled = false;
51  return *this;
52  }
53 
54  /***
55  * Enables SSL support
56  *
57  * \return ServerConfigurationBuilder for further configuration
58  */
60  {
61  m_enabled = enabled;
62  return *this;
63  }
64 
70  SslConfigurationBuilder& serverCAPath(const std::string& _CAPath)
71  {
72  m_serverCAPath = _CAPath;
73  return *this;
74  }
75 
81  SslConfigurationBuilder& serverCAFile(const std::string& _CAFile)
82  {
83  m_serverCAFile = _CAFile;
84  return *this;
85  }
86 
92  SslConfigurationBuilder& clientCertificateFile(const std::string& _clientCertificateFile)
93  {
94  m_clientCertificateFile = _clientCertificateFile;
95  return *this;
96  }
97 
103  SslConfigurationBuilder& sniHostName(const std::string& _sniHostName)
104  {
105  m_sniHostName = _sniHostName;
106  return *this;
107  }
108 
114  const std::string& getSniHostName() const
115  {
116  return m_sniHostName;
117  }
118 
119 
120 private:
121  bool m_enabled;
122  std::string m_serverCAPath;
123  std::string m_serverCAFile;
124  std::string m_clientCertificateFile;
125  std::string m_sniHostName;
126 };
127 
128 }}
129 
130 #endif /* SSLCONFIGURATIONBUILDER_H_ */
SslConfigurationBuilder & enabled(bool enabled)
Definition: SslConfigurationBuilder.h:59
const bool & enabled() const
Definition: SslConfiguration.h:21
virtual void validate()
Definition: SslConfigurationBuilder.h:30
const std::string & sniHostName() const
Definition: SslConfiguration.h:61
SslConfigurationBuilder & serverCAFile(const std::string &_CAFile)
Definition: SslConfigurationBuilder.h:81
SslConfigurationBuilder & enable()
Definition: SslConfigurationBuilder.h:37
Definition: SslConfigurationBuilder.h:12
const std::string & getSniHostName() const
Definition: SslConfigurationBuilder.h:114
Definition: BasicMarshaller.h:11
const std::string & serverCAPath() const
Definition: SslConfiguration.h:31
SslConfigurationBuilder & disable()
Definition: SslConfigurationBuilder.h:48
Definition: SslConfiguration.h:10
const std::string & serverCAFile() const
Definition: SslConfiguration.h:41
const std::string & clientCertificateFile() const
Definition: SslConfiguration.h:51
SslConfigurationBuilder & clientCertificateFile(const std::string &_clientCertificateFile)
Definition: SslConfigurationBuilder.h:92
Definition: ConfigurationBuilder.h:80
virtual SslConfigurationBuilder & read(SslConfiguration &configuration)
Definition: SslConfigurationBuilder.h:22
Definition: ConfigurationChildBuilder.h:18
SslConfigurationBuilder(ConfigurationBuilder &parent)
Definition: SslConfigurationBuilder.h:16
SslConfigurationBuilder & sniHostName(const std::string &_sniHostName)
Definition: SslConfigurationBuilder.h:103
SslConfigurationBuilder & serverCAPath(const std::string &_CAPath)
Definition: SslConfigurationBuilder.h:70
SslConfiguration create()
Definition: SslConfigurationBuilder.h:19