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 sendPacket(
42 ::std::string const& data,
43 ::NetworkPeer::Reliability reliability,
44 ::Compressibility compressible
45 ) /*override*/;
46
47 virtual ::NetworkPeer::NetworkStatus getNetworkStatus() const /*override*/;
48
49 virtual bool isEncrypted() const /*override*/;
50
51 virtual ::NetworkPeer::DataStatus _receivePacket(
52 ::std::string& outData,
53 ::std::shared_ptr<::std::chrono::steady_clock::time_point> const& timepointPtr
54 ) /*override*/;
55 // NOLINTEND
56
57public:
58 // member functions
59 // NOLINTBEGIN
60 MCAPI explicit EncryptedNetworkPeer(::std::shared_ptr<::NetworkPeer> peer);
61
62 MCAPI void enableEncryption(::std::string const& symmetricKey);
63 // NOLINTEND
64
65public:
66 // constructor thunks
67 // NOLINTBEGIN
68 MCAPI void* $ctor(::std::shared_ptr<::NetworkPeer> peer);
69 // NOLINTEND
70
71public:
72 // destructor thunk
73 // NOLINTBEGIN
74 MCAPI void $dtor();
75 // NOLINTEND
76
77public:
78 // virtual function thunks
79 // NOLINTBEGIN
80 MCAPI void
81 $sendPacket(::std::string const& data, ::NetworkPeer::Reliability reliability, ::Compressibility compressible);
82
83 MCFOLD ::NetworkPeer::NetworkStatus $getNetworkStatus() const;
84
85 MCAPI bool $isEncrypted() const;
86
87 MCAPI ::NetworkPeer::DataStatus $_receivePacket(
88 ::std::string& outData,
89 ::std::shared_ptr<::std::chrono::steady_clock::time_point> const& timepointPtr
90 );
91
92
93 // NOLINTEND
94
95public:
96 // vftables
97 // NOLINTBEGIN
98 MCNAPI static void** $vftable();
99 // NOLINTEND
100};
Definition HMAC.h:15
Definition Symmetric.h:12
static MCAPI void ** $vftable()
Definition NetworkPeer.h:8