LeviLamina
Loading...
Searching...
No Matches
EncryptedNetworkPeer.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/network/Compressibility.h"
7#include "mc/network/NetworkPeer.h"
8
9// auto generated forward declare list
10// clang-format off
11namespace Crypto::Hash { class HMAC; }
12namespace Crypto::Symmetric { class Symmetric; }
13// clang-format on
14
15class EncryptedNetworkPeer : public ::NetworkPeer {
16public:
17 // member variables
18 // NOLINTBEGIN
19 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Crypto::Symmetric::Symmetric>> mDecryption;
20 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Crypto::Hash::HMAC>> mEncryptionMAC;
21 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Crypto::Symmetric::Symmetric>> mEncryption;
22 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Crypto::Hash::HMAC>> mDecryptionMAC;
23 ::ll::TypedStorage<8, 8, uint64> mSendCounter;
24 ::ll::TypedStorage<8, 8, uint64> mReceiveCounter;
25 ::ll::TypedStorage<8, 32, ::std::string> mSendEncryptedDataBuffer;
26 ::ll::TypedStorage<8, 32, ::std::string> mSendSignedDataBuffer;
27 ::ll::TypedStorage<8, 32, ::std::string> mRecvEncryptedDataBuffer;
28 ::ll::TypedStorage<8, 32, ::std::string> mRecvSignedDataBuffer;
29 ::ll::TypedStorage<8, 32, ::std::string> mRecvDecryptedDataBuffer;
30 // NOLINTEND
31
32public:
33 // prevent constructor by default
34 EncryptedNetworkPeer();
35
36public:
37 // virtual functions
38 // NOLINTBEGIN
39 virtual ~EncryptedNetworkPeer() /*override*/;
40
41 virtual void
42 sendPacket(::std::string const& data, ::NetworkPeer::Reliability compressible, ::Compressibility) /*override*/;
43
44 virtual ::NetworkPeer::NetworkStatus getNetworkStatus() const /*override*/;
45
46 virtual bool isEncrypted() const /*override*/;
47
48 virtual ::NetworkPeer::DataStatus _receivePacket(
49 ::std::string& outData,
50 ::std::shared_ptr<::std::chrono::steady_clock::time_point> const& timepointPtr
51 ) /*override*/;
52 // NOLINTEND
53
54public:
55 // member functions
56 // NOLINTBEGIN
57 MCAPI explicit EncryptedNetworkPeer(::std::shared_ptr<::NetworkPeer> peer);
58
59 MCAPI void enableEncryption(::std::string const& symmetricKey);
60 // NOLINTEND
61
62public:
63 // constructor thunks
64 // NOLINTBEGIN
65 MCAPI void* $ctor(::std::shared_ptr<::NetworkPeer> peer);
66 // NOLINTEND
67
68public:
69 // destructor thunk
70 // NOLINTBEGIN
71 MCAPI void $dtor();
72 // NOLINTEND
73
74public:
75 // virtual function thunks
76 // NOLINTBEGIN
77 MCAPI void $sendPacket(::std::string const& data, ::NetworkPeer::Reliability compressible, ::Compressibility);
78
79 MCFOLD ::NetworkPeer::NetworkStatus $getNetworkStatus() const;
80
81 MCAPI bool $isEncrypted() const;
82
83 MCAPI ::NetworkPeer::DataStatus $_receivePacket(
84 ::std::string& outData,
85 ::std::shared_ptr<::std::chrono::steady_clock::time_point> const& timepointPtr
86 );
87
88
89 // NOLINTEND
90
91public:
92 // vftables
93 // NOLINTBEGIN
94 MCNAPI static void** $vftable();
95 // NOLINTEND
96};
Definition HMAC.h:15
Definition Symmetric.h:12
static MCAPI void ** $vftable()
Definition NetworkPeer.h:8