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/ISystemInterface.h"
7#include "mc/deps/crypto/symmetric/OperationMode.h"
8#include "mc/deps/crypto/symmetric/System.h"
9
10namespace Crypto::Symmetric {
11
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 // vIndex: 0
29 virtual ~Symmetric() /*override*/;
30
31 // vIndex: 1
32 virtual void init(::std::string const& key, ::std::string const& IV) /*override*/;
33
34 // vIndex: 2
35 virtual void encrypt(::std::string const& plaintext, ::std::string& output) /*override*/;
36
37 // vIndex: 3
38 virtual void decrypt(::std::string const& ciphertext, ::std::string& output) /*override*/;
39
40 // vIndex: 4
41 virtual uint64 getKeySize() const /*override*/;
42
43 // vIndex: 5
44 virtual uint64 getBlockSize() const /*override*/;
45
46 // vIndex: 6
47 virtual uint64 getEncryptionBufferSize(uint64 inputSize) const /*override*/;
48
49 // vIndex: 7
50 virtual bool
51 encryptToBuffer(::gsl::span<char const> input, ::gsl::span<char> output, uint64& bytesWritten) /*override*/;
52 // NOLINTEND
53
54public:
55 // member functions
56 // NOLINTBEGIN
57 MCAPI Symmetric(::Crypto::Symmetric::System system, ::Crypto::Symmetric::OperationMode mode);
58 // NOLINTEND
59
60public:
61 // constructor thunks
62 // NOLINTBEGIN
63 MCAPI void* $ctor(::Crypto::Symmetric::System system, ::Crypto::Symmetric::OperationMode mode);
64 // NOLINTEND
65
66public:
67 // destructor thunk
68 // NOLINTBEGIN
69 MCFOLD void $dtor();
70 // NOLINTEND
71
72public:
73 // virtual function thunks
74 // NOLINTBEGIN
75 MCFOLD void $init(::std::string const& key, ::std::string const& IV);
76
77 MCFOLD void $encrypt(::std::string const& plaintext, ::std::string& output);
78
79 MCFOLD void $decrypt(::std::string const& ciphertext, ::std::string& output);
80
81 MCFOLD uint64 $getKeySize() const;
82
83 MCFOLD uint64 $getBlockSize() const;
84
85 MCFOLD uint64 $getEncryptionBufferSize(uint64 inputSize) const;
86
87 MCAPI bool $encryptToBuffer(::gsl::span<char const> input, ::gsl::span<char> output, uint64& bytesWritten);
88 // NOLINTEND
89
90public:
91 // vftables
92 // NOLINTBEGIN
93 MCAPI static void** $vftable();
94 // NOLINTEND
95};
96
97} // namespace Crypto::Symmetric
Definition ISystemInterface.h:7
Definition Symmetric.h:12
Definition Alias.h:14