You.i Engine
YiSSLRootCertificateProvider.h
Go to the documentation of this file.
1 // © You i Labs Inc. 2000-2018. All rights reserved.
2 #ifndef _YI_SSL_ROOT_CERTIFICATE_PROVIDER_H_
3 #define _YI_SSL_ROOT_CERTIFICATE_PROVIDER_H_
4 
5 #include "utility/YiString.h"
6 
7 class CYIMutex;
8 
27 {
28 public:
30 
37  {
40  };
41 
47  struct Certificate
48  {
49  Certificate() = default;
52  };
53 
55 
61  void SetRootCertificateBundleFilePath(const CYIString &rFilePath);
62 
69 
75  const std::vector<Certificate> &GetSystemRootCertificates() const;
76 
77 private:
79 
80  static CYISSLRootCertificateProvider *s_pSSLRootCertificateProviderSingleton;
81 
82  static CYIMutex s_SSLRootCertMutex;
83 
84  CYIString m_rootCertificateBundleFilePath;
85  std::vector<Certificate> m_rootCertificates;
86 
88 };
89 
94 #endif // _YI_SSL_ROOT_CERTIFICATE_PROVIDER_H_
#define YI_DISALLOW_COPY_AND_ASSIGN(TypeName)
Delete the copy constructor and assignment operator (and consequently the move constructor as well) ...
Definition: YiPredef.h:114
Definition: YiMutex.h:110
Definition: YiSSLRootCertificateProvider.h:47
Container class for Unicode strings. Conceptually, a CYIString object is a sequence of Unicode charac...
Definition: YiString.h:35
CERTIFICATE_FORMAT
Definition: YiSSLRootCertificateProvider.h:36
Definition: YiSSLRootCertificateProvider.h:39
static CYISSLRootCertificateProvider * GetInstance()
CERTIFICATE_FORMAT eFormat
Definition: YiSSLRootCertificateProvider.h:51
Definition: YiSSLRootCertificateProvider.h:38
const std::vector< Certificate > & GetSystemRootCertificates() const
void SetRootCertificateBundleFilePath(const CYIString &rFilePath)
const CYIString & GetRootCertificateBundleFilePath() const
CYIString data
Definition: YiSSLRootCertificateProvider.h:50
Provides SSL root certificate information.
Definition: YiSSLRootCertificateProvider.h:26