All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
ISSLSettings.h
1 // Copyright eeGeo Ltd (2012-2015), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Types.h"
6 #include <string>
7 
8 namespace Eegeo
9 {
10  namespace Web
11  {
13  {
14  public:
15  virtual ~ISSLSettings() {}
16 
17  virtual void EnableSSL() = 0;
18  virtual void DisableSSL() = 0;
19  virtual const bool SSLEnabled() const = 0;
20 
21  virtual void AddSSLIgnorePattern(const std::string& sslIgnorePattern) = 0;
22  virtual void RemoveSSLIgnorePattern(const std::string& sslIgnorePattern) = 0;
23  virtual const bool ShouldIgnoreSSL(const std::string& url) const = 0;
24 
25  virtual void AddClientCertificateAuthenticationPattern(const std::string& clientCertificateAuthenticationPattern) = 0;
26  virtual void RemoveClientCertificateAuthenticationPattern(const std::string& clientCertificateAuthenticationPattern) = 0;
27  virtual const bool ShouldAuthenticateWithClientCertificate(const std::string& url) const = 0;
28 
29  virtual const void SetClientCertificateFilename(const std::string& clientCertFilename) = 0;
30  virtual const std::string& GetClientCertificateFilename() const = 0;
31 
32  virtual const void SetKeyFilename(const std::string& keyFilename) = 0;
33  virtual const std::string& GetKeyFilename() const = 0;
34 
35  virtual const void SetKeyPassword(const std::string& keyPassword) = 0;
36  virtual const std::string& GetKeyPassword() const = 0;
37  };
38  }
39 }