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; }
14namespace Bedrock::Threading { class Mutex; }
15struct HC_CALL;
16// clang-format on
17
18namespace Bedrock::Http {
19
20class LibHttpClientImpl : public ::Bedrock::Http::DispatcherProcess {
21public:
22 // member variables
23 // NOLINTBEGIN
29 // NOLINTEND
30
31public:
32 // prevent constructor by default
33 LibHttpClientImpl& operator=(LibHttpClientImpl const&);
34 LibHttpClientImpl(LibHttpClientImpl const&);
35
36public:
37 // virtual functions
38 // NOLINTBEGIN
39 virtual ~LibHttpClientImpl() /*override*/ = default;
40
41 virtual void initialize() /*override*/;
42
43 virtual void shutdown() /*override*/;
44
45 virtual ::Bedrock::Threading::Async<::Bedrock::Http::Response>
46 send(::Bedrock::Http::Request&& request) /*override*/;
47 // NOLINTEND
48
49public:
50 // member functions
51 // NOLINTBEGIN
53
54 MCNAPI ::std::shared_ptr<::Bedrock::Http::Internal::IResponseBody>
55 _tryGetResponseBody(::gsl::not_null<::HC_CALL*> call);
56 // NOLINTEND
57
58public:
59 // static functions
60 // NOLINTBEGIN
61 MCNAPI static HRESULT
62 _requestBodyRead(::HC_CALL* call, uint64, uint64 bytesAvailable, void*, uchar* destination, uint64* bytesWritten);
63
64 MCNAPI static HRESULT _responseBodyWrite(::HC_CALL* call, uchar const* source, uint64 bytesAvailable, void*);
65 // NOLINTEND
66
67public:
68 // static variables
69 // NOLINTBEGIN
70 MCNAPI static ::Bedrock::Threading::Mutex& sWeakThisMutex();
71 // NOLINTEND
72
73public:
74 // constructor thunks
75 // NOLINTBEGIN
76 MCNAPI void* $ctor();
77 // NOLINTEND
78
79public:
80 // virtual function thunks
81 // NOLINTBEGIN
82 MCNAPI void $initialize();
83
84 MCNAPI void $shutdown();
85
86 MCNAPI ::Bedrock::Threading::Async<::Bedrock::Http::Response> $send(::Bedrock::Http::Request&& request);
87
88
89 // NOLINTEND
90};
91
92} // namespace Bedrock::Http
Definition DispatcherProcess.h:11
Definition IResponseBody.h:10
MCAPI ::Bedrock::Threading::Async<::Bedrock::Http::Response > $send(::Bedrock::Http::Request &&request)
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)
static MCAPI ::Bedrock::Threading::Mutex & sWeakThisMutex()
Definition Request.h:15
Definition Response.h:7
Definition Mutex.h:10
Definition HC_CALL.h:14
Definition Alias.h:14