xrpld
Loading...
Searching...
No Matches
Version.h
1#pragma once
2
3#include <xrpld/app/main/Application.h> // IWYU pragma: keep
4#include <xrpld/rpc/Context.h>
5#include <xrpld/rpc/Role.h>
6#include <xrpld/rpc/Status.h>
7#include <xrpld/rpc/detail/Handler.h>
8
9#include <xrpl/json/json_value.h>
10#include <xrpl/protocol/ApiVersion.h>
11
12namespace xrpl::rpc {
13
15{
16public:
18 : apiVersion_(c.apiVersion), betaEnabled_(c.app.config().betaRpcApi)
19 {
20 }
21
22 static Status
24 {
25 return Status::kOK;
26 }
27
28 void
30 {
32 }
33
34 // NOLINTBEGIN(readability-identifier-naming)
35 static constexpr char const* name = "version";
36
37 static constexpr unsigned minApiVer = rpc::kApiMinimumSupportedVersion;
38
39 static constexpr unsigned maxApiVer = rpc::kApiMaximumValidVersion;
40
41 static constexpr Role role = Role::USER;
42
44 // NOLINTEND(readability-identifier-naming)
45
46private:
47 unsigned int apiVersion_;
49};
50
51} // namespace xrpl::rpc
Represents a JSON value.
Definition json_value.h:117
static constexpr Condition condition
Definition Version.h:43
unsigned int apiVersion_
Definition Version.h:47
static constexpr unsigned maxApiVer
Definition Version.h:39
static Status check()
Definition Version.h:23
static constexpr char const * name
Definition Version.h:35
static constexpr unsigned minApiVer
Definition Version.h:37
void writeResult(json::Value &obj) const
Definition Version.h:29
static constexpr Role role
Definition Version.h:41
VersionHandler(JsonContext &c)
Definition Version.h:17
API version numbers used in later API versions.
Definition ApiVersion.h:36
void setVersion(json::Value &parent, unsigned int apiVersion, bool betaEnabled)
Definition ApiVersion.h:61
static constexpr auto kApiMaximumValidVersion
Definition ApiVersion.h:47
static constexpr auto kApiMinimumSupportedVersion
Definition ApiVersion.h:42
Role
Indicates the level of administrative permission to grant.
Definition Role.h:27
@ USER
Definition Role.h:27
Status represents the results of an operation that might fail.
Definition Status.h:27
static constexpr Code kOK
Definition Status.h:33