Kagome
Polkadot Runtime Engine in C++17
|
#include <base_request.hpp>
Public Types | |
using | Params = std::tuple< ArgumentTypes... > |
using | Return = ResultType |
Public Member Functions | |
RequestType ()=default | |
virtual | ~RequestType ()=default |
virtual outcome::result< ResultType > | execute ()=0 |
RequestType (const RequestType &)=delete | |
RequestType & | operator= (const RequestType &)=delete |
RequestType (RequestType &&)=delete | |
RequestType & | operator= (RequestType &&)=delete |
outcome::result< void > | init (const jsonrpc::Request::Parameters ¶ms) |
template<size_t I> | |
auto | getParam () -> typename std::tuple_element< I, decltype(params_)>::type & |
Private Member Functions | |
template<typename T > | |
void | loadValue (std::optional< T > &dst, const jsonrpc::Value &src) |
template<typename SequenceContainer , typename = typename SequenceContainer::value_type, typename = typename SequenceContainer::iterator> | |
void | loadValue (SequenceContainer &dst, const jsonrpc::Value &src) |
template<typename T > | |
std::enable_if_t< std::is_integral_v< T >, void > | loadValue (T &dst, const jsonrpc::Value &src) |
void | loadValue (bool &dst, const jsonrpc::Value &src) |
void | loadValue (std::string &dst, const jsonrpc::Value &src) |
Private Attributes | |
Params | params_ |
Base for all request classes. Automatically parses request arguments to
ArgumentTypes. | They can be accessed in execute() via getParam<N>(). |
Definition at line 32 of file base_request.hpp.
using kagome::api::details::RequestType< ResultType, ArgumentTypes >::Params = std::tuple<ArgumentTypes...> |
Definition at line 34 of file base_request.hpp.
using kagome::api::details::RequestType< ResultType, ArgumentTypes >::Return = ResultType |
Definition at line 35 of file base_request.hpp.
|
default |
|
virtualdefault |
|
delete |
|
delete |
|
pure virtual |
Implemented in kagome::api::state::request::QueryStorageAt, kagome::api::state::request::QueryStorage, kagome::api::system::request::Peers, kagome::api::state::request::GetMetadata, kagome::api::author::request::PendingExtrinsics, kagome::api::payment::request::QueryInfo, kagome::api::author::request::InsertKey, kagome::api::author::request::HasKey, kagome::api::author::request::HasSessionKeys, kagome::api::author::request::SubmitAndWatchExtrinsic, kagome::api::author::request::SubmitExtrinsic, kagome::api::author::request::RotateKeys, kagome::api::author::request::UnwatchExtrinsic, kagome::api::state::request::UnsubscribeRuntimeVersion, kagome::api::system::request::AccountNextIndex, kagome::api::chain::request::SubscribeNewHeads, kagome::api::state::request::SubscribeRuntimeVersion, kagome::api::chain::request::UnsubscribeFinalizedHeads, kagome::api::chain::request::SubscribeFinalizedHeads, kagome::api::internal::request::SetLogLevel, kagome::api::chain::request::UnsubscribeNewHeads, kagome::api::chain::request::GetBlock, kagome::api::chain::request::GetHeader, and kagome::api::chain::request::GetFinalizedHead.
|
inline |
Definition at line 65 of file base_request.hpp.
|
inline |
Definition at line 52 of file base_request.hpp.
|
inlineprivate |
Definition at line 74 of file base_request.hpp.
|
inlineprivate |
Definition at line 87 of file base_request.hpp.
|
inlineprivate |
Definition at line 100 of file base_request.hpp.
|
inlineprivate |
Definition at line 120 of file base_request.hpp.
|
inlineprivate |
Definition at line 127 of file base_request.hpp.
|
delete |
|
delete |
|
private |
Definition at line 38 of file base_request.hpp.