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