Skip to content
LeviMC
English
AutoLightDark
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
11class Scheduler;
12class WorkerPool;
13namespace Json { class Value; }
14namespace JsonRpc { class IObserver; }
15namespace JsonRpc { class IResultHandler; }
16namespace JsonRpc { class ITransport; }
17namespace JsonRpc { class JsonRpcError; }
18// clang-format on
19
20namespace JsonRpc {
21
22class JsonRpcProvider : public ::std::enable_shared_from_this<::JsonRpc::JsonRpcProvider> {
23public:
24 // JsonRpcProvider inner types declare
25 // clang-format off
27 // clang-format on
28
29 // JsonRpcProvider inner types define
30 struct JsonRpcPendingResult {
31 public:
32 // member variables
33 // NOLINTBEGIN
36 // NOLINTEND
37
38 public:
39 // prevent constructor by default
40 JsonRpcPendingResult& operator=(JsonRpcPendingResult const&);
41 JsonRpcPendingResult(JsonRpcPendingResult const&);
42 JsonRpcPendingResult();
43
44 public:
45 // member functions
46 // NOLINTBEGIN
48 // NOLINTEND
49
50 public:
51 // destructor thunk
52 // NOLINTBEGIN
53 MCNAPI void $dtor();
54 // NOLINTEND
55 };
56
57public:
58 // member variables
59 // NOLINTBEGIN
71 // NOLINTEND
72
73public:
74 // prevent constructor by default
75 JsonRpcProvider& operator=(JsonRpcProvider const&);
76 JsonRpcProvider(JsonRpcProvider const&);
77 JsonRpcProvider();
78
79public:
80 // member functions
81 // NOLINTBEGIN
83 ::std::shared_ptr<::JsonRpc::ITransport> transport,
84 ::std::shared_ptr<::JsonRpc::IObserver> observer,
85 ::std::vector<::std::shared_ptr<::IJsonRpcComponent>> components
86 );
87
89 ::std::shared_ptr<::JsonRpc::ITransport> transport,
90 ::std::shared_ptr<::JsonRpc::IObserver> observer,
91 ::std::vector<::std::shared_ptr<::IJsonRpcComponent>> components,
92 ::WorkerPool& workerPool,
93 ::Scheduler& scheduler
94 );
95
96 MCNAPI void _expirePendingResult(::std::string const& id);
97
98 MCNAPI void
100
101 MCNAPI void onMessage(::std::string_view incomingMessage);
102
103 MCNAPI ::std::unique_ptr<::std::string, ::std::function<void(::std::string*)>>
104 registerJsonRpcMethod(::std::string method, ::std::unique_ptr<::JsonRpc::IResultHandler> handler);
105
107 // NOLINTEND
108
109public:
110 // constructor thunks
111 // NOLINTBEGIN
112 MCNAPI void* $ctor(
113 ::std::shared_ptr<::JsonRpc::ITransport> transport,
114 ::std::shared_ptr<::JsonRpc::IObserver> observer,
115 ::std::vector<::std::shared_ptr<::IJsonRpcComponent>> components
116 );
117
118 MCNAPI void* $ctor(
119 ::std::shared_ptr<::JsonRpc::ITransport> transport,
120 ::std::shared_ptr<::JsonRpc::IObserver> observer,
121 ::std::vector<::std::shared_ptr<::IJsonRpcComponent>> components,
122 ::WorkerPool& workerPool,
123 ::Scheduler& scheduler
124 );
125 // NOLINTEND
126
127public:
128 // destructor thunk
129 // NOLINTBEGIN
130 MCNAPI void $dtor();
131 // NOLINTEND
132};
133
134} // 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 * $ctor(::std::shared_ptr<::JsonRpc::ITransport > transport, ::std::shared_ptr<::JsonRpc::IObserver > observer, ::std::vector<::std::shared_ptr<::IJsonRpcComponent > > components, ::WorkerPool &workerPool, ::Scheduler &scheduler)
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 void onMessage(::std::string_view incomingMessage)
MCAPI JsonRpcProvider(::std::shared_ptr<::JsonRpc::ITransport > transport, ::std::shared_ptr<::JsonRpc::IObserver > observer, ::std::vector<::std::shared_ptr<::IJsonRpcComponent > > components, ::WorkerPool &workerPool, ::Scheduler &scheduler)
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 Scheduler.h:15
Definition WorkerPool.h:22
Definition JsonRpcProvider.h:30
Definition Alias.h:14