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/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*/;
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 // NOLINTEND
45
46public:
47 // member functions
48 // NOLINTBEGIN
49 MCNAPI Symmetric(::Crypto::Symmetric::System system, ::Crypto::Symmetric::OperationMode mode);
50 // NOLINTEND
51
52public:
53 // constructor thunks
54 // NOLINTBEGIN
55 MCNAPI void* $ctor(::Crypto::Symmetric::System system, ::Crypto::Symmetric::OperationMode mode);
56 // NOLINTEND
57
58public:
59 // destructor thunk
60 // NOLINTBEGIN
61 MCNAPI void $dtor();
62 // NOLINTEND
63
64public:
65 // virtual function thunks
66 // NOLINTBEGIN
67 MCNAPI void $init(::std::string const& key, ::std::string const& IV);
68
69 MCNAPI void $encrypt(::std::string const& plaintext, ::std::string& output);
70
71 MCNAPI void $decrypt(::std::string const& ciphertext, ::std::string& output);
72
73 MCNAPI uint64 $getKeySize() const;
74
75 MCNAPI uint64 $getBlockSize() const;
76
77 MCNAPI uint64 $getEncryptionBufferSize(uint64 inputSize) const;
78
79 MCNAPI bool $encryptToBuffer(::gsl::span<char const> input, ::gsl::span<char> output, uint64& bytesWritten);
80
81
82 // NOLINTEND
83
84public:
85 // vftables
86 // NOLINTBEGIN
87 MCNAPI static void** $vftable();
88 // NOLINTEND
89};
90
91} // 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 Symmetric(::Crypto::Symmetric::System system, ::Crypto::Symmetric::OperationMode mode)
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