3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/platform/Result.h"
13namespace Json {
class Value; }
22class JsonRpcProvider :
public ::std::enable_shared_from_this<::JsonRpc::JsonRpcProvider> {
30 struct JsonRpcPendingResult {
40 JsonRpcPendingResult& operator=(JsonRpcPendingResult
const&);
41 JsonRpcPendingResult(JsonRpcPendingResult
const&);
42 JsonRpcPendingResult();
75 JsonRpcProvider& operator=(JsonRpcProvider
const&);
76 JsonRpcProvider(JsonRpcProvider
const&);
83 ::std::shared_ptr<::JsonRpc::ITransport> transport,
84 ::std::shared_ptr<::JsonRpc::IObserver> observer,
85 ::std::vector<::std::shared_ptr<::IJsonRpcComponent>> components
89 ::std::shared_ptr<::JsonRpc::ITransport> transport,
90 ::std::shared_ptr<::JsonRpc::IObserver> observer,
91 ::std::vector<::std::shared_ptr<::IJsonRpcComponent>> components,
101 MCNAPI
void onMessage(::std::string_view incomingMessage);
103 MCNAPI ::std::unique_ptr<::std::string, ::std::function<void(::std::string*)>>
113 ::std::shared_ptr<::JsonRpc::ITransport> transport,
114 ::std::shared_ptr<::JsonRpc::IObserver> observer,
115 ::std::vector<::std::shared_ptr<::IJsonRpcComponent>> components
119 ::std::shared_ptr<::JsonRpc::ITransport> transport,
120 ::std::shared_ptr<::JsonRpc::IObserver> observer,
121 ::std::vector<::std::shared_ptr<::IJsonRpcComponent>> components,
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 Scheduler.h:15
Definition WorkerPool.h:22
Definition JsonRpcProvider.h:30
MCAPI ~JsonRpcPendingResult()