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
12namespace Json { class Value; }
13namespace JsonRpc { class IResultHandler; }
14namespace JsonRpc { class JsonRpcError; }
15// clang-format on
16
17namespace JsonRpc {
18
19class JsonRpcProvider : public ::std::enable_shared_from_this<::JsonRpc::JsonRpcProvider> {
20public:
21 // JsonRpcProvider inner types declare
22 // clang-format off
24 // clang-format on
25
26 // JsonRpcProvider inner types define
27 struct JsonRpcPendingResult {
28 public:
29 // member variables
30 // NOLINTBEGIN
33 // NOLINTEND
34
35 public:
36 // prevent constructor by default
37 JsonRpcPendingResult& operator=(JsonRpcPendingResult const&);
38 JsonRpcPendingResult(JsonRpcPendingResult const&);
39 JsonRpcPendingResult();
40
41 public:
42 // member functions
43 // NOLINTBEGIN
45 // NOLINTEND
46
47 public:
48 // destructor thunk
49 // NOLINTBEGIN
50 MCNAPI void $dtor();
51 // NOLINTEND
52 };
53
54public:
55 // member variables
56 // NOLINTBEGIN
67 // NOLINTEND
68
69public:
70 // prevent constructor by default
71 JsonRpcProvider& operator=(JsonRpcProvider const&);
72 JsonRpcProvider(JsonRpcProvider const&);
73 JsonRpcProvider();
74
75public:
76 // member functions
77 // NOLINTBEGIN
79 ::std::shared_ptr<::ISignalingJsonRpcInterop> signalingServiceInterop,
80 ::std::vector<::std::shared_ptr<::IJsonRpcComponent>> components
81 );
82
83 MCNAPI void _dispatchJsonRpc(::std::string const& method, ::Json::Value const& params, ::std::string const& id);
84
85 MCNAPI void _expirePendingResult(::std::string const& id);
86
87 MCNAPI void
89
90 MCNAPI void onMessage(::std::string_view incomingMessage);
91
92 MCNAPI ::std::unique_ptr<::std::string, ::std::function<void(::std::string*)>>
93 registerJsonRpcMethod(::std::string method, ::std::unique_ptr<::JsonRpc::IResultHandler> handler);
94
96 // NOLINTEND
97
98public:
99 // constructor thunks
100 // NOLINTBEGIN
101 MCNAPI void* $ctor(
102 ::std::shared_ptr<::ISignalingJsonRpcInterop> signalingServiceInterop,
103 ::std::vector<::std::shared_ptr<::IJsonRpcComponent>> components
104 );
105 // NOLINTEND
106
107public:
108 // destructor thunk
109 // NOLINTBEGIN
110 MCNAPI void $dtor();
111 // NOLINTEND
112};
113
114} // namespace JsonRpc
Definition Result.h:9
Definition IJsonRpcComponent.h:10
Definition ISignalingJsonRpcInterop.h:20
Definition IResultHandler.h:17
Definition JsonRpcError.h:12
MCAPI void handleJsonRpcResult(::std::string const &id, ::Bedrock::Result<::Json::Value, ::JsonRpc::JsonRpcError > &&result)
MCAPI void _expirePendingResult(::std::string const &id)
MCAPI void _dispatchJsonRpc(::std::string const &method, ::Json::Value const &params, ::std::string const &id)
MCAPI void * $ctor(::std::shared_ptr<::ISignalingJsonRpcInterop > signalingServiceInterop, ::std::vector<::std::shared_ptr<::IJsonRpcComponent > > components)
MCAPI JsonRpcProvider(::std::shared_ptr<::ISignalingJsonRpcInterop > signalingServiceInterop, ::std::vector<::std::shared_ptr<::IJsonRpcComponent > > components)
MCAPI void onMessage(::std::string_view incomingMessage)
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:27
Definition Alias.h:14