LeviLamina
Loading...
Searching...
No Matches
OpenSSLSymmetricInterface.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/crypto/symmetric/system/ISystemInterface.h"
7
8namespace Crypto::Symmetric {
9
10class OpenSSLSymmetricInterface : public ::Crypto::Symmetric::ISystemInterface {
11public:
12 // member variables
13 // NOLINTBEGIN
18 // NOLINTEND
19
20public:
21 // prevent constructor by default
22 OpenSSLSymmetricInterface& operator=(OpenSSLSymmetricInterface const&);
23 OpenSSLSymmetricInterface(OpenSSLSymmetricInterface const&);
24 OpenSSLSymmetricInterface();
25
26public:
27 // virtual functions
28 // NOLINTBEGIN
29 virtual void init(::std::string const& key, ::std::string const& IV) /*override*/;
30
31 virtual void encrypt(::std::string const& plaintext, ::std::string& out) /*override*/;
32
33 virtual void decrypt(::std::string const& ciphertext, ::std::string& out) /*override*/;
34
35 virtual uint64 getKeySize() const /*override*/;
36
37 virtual uint64 getBlockSize() const /*override*/;
38
39 virtual uint64 getEncryptionBufferSize(uint64 inputSize) const /*override*/;
40
41 virtual bool
42 encryptToBuffer(::gsl::span<char const> input, ::gsl::span<char> output, uint64& bytesWritten) /*override*/;
43
44 virtual ~OpenSSLSymmetricInterface() /*override*/ = default;
45 // NOLINTEND
46
47public:
48 // virtual function thunks
49 // NOLINTBEGIN
50 MCNAPI void $init(::std::string const& key, ::std::string const& IV);
51
52 MCNAPI void $encrypt(::std::string const& plaintext, ::std::string& out);
53
54 MCNAPI void $decrypt(::std::string const& ciphertext, ::std::string& out);
55
56 MCNAPI uint64 $getKeySize() const;
57
58 MCNAPI uint64 $getBlockSize() const;
59
60 MCNAPI uint64 $getEncryptionBufferSize(uint64 inputSize) const;
61
62 MCNAPI bool $encryptToBuffer(::gsl::span<char const> input, ::gsl::span<char> output, uint64& bytesWritten);
63
64
65 // NOLINTEND
66
67public:
68 // vftables
69 // NOLINTBEGIN
70 MCNAPI static void** $vftable();
71 // NOLINTEND
72};
73
74} // namespace Crypto::Symmetric
Definition ISystemInterface.h:7
MCAPI void $encrypt(::std::string const &plaintext, ::std::string &out)
MCAPI void $init(::std::string const &key, ::std::string const &IV)
MCAPI uint64 $getEncryptionBufferSize(uint64 inputSize) const
MCAPI bool $encryptToBuffer(::gsl::span< char const > input, ::gsl::span< char > output, uint64 &bytesWritten)
MCAPI void $decrypt(::std::string const &ciphertext, ::std::string &out)
Definition Alias.h:14