rpc: Register calls where they are defined
Split out methods to every module, apart from 'help' and 'stop' which
are implemented in rpcserver.cpp itself.
- This makes it easier to add or remove RPC commands - no longer everything that includes
rpcserver.h has to be rebuilt when there's a change there.
- Cleans up `rpc/server.h` by getting rid of the huge cluttered list of function definitions.
- Removes most of the bitcoin-specific code from rpcserver.cpp and .h.
Continues #7307 for the non-wallet.
This commit is contained in:
32
src/rpc/register.h
Normal file
32
src/rpc/register.h
Normal file
@@ -0,0 +1,32 @@
|
||||
// Copyright (c) 2009-2016 The Bitcoin Core developers
|
||||
// Distributed under the MIT software license, see the accompanying
|
||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
#ifndef BITCOIN_RPCREGISTER_H
|
||||
#define BITCOIN_RPCREGISTER_H
|
||||
|
||||
/** These are in one header file to avoid creating tons of single-function
|
||||
* headers for everything under src/rpc/ */
|
||||
class CRPCTable;
|
||||
|
||||
/** Register block chain RPC commands */
|
||||
void RegisterBlockchainRPCCommands(CRPCTable &tableRPC);
|
||||
/** Register P2P networking RPC commands */
|
||||
void RegisterNetRPCCommands(CRPCTable &tableRPC);
|
||||
/** Register miscellaneous RPC commands */
|
||||
void RegisterMiscRPCCommands(CRPCTable &tableRPC);
|
||||
/** Register mining RPC commands */
|
||||
void RegisterMiningRPCCommands(CRPCTable &tableRPC);
|
||||
/** Register raw transaction RPC commands */
|
||||
void RegisterRawTransactionRPCCommands(CRPCTable &tableRPC);
|
||||
|
||||
static inline void RegisterAllCoreRPCCommands(CRPCTable &tableRPC)
|
||||
{
|
||||
RegisterBlockchainRPCCommands(tableRPC);
|
||||
RegisterNetRPCCommands(tableRPC);
|
||||
RegisterMiscRPCCommands(tableRPC);
|
||||
RegisterMiningRPCCommands(tableRPC);
|
||||
RegisterRawTransactionRPCCommands(tableRPC);
|
||||
}
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user