xrpld
Loading...
Searching...
No Matches
AbstractClient.h
1#pragma once
2
3#include <xrpl/json/json_value.h>
4
5#include <string>
6
7namespace xrpl::test {
8
9/* Abstract XRPL client interface.
10
11 This abstracts the transport layer, allowing
12 commands to be submitted to an xrpld server.
13*/
15{
16public:
17 virtual ~AbstractClient() = default;
18 AbstractClient() = default;
21 operator=(AbstractClient const&) = delete;
22
35 virtual json::Value
36 invoke(std::string const& cmd, json::Value const& params = {}) = 0;
37
41 [[nodiscard]] virtual unsigned
42 version() const = 0;
43
52 virtual void
54};
55
56} // namespace xrpl::test
Represents a JSON value.
Definition json_value.h:117
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.
virtual void disconnect()=0
Close the client's connection to the server.