JBoss Data Grid HotRod C++ Client  7.0.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
SslConfigurationBuilder.h
Go to the documentation of this file.
1 #ifndef SSLCONFIGURATIONBUILDER_H_
2 #define SSLCONFIGURATIONBUILDER_H_
3 
5 #include "Builder.h"
7 
8 
9 namespace infinispan {
10 namespace hotrod {
11 
12 
14  : public infinispan::hotrod::Builder<SslConfiguration>, public ConfigurationChildBuilder
15 {
16  public:
18  ConfigurationChildBuilder(builder), m_enabled(false), m_serverCAPath(), m_serverCAFile(), m_clientCertificateFile() {}
20  return SslConfiguration(m_enabled, m_serverCAPath, m_serverCAFile, m_clientCertificateFile);
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  return *this;
28  }
29 
30  /***
31  * Enables SSL support
32  *
33  * \return ServerConfigurationBuilder for further configuration
34  */
36  {
37  m_enabled = true;
38  return *this;
39  }
40 
41  /***
42  * Disables SSL support
43  *
44  * \return ServerConfigurationBuilder for further configuration
45  */
47  {
48  m_enabled = false;
49  return *this;
50  }
51 
52  /***
53  * Enables SSL support
54  *
55  * \return ServerConfigurationBuilder for further configuration
56  */
58  {
59  m_enabled = enabled;
60  return *this;
61  }
62 
68  SslConfigurationBuilder& serverCAPath(const std::string& _CAPath)
69  {
70  m_serverCAPath = _CAPath;
71  return *this;
72  }
73 
79  SslConfigurationBuilder& serverCAFile(const std::string& _CAFile)
80  {
81  m_serverCAFile = _CAFile;
82  return *this;
83  }
84 
90  SslConfigurationBuilder& clientCertificateFile(const std::string& _clientCertificateFile)
91  {
92  m_clientCertificateFile = _clientCertificateFile;
93  return *this;
94  }
95 
96  private:
97  bool m_enabled;
98  std::string m_serverCAPath;
99  std::string m_serverCAFile;
100  std::string m_clientCertificateFile;
101 };
102 
103 }}
104 
105 #endif /* SSLCONFIGURATIONBUILDER_H_ */
SslConfigurationBuilder & enabled(bool enabled)
Definition: SslConfigurationBuilder.h:57
const bool & enabled() const
Definition: SslConfiguration.h:21
SslConfigurationBuilder & serverCAFile(const std::string &_CAFile)
Definition: SslConfigurationBuilder.h:79
SslConfigurationBuilder & enable()
Definition: SslConfigurationBuilder.h:35
SslConfigurationBuilder(ConfigurationBuilder &builder)
Definition: SslConfigurationBuilder.h:17
Definition: Builder.h:15
Definition: SslConfigurationBuilder.h:13
const std::string & serverCAPath() const
Definition: SslConfiguration.h:31
SslConfigurationBuilder & disable()
Definition: SslConfigurationBuilder.h:46
virtual SslConfiguration create()
Definition: SslConfigurationBuilder.h:19
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:90
Definition: ConfigurationBuilder.h:27
virtual SslConfigurationBuilder & read(SslConfiguration &configuration)
Definition: SslConfigurationBuilder.h:22
Definition: ConfigurationChildBuilder.h:18
SslConfigurationBuilder & serverCAPath(const std::string &_CAPath)
Definition: SslConfigurationBuilder.h:68