LeviLamina
Loading...
Searching...
No Matches
LibHttpClientImpl.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/http/DispatcherProcess.h"
7#include "mc/deps/core/threading/Async.h"
8
9// auto generated forward declare list
10// clang-format off
11namespace Bedrock::Http { class Request; }
12namespace Bedrock::Http { class Response; }
13namespace Bedrock::Http::Internal { class IResponseBody; }
14struct HC_CALL;
15// clang-format on
16
17namespace Bedrock::Http {
18
19class LibHttpClientImpl : public ::Bedrock::Http::DispatcherProcess {
20public:
21 // member variables
22 // NOLINTBEGIN
28 // NOLINTEND
29
30public:
31 // prevent constructor by default
32 LibHttpClientImpl& operator=(LibHttpClientImpl const&);
33 LibHttpClientImpl(LibHttpClientImpl const&);
34
35public:
36 // virtual functions
37 // NOLINTBEGIN
38 virtual ~LibHttpClientImpl() /*override*/ = default;
39
40 virtual void initialize() /*override*/;
41
42 virtual void shutdown() /*override*/;
43
44 virtual ::Bedrock::Threading::Async<::Bedrock::Http::Response>
45 send(::Bedrock::Http::Request&& request) /*override*/;
46 // NOLINTEND
47
48public:
49 // member functions
50 // NOLINTBEGIN
52
53 MCNAPI ::std::shared_ptr<::Bedrock::Http::Internal::IResponseBody>
54 _tryGetResponseBody(::gsl::not_null<::HC_CALL*> call);
55 // NOLINTEND
56
57public:
58 // static functions
59 // NOLINTBEGIN
60 MCNAPI static HRESULT
61 _requestBodyRead(::HC_CALL* call, uint64, uint64 bytesAvailable, void*, uchar* destination, uint64* bytesWritten);
62
63 MCNAPI static HRESULT _responseBodyWrite(::HC_CALL* call, uchar const* source, uint64 bytesAvailable, void*);
64 // NOLINTEND
65
66public:
67 // static variables
68 // NOLINTBEGIN
69 MCNAPI static ::std::mutex& sWeakThisMutex();
70 // NOLINTEND
71
72public:
73 // constructor thunks
74 // NOLINTBEGIN
75 MCNAPI void* $ctor();
76 // NOLINTEND
77
78public:
79 // virtual function thunks
80 // NOLINTBEGIN
81 MCNAPI void $initialize();
82
83 MCNAPI void $shutdown();
84
85 MCNAPI ::Bedrock::Threading::Async<::Bedrock::Http::Response> $send(::Bedrock::Http::Request&& request);
86
87
88 // NOLINTEND
89};
90
91} // namespace Bedrock::Http
Definition DispatcherProcess.h:11
Definition IResponseBody.h:10
MCAPI ::Bedrock::Threading::Async<::Bedrock::Http::Response > $send(::Bedrock::Http::Request &&request)
static MCAPI ::std::mutex & sWeakThisMutex()
MCAPI ::std::shared_ptr<::Bedrock::Http::Internal::IResponseBody > _tryGetResponseBody(::gsl::not_null<::HC_CALL * > call)
static MCAPI HRESULT _responseBodyWrite(::HC_CALL *call, uchar const *source, uint64 bytesAvailable, void *)
static MCAPI HRESULT _requestBodyRead(::HC_CALL *call, uint64, uint64 bytesAvailable, void *, uchar *destination, uint64 *bytesWritten)
Definition Request.h:15
Definition Response.h:7
Definition HC_CALL.h:14
Definition Alias.h:14