Bitcoin Core  27.99.0
P2P Digital Currency
Public Member Functions | Private Attributes | List of all members
CRPCTable Class Reference

RPC command dispatcher. More...

#include <server.h>

Public Member Functions

 CRPCTable ()
 
std::string help (const std::string &name, const JSONRPCRequest &helpreq) const
 
UniValue execute (const JSONRPCRequest &request) const
 Execute a method. More...
 
std::vector< std::string > listCommands () const
 Returns a list of registered commands. More...
 
UniValue dumpArgMap (const JSONRPCRequest &request) const
 Return all named arguments that need to be converted by the client from string to another JSON type. More...
 
void appendCommand (const std::string &name, const CRPCCommand *pcmd)
 Appends a CRPCCommand to the dispatch table. More...
 
bool removeCommand (const std::string &name, const CRPCCommand *pcmd)
 

Private Attributes

std::map< std::string, std::vector< const CRPCCommand * > > mapCommands
 

Detailed Description

RPC command dispatcher.

Definition at line 132 of file server.h.

Constructor & Destructor Documentation

◆ CRPCTable()

CRPCTable::CRPCTable ( )

Definition at line 269 of file server.cpp.

Here is the call graph for this function:

Member Function Documentation

◆ appendCommand()

void CRPCTable::appendCommand ( const std::string &  name,
const CRPCCommand pcmd 
)

Appends a CRPCCommand to the dispatch table.

Precondition: RPC server is not running

Commands with different method names but the same unique_id will be considered aliases, and only the first registered method name will show up in the help text command listing. Aliased commands do not have to have the same behavior. Server and client code can distinguish between calls based on method name, and aliased commands can also register different names, types, and numbers of parameters.

Definition at line 276 of file server.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dumpArgMap()

UniValue CRPCTable::dumpArgMap ( const JSONRPCRequest request) const

Return all named arguments that need to be converted by the client from string to another JSON type.

Definition at line 560 of file server.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ execute()

UniValue CRPCTable::execute ( const JSONRPCRequest request) const

Execute a method.

Parameters
requestThe JSONRPCRequest to execute
Returns
Result of the call.
Exceptions
anexception (UniValue) when an error happens.

Definition at line 515 of file server.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ help()

std::string CRPCTable::help ( const std::string &  name,
const JSONRPCRequest helpreq 
) const

Definition at line 88 of file server.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ listCommands()

std::vector< std::string > CRPCTable::listCommands ( ) const

Returns a list of registered commands.

Returns
List of registered commands.

Definition at line 552 of file server.cpp.

◆ removeCommand()

bool CRPCTable::removeCommand ( const std::string &  name,
const CRPCCommand pcmd 
)

Definition at line 283 of file server.cpp.

Member Data Documentation

◆ mapCommands

std::map<std::string, std::vector<const CRPCCommand*> > CRPCTable::mapCommands
private

Definition at line 135 of file server.h.


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