LeviLamina
Loading...
Searching...
No Matches
JsonRpcProvider.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/platform/Result.h"
7
8// auto generated forward declare list
9// clang-format off
11namespace Json { class Value; }
12namespace JsonRpc { class IObserver; }
13namespace JsonRpc { class IResultHandler; }
14namespace JsonRpc { class ITransport; }
15namespace JsonRpc { class JsonRpcError; }
16// clang-format on
17
18namespace JsonRpc {
19
20class JsonRpcProvider : public ::std::enable_shared_from_this<::JsonRpc::JsonRpcProvider> {
21public:
22 // JsonRpcProvider inner types declare
23 // clang-format off
25 // clang-format on
26
27 // JsonRpcProvider inner types define
28 struct JsonRpcPendingResult {
29 public:
30 // member variables
31 // NOLINTBEGIN
34 // NOLINTEND
35
36 public:
37 // prevent constructor by default
38 JsonRpcPendingResult& operator=(JsonRpcPendingResult const&);
39 JsonRpcPendingResult(JsonRpcPendingResult const&);
40 JsonRpcPendingResult();
41
42 public:
43 // member functions
44 // NOLINTBEGIN
46 // NOLINTEND
47
48 public:
49 // destructor thunk
50 // NOLINTBEGIN
51 MCNAPI void $dtor();
52 // NOLINTEND
53 };
54
55public:
56 // member variables
57 // NOLINTBEGIN
69 // NOLINTEND
70
71public:
72 // prevent constructor by default
73 JsonRpcProvider& operator=(JsonRpcProvider const&);
74 JsonRpcProvider(JsonRpcProvider const&);
75 JsonRpcProvider();
76
77public:
78 // member functions
79 // NOLINTBEGIN
81 ::std::shared_ptr<::JsonRpc::ITransport> transport,
82 ::std::shared_ptr<::JsonRpc::IObserver> observer,
83 ::std::vector<::std::shared_ptr<::IJsonRpcComponent>> components
84 );
85
86 MCNAPI void _expirePendingResult(::std::string const& id);
87
88 MCNAPI void
90
91 MCNAPI ::std::unique_ptr<::std::string, ::std::function<void(::std::string*)>>
92 registerJsonRpcMethod(::std::string method, ::std::unique_ptr<::JsonRpc::IResultHandler> handler);
93 // NOLINTEND
94
95public:
96 // constructor thunks
97 // NOLINTBEGIN
98 MCNAPI void* $ctor(
99 ::std::shared_ptr<::JsonRpc::ITransport> transport,
100 ::std::shared_ptr<::JsonRpc::IObserver> observer,
101 ::std::vector<::std::shared_ptr<::IJsonRpcComponent>> components
102 );
103 // NOLINTEND
104};
105
106} // namespace JsonRpc
Definition Result.h:9
Definition IJsonRpcComponent.h:10
Definition IObserver.h:13
Definition IResultHandler.h:17
Definition ITransport.h:11
Definition JsonRpcError.h:7
MCAPI void handleJsonRpcResult(::std::string const &id, ::Bedrock::Result<::Json::Value, ::JsonRpc::JsonRpcError > &&result)
MCAPI JsonRpcProvider(::std::shared_ptr<::JsonRpc::ITransport > transport, ::std::shared_ptr<::JsonRpc::IObserver > observer, ::std::vector<::std::shared_ptr<::IJsonRpcComponent > > components)
MCAPI void _expirePendingResult(::std::string const &id)
MCAPI void * $ctor(::std::shared_ptr<::JsonRpc::ITransport > transport, ::std::shared_ptr<::JsonRpc::IObserver > observer, ::std::vector<::std::shared_ptr<::IJsonRpcComponent > > components)
MCAPI ::std::unique_ptr<::std::string, ::std::function< void(::std::string *)> > registerJsonRpcMethod(::std::string method, ::std::unique_ptr<::JsonRpc::IResultHandler > handler)
Definition Value.h:16
Definition JsonRpcProvider.h:28
Definition Alias.h:14