PLCnext API Documentation  22.9.0.33
OpenSslBio.hpp
1 //
3 // Copyright PHOENIX CONTACT Electronics GmbH
4 //
6 #pragma once
7 #include "Arp/System/Core/Arp.h"
8 #include <openssl/bio.h>
9 
10 namespace Arp { namespace System { namespace Commons { namespace Security { namespace Internal
11 {
12 
14 {
15 public: // typedefs
16 
17 public: // construction/destruction
19  OpenSslBio(BIO_METHOD *type);
20  OpenSslBio(const BIO_METHOD *type);
22  OpenSslBio(const void* data, size_t length);
24  OpenSslBio(const OpenSslBio& arg) = delete;
26  OpenSslBio& operator=(const OpenSslBio& arg) = delete;
28  ~OpenSslBio(void);
29 
30  operator BIO*() const
31  {
32  return bio;
33  };
34 
35 public: // operators
36 
37 
38 public: // static operations
39 
40 public: // setter/getter operations
41  BIO* Get(void);
42  void Reset(void);
43  void Seek(int offset);
44  int Tell(void);
45 public: // operations
46 
47 protected: // operations
48 
49 private: // static methods
50 
51 private: // methods
52 
53 private: // fields
54  BIO *bio;
55 
56 
57 private: // static fields
58 
59 };
60 
62 // inline methods of class CertificateStore
63 
64 }}}}} // end of namespace Arp::System::Commons::Security::Internal
OpenSslBio(BIO_METHOD *type)
Constructs an CertificateStore instance.
OpenSslBio & operator=(const OpenSslBio &arg)=delete
Assignment operator.
~OpenSslBio(void)
Destructs this instance and frees all resources.
OpenSslBio(const void *data, size_t length)
Constructs a read only memor BIO instance.
OpenSslBio(const OpenSslBio &arg)=delete
Copy constructor.
@ System
System components used by the System, Device, Plc or Io domains.
Root namespace for the PLCnext API