LeviLamina
Loading...
Searching...
No Matches
ISystemInterface.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5namespace Crypto::Symmetric {
6
8public:
9 // virtual functions
10 // NOLINTBEGIN
11 virtual ~ISystemInterface() = default;
12
13 virtual void init(::std::string const&, ::std::string const&) = 0;
14
15 virtual void encrypt(::std::string const&, ::std::string&) = 0;
16
17 virtual void decrypt(::std::string const&, ::std::string&) = 0;
18
19 virtual uint64 getKeySize() const = 0;
20
21 virtual uint64 getBlockSize() const = 0;
22
23 virtual uint64 getEncryptionBufferSize(uint64) const = 0;
24
25 virtual bool encryptToBuffer(::gsl::span<char const>, ::gsl::span<char>, uint64&) = 0;
26 // NOLINTEND
27
28public:
29 // virtual function thunks
30 // NOLINTBEGIN
31
32 // NOLINTEND
33};
34
35} // namespace Crypto::Symmetric
Definition ISystemInterface.h:7