1 // Copyright (c) 2009-2018 The Bitcoin Core developers
2 // Distributed under the MIT software license, see the accompanying
3 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 
5 #ifndef BITCOIN_RPC_REGISTER_H
6 #define BITCOIN_RPC_REGISTER_H
7 
8 /** These are in one header file to avoid creating tons of single-function
9  * headers for everything under src/rpc/ */
10 class CRPCTable;
11 
12 /** Register block chain RPC commands */
13 void RegisterBlockchainRPCCommands(CRPCTable &tableRPC);
14 /** Register P2P networking RPC commands */
15 void RegisterNetRPCCommands(CRPCTable &tableRPC);
16 /** Register miscellaneous RPC commands */
17 void RegisterMiscRPCCommands(CRPCTable &tableRPC);
18 /** Register mining RPC commands */
19 void RegisterMiningRPCCommands(CRPCTable &tableRPC);
20 /** Register raw transaction RPC commands */
21 void RegisterRawTransactionRPCCommands(CRPCTable &tableRPC);
22 /** Register raw transaction RPC commands */
23 void RegisterSignerRPCCommands(CRPCTable &tableRPC);
24 
RegisterAllCoreRPCCommands(CRPCTable & t)25 static inline void RegisterAllCoreRPCCommands(CRPCTable &t)
26 {
27     RegisterBlockchainRPCCommands(t);
28     RegisterNetRPCCommands(t);
29     RegisterMiscRPCCommands(t);
30     RegisterMiningRPCCommands(t);
31     RegisterRawTransactionRPCCommands(t);
32 #ifdef ENABLE_EXTERNAL_SIGNER
33     RegisterSignerRPCCommands(t);
34 #endif // ENABLE_EXTERNAL_SIGNER
35 }
36 
37 #endif // BITCOIN_RPC_REGISTER_H
38