xrpld
Loading...
Searching...
No Matches
AbstractClient.h
1#pragma once
2
3#include <xrpl/json/json_value.h>
4
5namespace xrpl::test {
6
7/* Abstract XRPL client interface.
8
9 This abstracts the transport layer, allowing
10 commands to be submitted to an xrpld server.
11*/
13{
14public:
15 virtual ~AbstractClient() = default;
16 AbstractClient() = default;
19 operator=(AbstractClient const&) = delete;
20
32 virtual json::Value
33 invoke(std::string const& cmd, json::Value const& params = {}) = 0;
34
36 [[nodiscard]] virtual unsigned
37 version() const = 0;
38};
39
40} // namespace xrpl::test
Represents a JSON value.
Definition json_value.h:130
AbstractClient(AbstractClient const &)=delete
virtual json::Value invoke(std::string const &cmd, json::Value const &params={})=0
Submit a command synchronously.
virtual ~AbstractClient()=default
AbstractClient & operator=(AbstractClient const &)=delete
virtual unsigned version() const =0
Get RPC 1.0 or RPC 2.0.