Bitcoin Core  27.99.0
P2P Digital Currency
Public Types | Public Member Functions | Public Attributes | Private Member Functions | List of all members
RPCResult Struct Reference

#include <util.h>

Public Types

enum class  Type {
  OBJ , ARR , STR , NUM ,
  BOOL , NONE , ANY , STR_AMOUNT ,
  STR_HEX , OBJ_DYN , ARR_FIXED , NUM_TIME ,
  ELISION
}
 

Public Member Functions

 RPCResult (std::string cond, Type type, std::string m_key_name, bool optional, std::string description, std::vector< RPCResult > inner={})
 
 RPCResult (std::string cond, Type type, std::string m_key_name, std::string description, std::vector< RPCResult > inner={})
 
 RPCResult (Type type, std::string m_key_name, bool optional, std::string description, std::vector< RPCResult > inner={}, bool skip_type_check=false)
 
 RPCResult (Type type, std::string m_key_name, std::string description, std::vector< RPCResult > inner={}, bool skip_type_check=false)
 
void ToSections (Sections &sections, OuterType outer_type=OuterType::NONE, const int current_indent=0) const
 Append the sections of the result. More...
 
std::string ToStringObj () const
 Return the type string of the result when it is in an object (dict). More...
 
std::string ToDescriptionString () const
 Return the description string, including the result type. More...
 
UniValue MatchesType (const UniValue &result) const
 Check whether the result JSON type matches. More...
 

Public Attributes

const Type m_type
 
const std::string m_key_name
 Only used for dicts. More...
 
const std::vector< RPCResultm_inner
 Only used for arrays or dicts. More...
 
const bool m_optional
 
const bool m_skip_type_check
 
const std::string m_description
 
const std::string m_cond
 

Private Member Functions

void CheckInnerDoc () const
 

Detailed Description

Definition at line 274 of file util.h.

Member Enumeration Documentation

◆ Type

enum RPCResult::Type
strong
Enumerator
OBJ 
ARR 
STR 
NUM 
BOOL 
NONE 
ANY 

Special type to disable type checks (for testing only)

STR_AMOUNT 

Special string to represent a floating point amount.

STR_HEX 

Special string with only hex chars.

OBJ_DYN 

Special dictionary with keys that are not literals.

ARR_FIXED 

Special array that has a fixed number of entries.

NUM_TIME 

Special numeric to denote unix epoch time.

ELISION 

Special type to denote elision (...)

Definition at line 275 of file util.h.

Constructor & Destructor Documentation

◆ RPCResult() [1/4]

RPCResult::RPCResult ( std::string  cond,
Type  type,
std::string  m_key_name,
bool  optional,
std::string  description,
std::vector< RPCResult inner = {} 
)
inline

Definition at line 299 of file util.h.

◆ RPCResult() [2/4]

RPCResult::RPCResult ( std::string  cond,
Type  type,
std::string  m_key_name,
std::string  description,
std::vector< RPCResult inner = {} 
)
inline

Definition at line 318 of file util.h.

◆ RPCResult() [3/4]

RPCResult::RPCResult ( Type  type,
std::string  m_key_name,
bool  optional,
std::string  description,
std::vector< RPCResult inner = {},
bool  skip_type_check = false 
)
inline

Definition at line 326 of file util.h.

◆ RPCResult() [4/4]

RPCResult::RPCResult ( Type  type,
std::string  m_key_name,
std::string  description,
std::vector< RPCResult inner = {},
bool  skip_type_check = false 
)
inline

Definition at line 344 of file util.h.

Member Function Documentation

◆ CheckInnerDoc()

void RPCResult::CheckInnerDoc ( ) const
private

Definition at line 1156 of file util.cpp.

◆ MatchesType()

UniValue RPCResult::MatchesType ( const UniValue result) const

Check whether the result JSON type matches.

Returns true if type matches, or object describing error(s) if not.

Definition at line 1089 of file util.cpp.

Here is the call graph for this function:

◆ ToDescriptionString()

std::string RPCResult::ToDescriptionString ( ) const

Return the description string, including the result type.

◆ ToSections()

void RPCResult::ToSections ( Sections sections,
OuterType  outer_type = OuterType::NONE,
const int  current_indent = 0 
) const

Append the sections of the result.

Definition at line 956 of file util.cpp.

Here is the call graph for this function:

◆ ToStringObj()

std::string RPCResult::ToStringObj ( ) const

Return the type string of the result when it is in an object (dict).

Member Data Documentation

◆ m_cond

const std::string RPCResult::m_cond

Definition at line 297 of file util.h.

◆ m_description

const std::string RPCResult::m_description

Definition at line 296 of file util.h.

◆ m_inner

const std::vector<RPCResult> RPCResult::m_inner

Only used for arrays or dicts.

Definition at line 293 of file util.h.

◆ m_key_name

const std::string RPCResult::m_key_name

Only used for dicts.

Definition at line 292 of file util.h.

◆ m_optional

const bool RPCResult::m_optional

Definition at line 294 of file util.h.

◆ m_skip_type_check

const bool RPCResult::m_skip_type_check

Definition at line 295 of file util.h.

◆ m_type

const Type RPCResult::m_type

Definition at line 291 of file util.h.


The documentation for this struct was generated from the following files: